diff options
author | Andrew Dolgov <[email protected]> | 2011-08-31 22:33:15 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2011-08-31 22:33:15 +0400 |
commit | b1a4b0e98fe6303e956bdb332960642ff6d1a24d (patch) | |
tree | 5f73d4f41dc3b72065421f7a9a0fe0628afd7c1a /modules/backend-rpc.php | |
parent | 87085cc848577670f7ddf461a3def68abdf59423 (diff) |
use caching for unexpanded CDM
Diffstat (limited to 'modules/backend-rpc.php')
-rw-r--r-- | modules/backend-rpc.php | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php index dff12aa5a..6c0abf715 100644 --- a/modules/backend-rpc.php +++ b/modules/backend-rpc.php @@ -786,27 +786,35 @@ // TODO: unify with digest-get-contents? if ($subop == "cdmGetArticle") { - $id = db_escape_string($_REQUEST["id"]); + $ids = array(db_escape_string($_REQUEST["id"])); + $cids = explode(",", $_REQUEST["cids"]); - $result = db_query($link, "SELECT content, - ttrss_feeds.site_url AS site_url FROM ttrss_user_entries, ttrss_feeds, - ttrss_entries - WHERE feed_id = ttrss_feeds.id AND ref_id = '$id' AND - ttrss_entries.id = ref_id AND - ttrss_user_entries.owner_uid = ".$_SESSION["uid"]); + $ids = array_merge($ids, $cids); - if (db_num_rows($result) != 0) { - $line = db_fetch_assoc($result); + $rv = array(); - $article_content = sanitize_rss($link, $line["content"], - false, false, $line['site_url']); + foreach ($ids as $id) { + $id = (int)$id; - } else { - $article_content = ''; + $result = db_query($link, "SELECT content, + ttrss_feeds.site_url AS site_url FROM ttrss_user_entries, ttrss_feeds, + ttrss_entries + WHERE feed_id = ttrss_feeds.id AND ref_id = '$id' AND + ttrss_entries.id = ref_id AND + ttrss_user_entries.owner_uid = ".$_SESSION["uid"]); + + if (db_num_rows($result) != 0) { + $line = db_fetch_assoc($result); + + $article_content = sanitize_rss($link, $line["content"], + false, false, $line['site_url']); + + array_push($rv, + array("id" => $id, "content" => $article_content)); + } } - print json_encode(array("article" => - array("id" => $id, "content" => $article_content))); + print json_encode($rv); return; } |