X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=plugins%2Finstances%2Finit.php;h=b23f45a0184331a15ee0637dedb8878eedfc2b65;hb=27f7b59353a076120407d8873ea86f5eea7d1dcf;hp=6e8d43e9bdf73f2354727ac8396e9e5756428a76;hpb=62a1f9899ebfc099720a75a7ff0476c86034d45d;p=tt-rss.git diff --git a/plugins/instances/init.php b/plugins/instances/init.php index 6e8d43e9..b23f45a0 100644 --- a/plugins/instances/init.php +++ b/plugins/instances/init.php @@ -1,7 +1,5 @@ link = $host->get_link(); $this->host = $host; $host->add_hook($host::HOOK_PREFS_TABS, $this); @@ -30,7 +27,7 @@ class Instances extends Plugin implements IHandler { function hook_update_task($args) { _debug("Get linked feeds..."); - $this->get_linked_feeds($this->link); + $this->get_linked_feeds(); } // Status codes: @@ -40,7 +37,7 @@ class Instances extends Plugin implements IHandler { // 2 - did not receive valid data // >10 - server error, code + 10 (e.g. 16 means server error 6) - function get_linked_feeds($link, $instance_id = false) { + function get_linked_feeds($instance_id = false) { if ($instance_id) $instance_qpart = "id = '$instance_id' AND "; else @@ -52,7 +49,7 @@ class Instances extends Plugin implements IHandler { $date_qpart = "last_connected < DATE_SUB(NOW(), INTERVAL 6 HOUR)"; } - $result = db_query($link, "SELECT id, access_key, access_url FROM ttrss_linked_instances + $result = db_query("SELECT id, access_key, access_url FROM ttrss_linked_instances WHERE $instance_qpart $date_qpart ORDER BY last_connected"); while ($line = db_fetch_assoc($result)) { @@ -80,7 +77,7 @@ class Instances extends Plugin implements IHandler { // access denied if ($status == 16) { - db_query($link, "DELETE FROM ttrss_linked_feeds + db_query("DELETE FROM ttrss_linked_feeds WHERE instance_id = '$id'"); } } else { @@ -88,16 +85,16 @@ class Instances extends Plugin implements IHandler { if (count($feeds['feeds']) > 0) { - db_query($link, "DELETE FROM ttrss_linked_feeds + db_query("DELETE FROM ttrss_linked_feeds WHERE instance_id = '$id'"); foreach ($feeds['feeds'] as $feed) { - $feed_url = db_escape_string($this->link, $feed['feed_url']); - $title = db_escape_string($this->link, $feed['title']); - $subscribers = db_escape_string($this->link, $feed['subscribers']); - $site_url = db_escape_string($this->link, $feed['site_url']); + $feed_url = db_escape_string($feed['feed_url']); + $title = db_escape_string($feed['title']); + $subscribers = db_escape_string($feed['subscribers']); + $site_url = db_escape_string($feed['site_url']); - db_query($link, "INSERT INTO ttrss_linked_feeds + db_query("INSERT INTO ttrss_linked_feeds (feed_url, site_url, title, subscribers, instance_id, created, updated) VALUES ('$feed_url', '$site_url', '$title', '$subscribers', '$id', NOW(), NOW())"); @@ -122,7 +119,7 @@ class Instances extends Plugin implements IHandler { _debug("Status: $status"); - db_query($link, "UPDATE ttrss_linked_instances SET + db_query("UPDATE ttrss_linked_instances SET last_status_out = '$status', last_connected = NOW() WHERE id = '$id'"); } @@ -130,7 +127,7 @@ class Instances extends Plugin implements IHandler { function get_feeds() { - $this->get_linked_feeds($this->link, false); + $this->get_linked_feeds(false); } function get_prefs_js() { @@ -167,37 +164,37 @@ class Instances extends Plugin implements IHandler { } function remove() { - $ids = db_escape_string($this->link, $_REQUEST['ids']); + $ids = db_escape_string($_REQUEST['ids']); - db_query($this->link, "DELETE FROM ttrss_linked_instances WHERE + db_query("DELETE FROM ttrss_linked_instances WHERE id IN ($ids)"); } function add() { - $id = db_escape_string($this->link, $_REQUEST["id"]); - $access_url = db_escape_string($this->link, $_REQUEST["access_url"]); - $access_key = db_escape_string($this->link, $_REQUEST["access_key"]); + $id = db_escape_string($_REQUEST["id"]); + $access_url = db_escape_string($_REQUEST["access_url"]); + $access_key = db_escape_string($_REQUEST["access_key"]); - db_query($this->link, "BEGIN"); + db_query("BEGIN"); - $result = db_query($this->link, "SELECT id FROM ttrss_linked_instances + $result = db_query("SELECT id FROM ttrss_linked_instances WHERE access_url = '$access_url'"); if (db_num_rows($result) == 0) { - db_query($this->link, "INSERT INTO ttrss_linked_instances + db_query("INSERT INTO ttrss_linked_instances (access_url, access_key, last_connected, last_status_in, last_status_out) VALUES ('$access_url', '$access_key', '1970-01-01', -1, -1)"); } - db_query($this->link, "COMMIT"); + db_query("COMMIT"); } function edit() { - $id = db_escape_string($this->link, $_REQUEST["id"]); + $id = db_escape_string($_REQUEST["id"]); - $result = db_query($this->link, "SELECT * FROM ttrss_linked_instances WHERE + $result = db_query("SELECT * FROM ttrss_linked_instances WHERE id = '$id'"); print ""; @@ -253,11 +250,11 @@ class Instances extends Plugin implements IHandler { } function editSave() { - $id = db_escape_string($this->link, $_REQUEST["id"]); - $access_url = db_escape_string($this->link, $_REQUEST["access_url"]); - $access_key = db_escape_string($this->link, $_REQUEST["access_key"]); + $id = db_escape_string($_REQUEST["id"]); + $access_url = db_escape_string($_REQUEST["access_url"]); + $access_key = db_escape_string($_REQUEST["access_key"]); - db_query($this->link, "UPDATE ttrss_linked_instances SET + db_query("UPDATE ttrss_linked_instances SET access_key = '$access_key', access_url = '$access_url', last_connected = '1970-01-01' WHERE id = '$id'"); @@ -277,7 +274,7 @@ class Instances extends Plugin implements IHandler { print "
"; - $sort = db_escape_string($this->link, $_REQUEST["sort"]); + $sort = db_escape_string($_REQUEST["sort"]); if (!$sort || $sort == "undefined") { $sort = "access_url"; @@ -298,7 +295,7 @@ class Instances extends Plugin implements IHandler { print "
"; #toolbar - $result = db_query($this->link, "SELECT *, + $result = db_query("SELECT *, (SELECT COUNT(*) FROM ttrss_linked_feeds WHERE instance_id = ttrss_linked_instances.id) AS num_feeds FROM ttrss_linked_instances @@ -327,7 +324,7 @@ class Instances extends Plugin implements IHandler { $id = $line['id']; $this_row_id = "id=\"LIRR-$id\""; - $line["last_connected"] = make_local_datetime($this->link, $line["last_connected"], false); + $line["last_connected"] = make_local_datetime($line["last_connected"], false); print ""; @@ -354,8 +351,7 @@ class Instances extends Plugin implements IHandler { print ""; #pane - global $pluginhost; - $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB, + PluginHost::getInstance()->run_hooks(PluginHost::HOOK_PREFS_TAB, "hook_prefs_tab", "prefInstances"); print ""; #container @@ -364,17 +360,17 @@ class Instances extends Plugin implements IHandler { function fbexport() { - $access_key = db_escape_string($this->link, $_POST["key"]); + $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 + $result = db_query("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 + $result = db_query("SELECT feed_url, site_url, title, subscribers FROM ttrss_feedbrowser_cache ORDER BY subscribers DESC LIMIT 100"); $feeds = array(); @@ -383,15 +379,74 @@ class Instances extends Plugin implements IHandler { array_push($feeds, $line); } - db_query($this->link, "UPDATE ttrss_linked_instances SET + db_query("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))); + print error_json(6); } } + function addInstance() { + print ""; + print ""; + + print "
".__("Instance")."
"; + + print "
"; + + /* URL */ + + print __("URL:") . " "; + + print ""; + + print "
"; + + $access_key = uniqid(rand(), true); + + /* Access key */ + + print __("Access key:") . " "; + + print ""; + + print "

" . __("Use one access key for both linked instances."); + + print "

"; + + print "
+
+ +
+ +
"; + + return; + } + + function genHash() { + $hash = uniqid(base_convert(rand(), 10, 36)); + + print json_encode(array("hash" => $hash)); + } + + function api_version() { + return 2; + } } ?>