summaryrefslogtreecommitdiffstats
path: root/ajax/setitemstatus.php
diff options
context:
space:
mode:
Diffstat (limited to 'ajax/setitemstatus.php')
-rw-r--r--ajax/setitemstatus.php53
1 files changed, 53 insertions, 0 deletions
diff --git a/ajax/setitemstatus.php b/ajax/setitemstatus.php
new file mode 100644
index 000000000..1d1849a5b
--- /dev/null
+++ b/ajax/setitemstatus.php
@@ -0,0 +1,53 @@
+<?php
+/**
+* ownCloud - News app
+*
+* @author Alessandro Cosentino
+* Copyright (c) 2012 - Alessandro Cosentino <cosenal@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();
+
+$itemId = $_POST['itemId'];
+$status = $_POST['status'];
+
+$itemMapper = new OCA\News\ItemMapper();
+$item = $itemMapper->find($itemId);
+
+switch ($status) {
+ case 'read':
+ $item->setRead();
+ break;
+ case 'unread':
+ $item->setUnread();
+ break;
+ case 'important':
+ $item->setImportant();
+ break;
+ case 'unimportant':
+ $item->setUnimportant();
+ break;
+ default:
+ break;
+}
+
+$success = $itemMapper->update($item);
+
+$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);
+ exit();
+}
+
+//TODO: replace the following with a real success case. see contact/ajax/createaddressbook.php for inspirations
+OCP\JSON::success(array('data' => array('itemId' => $itemId )));
+