diff options
author | Andrew Dolgov <[email protected]> | 2012-12-24 15:48:54 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2012-12-24 15:48:54 +0400 |
commit | ebff9ef7c65054c2cda3b0baac550654abf285c8 (patch) | |
tree | ab23326fb0d7ccdf3abdedfe8844e3d0d7f4ecd6 /plugins/instances | |
parent | 7a866114e1236da92c0a35c9441903640a6bdf63 (diff) |
instances: add fbexport method
Diffstat (limited to 'plugins/instances')
-rw-r--r-- | plugins/instances/instances.php | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/plugins/instances/instances.php b/plugins/instances/instances.php index c6a5531cd..fd80ee44d 100644 --- a/plugins/instances/instances.php +++ b/plugins/instances/instances.php @@ -22,6 +22,7 @@ class Instances extends Plugin implements IHandler { $host->add_hook($host::HOOK_PREFS_TABS, $this); $host->add_handler("pref-instances", "*", $this); + $host->add_handler("public", "fbexport", $this); $host->add_command("get-feeds", "receive popular feeds from linked instances", $this); $host->add_hook($host::HOOK_UPDATE_TASK, $this); } @@ -360,6 +361,37 @@ class Instances extends Plugin implements IHandler { } + function fbexport() { + + $access_key = db_escape_string($_POST["key"]); + + // TODO: rate limit checking using last_connected + $result = db_query($this->link, "SELECT id FROM ttrss_linked_instances + WHERE access_key = '$access_key'"); + + if (db_num_rows($result) == 1) { + + $instance_id = db_fetch_result($result, 0, "id"); + + $result = db_query($this->link, "SELECT feed_url, site_url, title, subscribers + FROM ttrss_feedbrowser_cache ORDER BY subscribers DESC LIMIT 100"); + + $feeds = array(); + + while ($line = db_fetch_assoc($result)) { + array_push($feeds, $line); + } + + db_query($this->link, "UPDATE ttrss_linked_instances SET + last_status_in = 1 WHERE id = '$instance_id'"); + + print json_encode(array("feeds" => $feeds)); + } else { + print json_encode(array("error" => array("code" => 6))); + } + } + + } ?> |