diff options
author | Bernhard Posselt <nukeawhale@gmail.com> | 2012-08-13 03:01:11 +0200 |
---|---|---|
committer | Bernhard Posselt <nukeawhale@gmail.com> | 2012-08-13 03:01:11 +0200 |
commit | 6c327bd5f8cdbebf45c6aa87f2d54f3dd26663a2 (patch) | |
tree | ad191891100d39c528bed77eb08a2e4b5573c5b1 /ajax | |
parent | 7efe48d3d7d746b62ea8daf19edf8b3542520bb7 (diff) |
new layout and design for feed items, mark all as read is now faster because it uses an own ajax request, css and javascript refactor, the titlebar is now only loaded once
Diffstat (limited to 'ajax')
-rw-r--r-- | ajax/loadfeed.php | 18 | ||||
-rw-r--r-- | ajax/setallitemsread.php | 41 | ||||
-rw-r--r-- | ajax/setitemstatus.php | 2 |
3 files changed, 51 insertions, 10 deletions
diff --git a/ajax/loadfeed.php b/ajax/loadfeed.php index 992e65019..020f7a706 100644 --- a/ajax/loadfeed.php +++ b/ajax/loadfeed.php @@ -17,19 +17,19 @@ OCP\JSON::callCheck(); $userid = OCP\USER::getUser(); -$feedid = trim($_POST['feedid']); +$feedId = trim($_POST['feedId']); $l = OC_L10N::get('news'); -$tmpl_items = new OCP\Template("news", "part.items"); -$tmpl_items->assign('feedid', $feedid); -$part_items = $tmpl_items->fetchPage(); +$itemsTpl = new OCP\Template("news", "part.items"); +$itemsTpl->assign('feedid', $feedId); +$feedItems = $itemsTpl->fetchPage(); -$tmpl_items_header = new OCP\Template("news", "part.items.header"); -$tmpl_items_header->assign('feedid', $feedid); -$items_header = $tmpl_items_header->fetchPage(); +$feedMapper = new OCA\News\FeedMapper(); +$feed = $feedMapper->findById($feedId); +$feedTitle = $feed->getTitle(); OCP\JSON::success(array('data' => array( 'message' => $l->t('Feed loaded!'), - 'items_header' => $items_header, - 'part_items' => $part_items ))); + 'feedTitle' => $feedTitle, + 'feedItems' => $feedItems ))); diff --git a/ajax/setallitemsread.php b/ajax/setallitemsread.php new file mode 100644 index 000000000..4c1876b50 --- /dev/null +++ b/ajax/setallitemsread.php @@ -0,0 +1,41 @@ +<?php +/** +* ownCloud - News app +* +* @author Bernhard Posselt +* Copyright (c) 2012 - Bernhard Posselt <nukeawhale@gmail.com> +* +* This file is licensed under the Affero General Public License version 3 or later. +* See the COPYING-README file +* +*/ + +// Check if we are a user +OCP\JSON::checkLoggedIn(); +OCP\JSON::checkAppEnabled('news'); +OCP\JSON::callCheck(); + +$feedId = $_POST['feedId']; + +$itemMapper = new OCA\News\ItemMapper(); +$items = $itemMapper->findAllStatus($feedId, OCA\News\StatusFlag::Unread); + +// FIXME: maybe there is a way to set all items read in the +// FeedMapper instead of iterating through every item and updating as +// necessary +foreach($items as $item){ + $item->setRead(); + $success = $itemMapper->update($item); +} + +$l = OC_L10N::get('news'); + +if(!$success) { + OCP\JSON::error(array('data' => array('message' => $l->t('Error setting all items as read.')))); + OCP\Util::writeLog('news','ajax/setallitemsread.php: Error setting all items as read of feed '. $feedId, OCP\Util::ERROR); + exit(); +} + +//TODO: replace the following with a real success case. see contact/ajax/createaddressbook.php for inspirations +OCP\JSON::success(array('data' => array('feedId' => $feedId ))); + diff --git a/ajax/setitemstatus.php b/ajax/setitemstatus.php index 1d1849a5b..03dff7d94 100644 --- a/ajax/setitemstatus.php +++ b/ajax/setitemstatus.php @@ -44,7 +44,7 @@ $l = OC_L10N::get('news'); if(!$success) { OCP\JSON::error(array('data' => array('message' => $l->t('Error marking item as read.')))); - OCP\Util::writeLog('news','ajax/markitem.php: Error setting itemstatus to '. $status .': '.$_POST['itemid'], OCP\Util::ERROR); + OCP\Util::writeLog('news','ajax/setitemstatus.php: Error setting itemstatus to '. $status .': '.$_POST['itemid'], OCP\Util::ERROR); exit(); } |