diff --git a/examples/api_client.php b/examples/api_client.php index 6f41c39..f8e1ec0 100644 --- a/examples/api_client.php +++ b/examples/api_client.php @@ -24,7 +24,7 @@ print_r($result); $result = $client->execute('feed.delete', array('feed_id' => $feed_id)); var_dump($result); -$result = $client->execute('item.list_unread'); +$result = $client->execute('item.list_read'); print_r($result); $result = $client->execute('item.list_unread', array('offset' => 5, 'limit' => 2)); @@ -37,4 +37,6 @@ if (count($result)) { } $result = $client->execute('item.bookmark.list'); -print_r($result); \ No newline at end of file +print_r($result); + +var_dump($client->execute('item.set_list_status', array('status' => 'read', 'items' => array('57cdb841', '8ef6744e')))); diff --git a/jsonrpc.php b/jsonrpc.php index cabbb00..73532fe 100644 --- a/jsonrpc.php +++ b/jsonrpc.php @@ -139,6 +139,12 @@ $server->register('item.mark_as_unread', function($item_id) { return Model\set_item_unread($item_id); }); +// Change the status of list of items +$server->register('item.set_list_status', function($status, array $items) { + + return Model\set_items_status($status, $items); +}); + // Flush all read items $server->register('item.flush', function() { diff --git a/model.php b/model.php index 2578a05..63ef4e8 100644 --- a/model.php +++ b/model.php @@ -602,6 +602,17 @@ function set_item_unread($id) } +function set_items_status($status, array $items) +{ + if (! in_array($status, array('read', 'unread', 'removed'))) return false; + + return \PicoTools\singleton('db') + ->table('items') + ->in('id', $items) + ->save(array('status' => $status)); +} + + function set_bookmark_value($id, $value) { return \PicoTools\singleton('db')