summaryrefslogtreecommitdiff
path: root/classes/api.php
diff options
context:
space:
mode:
authorRichard Beales <[email protected]>2013-03-18 07:32:01 +0000
committerRichard Beales <[email protected]>2013-03-18 07:32:01 +0000
commit7c97d17aaf373339a8bcd917ad59ca6018148f0d (patch)
tree5a3c04f0f9529be392c1263d3feb75806eb43797 /classes/api.php
parent70db7424e7068701e60cc5bcdfe8f858be508179 (diff)
parentc670a80ddd9b03bd4ea6d940a9ed682fd26248d7 (diff)
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'classes/api.php')
-rw-r--r--classes/api.php41
1 files changed, 24 insertions, 17 deletions
diff --git a/classes/api.php b/classes/api.php
index a23f20ae2..74464821f 100644
--- a/classes/api.php
+++ b/classes/api.php
@@ -109,10 +109,10 @@ class API extends Handler {
function getFeeds() {
$cat_id = db_escape_string($_REQUEST["cat_id"]);
- $unread_only = (bool)db_escape_string($_REQUEST["unread_only"]);
+ $unread_only = sql_bool_to_bool($_REQUEST["unread_only"]);
$limit = (int) db_escape_string($_REQUEST["limit"]);
$offset = (int) db_escape_string($_REQUEST["offset"]);
- $include_nested = (bool)db_escape_string($_REQUEST["include_nested"]);
+ $include_nested = sql_bool_to_bool($_REQUEST["include_nested"]);
$feeds = $this->api_get_feeds($this->link, $cat_id, $unread_only, $limit, $offset, $include_nested);
@@ -120,8 +120,8 @@ class API extends Handler {
}
function getCategories() {
- $unread_only = (bool)db_escape_string($_REQUEST["unread_only"]);
- $enable_nested = (bool)db_escape_string($_REQUEST["enable_nested"]);
+ $unread_only = sql_bool_to_bool($_REQUEST["unread_only"]);
+ $enable_nested = sql_bool_to_bool($_REQUEST["enable_nested"]);
// TODO do not return empty categories, return Uncategorized and standard virtual cats
@@ -180,14 +180,14 @@ class API extends Handler {
$offset = (int)db_escape_string($_REQUEST["skip"]);
$filter = db_escape_string($_REQUEST["filter"]);
- $is_cat = (bool)db_escape_string($_REQUEST["is_cat"]);
- $show_excerpt = (bool)db_escape_string($_REQUEST["show_excerpt"]);
- $show_content = (bool)db_escape_string($_REQUEST["show_content"]);
+ $is_cat = sql_bool_to_bool($_REQUEST["is_cat"]);
+ $show_excerpt = sql_bool_to_bool($_REQUEST["show_excerpt"]);
+ $show_content = sql_bool_to_bool($_REQUEST["show_content"]);
/* all_articles, unread, adaptive, marked, updated */
$view_mode = db_escape_string($_REQUEST["view_mode"]);
- $include_attachments = (bool)db_escape_string($_REQUEST["include_attachments"]);
+ $include_attachments = sql_bool_to_bool($_REQUEST["include_attachments"]);
$since_id = (int)db_escape_string($_REQUEST["since_id"]);
- $include_nested = (bool)db_escape_string($_REQUEST["include_nested"]);
+ $include_nested = sql_bool_to_bool($_REQUEST["include_nested"]);
$sanitize_content = true;
/* do not rely on params below */
@@ -219,12 +219,15 @@ class API extends Handler {
switch ($field_raw) {
case 0:
$field = "marked";
+ $additional_fields = ",last_marked = NOW()";
break;
case 1:
$field = "published";
+ $additional_fields = ",last_published = NOW()";
break;
case 2:
$field = "unread";
+ $additional_fields = ",last_read = NOW()";
break;
case 3:
$field = "note";
@@ -248,14 +251,7 @@ class API extends Handler {
$article_ids = join(", ", $article_ids);
- if ($field == "unread") {
- $result = db_query($this->link, "UPDATE ttrss_user_entries SET $field = $set_to,
- last_read = NOW()
- WHERE ref_id IN ($article_ids) AND owner_uid = " . $_SESSION["uid"]);
- } else {
- $result = db_query($this->link, "UPDATE ttrss_user_entries SET $field = $set_to
- WHERE ref_id IN ($article_ids) AND owner_uid = " . $_SESSION["uid"]);
- }
+ $result = db_query($this->link, "UPDATE ttrss_user_entries SET $field = $set_to $additional_fields WHERE ref_id IN ($article_ids) AND owner_uid = " . $_SESSION["uid"]);
$num_updated = db_affected_rows($this->link, $result);
@@ -268,6 +264,17 @@ class API extends Handler {
}
}
+ if ($num_updated > 0 && $field == "published") {
+ if (PUBSUBHUBBUB_HUB) {
+ $rss_link = get_self_url_prefix() .
+ "/public.php?op=rss&id=-2&key=" .
+ get_feed_access_key($this->link, -2, false);
+
+ $p = new Publisher(PUBSUBHUBBUB_HUB);
+ $pubsub_result = $p->publish_update($rss_link);
+ }
+ }
+
print $this->wrap(self::STATUS_OK, array("status" => "OK",
"updated" => $num_updated));