summaryrefslogtreecommitdiffstats
path: root/ajax/setitemstatus.php
blob: 1d1849a5b7c57a5433545473b927d69fe0e3efd9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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 )));