From ebff9ef7c65054c2cda3b0baac550654abf285c8 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 24 Dec 2012 15:48:54 +0400 Subject: instances: add fbexport method --- plugins/instances/instances.php | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'plugins') 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))); + } + } + + } ?> -- cgit v1.2.3