summaryrefslogtreecommitdiffstats
path: root/ajax
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2012-08-13 03:01:11 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2012-08-13 03:01:11 +0200
commit6c327bd5f8cdbebf45c6aa87f2d54f3dd26663a2 (patch)
treead191891100d39c528bed77eb08a2e4b5573c5b1 /ajax
parent7efe48d3d7d746b62ea8daf19edf8b3542520bb7 (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.php18
-rw-r--r--ajax/setallitemsread.php41
-rw-r--r--ajax/setitemstatus.php2
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();
}