Browse Source

remove feedbrowser (other feeds)

Andrew Dolgov 1 year ago
parent
commit
0b74db5ad7
5 changed files with 1 additions and 231 deletions
  1. 1 54
      classes/feeds.php
  2. 0 14
      classes/rpc.php
  3. 0 50
      classes/rssutils.php
  4. 0 106
      include/feedbrowser.php
  5. 0 7
      update.php

+ 1 - 54
classes/feeds.php

@@ -6,7 +6,7 @@ class Feeds extends Handler_Protected {
     private $params;
 
     function csrf_ignore($method) {
-		$csrf_ignored = array("index", "feedbrowser", "quickaddfeed", "search");
+		$csrf_ignored = array("index", "quickaddfeed", "search");
 
 		return array_search($method, $csrf_ignored) !== false;
 	}
@@ -707,65 +707,12 @@ class Feeds extends Handler_Protected {
 		print "<button dojoType='dijit.form.Button' class='alt-primary' type='submit' 
 				onclick=\"return dijit.byId('feedAddDlg').execute()\">".__('Subscribe')."</button>";
 
-		if (!(defined('_DISABLE_FEED_BROWSER') && _DISABLE_FEED_BROWSER)) {
-			print "<button dojoType='dijit.form.Button' onclick=\"return CommonDialogs.feedBrowser()\">".__('More feeds')."</button>";
-		}
-
 		print "<button dojoType='dijit.form.Button' onclick=\"return dijit.byId('feedAddDlg').hide()\">".__('Cancel')."</button>";
 		print "</footer>";
 
 		print "</form>";
 	}
 
-	function feedBrowser() {
-		if (defined('_DISABLE_FEED_BROWSER') && _DISABLE_FEED_BROWSER) return;
-
-		$browser_search = $_REQUEST["search"];
-
-		print_hidden("op", "rpc");
-		print_hidden("method", "updateFeedBrowser");
-
-		print "<div dojoType=\"dijit.Toolbar\">
-			<div style='float : right'>
-			<img style='display : none'
-				id='feed_browser_spinner' src='images/indicator_white.gif'>
-			<input name='search' dojoType='dijit.form.TextBox' size='20' type='search'
-				onchange=\"dijit.byId('feedBrowserDlg').update()\" value=\"$browser_search\">
-			<button dojoType='dijit.form.Button' onclick=\"dijit.byId('feedBrowserDlg').update()\">".__('Search')."</button>
-		</div>";
-
-		print " <select name='mode' dojoType='dijit.form.Select' onchange=\"dijit.byId('feedBrowserDlg').update()\">
-			<option value='1'>" . __('Popular feeds') . "</option>
-			<option value='2'>" . __('Feed archive') . "</option>
-			</select> ";
-
-		print __("limit:");
-
-		print " <select dojoType='dijit.form.Select' name='limit' onchange=\"dijit.byId('feedBrowserDlg').update()\">";
-
-		foreach (array(25, 50, 100, 200) as $l) {
-			//$issel = ($l == $limit) ? "selected=\"1\"" : "";
-			print "<option value=\"$l\">$l</option>";
-		}
-
-		print "</select> ";
-
-		print "</div>";
-
-		require_once "feedbrowser.php";
-
-		print "<ul class='browseFeedList' id='browseFeedList'>";
-		print make_feed_browser("", 25);
-		print "</ul>";
-
-		print "<footer class='text-center'>
-			<button dojoType='dijit.form.Button' type='submit' class='alt-primary' onclick=\"dijit.byId('feedBrowserDlg').execute()\">".__('Subscribe')."</button>
-			<button dojoType='dijit.form.Button' style='display : none' id='feed_archive_remove' onclick=\"dijit.byId('feedBrowserDlg').removeFromArchive()\">".__('Remove')."</button>
-			<button dojoType='dijit.form.Button' onclick=\"dijit.byId('feedBrowserDlg').hide()\" >".__('Cancel')."</button>
-		</footer>";
-
-	}
-
 	function search() {
 		$this->params = explode(":", $_REQUEST["param"], 2);
 

+ 0 - 14
classes/rpc.php

@@ -347,20 +347,6 @@ class RPC extends Handler_Protected {
 		print "</ul>";
 	}
 
-	function updateFeedBrowser() {
-		if (defined('_DISABLE_FEED_BROWSER') && _DISABLE_FEED_BROWSER) return;
-
-		$search = clean($_REQUEST["search"]);
-		$limit = clean($_REQUEST["limit"]);
-		$mode = (int) clean($_REQUEST["mode"]);
-
-		require_once "feedbrowser.php";
-
-		print json_encode(array("content" =>
-			make_feed_browser($search, $limit, $mode),
-				"mode" => $mode));
-	}
-
 	// Silent
 	function massSubscribe() {
 

+ 0 - 50
classes/rssutils.php

@@ -19,53 +19,6 @@ class RSSUtils {
 		return preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $str);
 	}
 
-	static function update_feedbrowser_cache() {
-
-		$pdo = Db::pdo();
-
-		$sth = $pdo->query("SELECT feed_url, site_url, title, COUNT(id) AS subscribers
-			FROM ttrss_feeds WHERE feed_url NOT IN (SELECT feed_url FROM ttrss_feeds
-				WHERE private IS true OR auth_login != '' OR auth_pass != '' OR feed_url LIKE '%:%@%/%')
-				GROUP BY feed_url, site_url, title ORDER BY subscribers DESC LIMIT 1000");
-
-		$pdo->beginTransaction();
-
-		$pdo->query("DELETE FROM ttrss_feedbrowser_cache");
-
-		$count = 0;
-
-		while ($line = $sth->fetch()) {
-
-			$subscribers = $line["subscribers"];
-			$feed_url = $line["feed_url"];
-			$title = $line["title"];
-			$site_url = $line["site_url"];
-
-			$tmph = $pdo->prepare("SELECT subscribers FROM
-				ttrss_feedbrowser_cache WHERE feed_url = ?");
-			$tmph->execute([$feed_url]);
-
-			if (!$tmph->fetch()) {
-
-				$tmph = $pdo->prepare("INSERT INTO ttrss_feedbrowser_cache
-					(feed_url, site_url, title, subscribers)
-					VALUES
-					(?, ?, ?, ?)");
-
-				$tmph->execute([$feed_url, $site_url, $title, $subscribers]);
-
-				++$count;
-
-			}
-
-		}
-
-		$pdo->commit();
-
-		return $count;
-
-	}
-
 	static function update_daemon_common($limit = DAEMON_FEED_LIMIT) {
 		$schema_version = get_schema_version();
 
@@ -1542,9 +1495,6 @@ class RSSUtils {
 		RSSUtils::expire_error_log();
 		RSSUtils::expire_feed_archive();
 
-		$count = RSSUtils::update_feedbrowser_cache();
-		Debug::log("Feedbrowser updated, $count feeds processed.");
-
 		Article::purge_orphans();
 		RSSUtils::cleanup_counters_cache();
 

+ 0 - 106
include/feedbrowser.php

@@ -1,106 +0,0 @@
-<?php
-	function make_feed_browser($search, $limit, $mode = 1) {
-
-		if (defined('_DISABLE_FEED_BROWSER') && _DISABLE_FEED_BROWSER) return;
-
-		$rv = '';
-
-        $pdo = Db::pdo();
-
-		if ($search) {
-            $search = $pdo->quote($search);
-
-            $search_qpart = "AND (UPPER(feed_url) LIKE UPPER('%$search%') OR
-						UPPER(title) LIKE UPPER('%$search%'))";
-		} else {
-			$search_qpart = "";
-		}
-
-		if ($mode == 1) {
-			$sth = $pdo->prepare("SELECT feed_url, site_url, title, SUM(subscribers) AS subscribers FROM
-						(SELECT feed_url, site_url, title, subscribers FROM ttrss_feedbrowser_cache UNION ALL
-							SELECT feed_url, site_url, title, subscribers FROM ttrss_linked_feeds) AS qqq
-						WHERE
-							(SELECT COUNT(id) = 0 FROM ttrss_feeds AS tf
-								WHERE tf.feed_url = qqq.feed_url
-									AND owner_uid = ?) $search_qpart
-						GROUP BY feed_url, site_url, title ORDER BY subscribers DESC LIMIT " . (int)$limit);
-			$sth->execute([$_SESSION['uid']]);
-
-		} else if ($mode == 2) {
-			$sth = $pdo->prepare("SELECT *,
-						(SELECT COUNT(*) FROM ttrss_user_entries WHERE
-					 		orig_feed_id = ttrss_archived_feeds.id) AS articles_archived
-						FROM
-							ttrss_archived_feeds
-						WHERE
-						(SELECT COUNT(*) FROM ttrss_feeds
-							WHERE ttrss_feeds.feed_url = ttrss_archived_feeds.feed_url AND
-								owner_uid = :uid) = 0	AND
-						owner_uid = :uid $search_qpart
-						ORDER BY id DESC LIMIT " . (int)$limit);
-
-			$sth->execute([":uid" => $_SESSION['uid']]);
-		}
-
-		$feedctr = 0;
-
-		while ($line = $sth->fetch()) {
-
-			if ($mode == 1) {
-
-				$feed_url = htmlspecialchars($line["feed_url"]);
-				$site_url = htmlspecialchars($line["site_url"]);
-				$subscribers = $line["subscribers"];
-
-				$check_box = "<input onclick='Lists.onRowChecked(this)'
-							dojoType=\"dijit.form.CheckBox\"
-							type=\"checkbox\" \">";
-
-				$site_url = "<a target=\"_blank\" rel=\"noopener noreferrer\"
-							href=\"$site_url\">
-							<span class=\"fb_feedTitle\">".
-				htmlspecialchars($line["title"])."</span></a>";
-
-				$feed_url = "<a target=\"_blank\" rel=\"noopener noreferrer\" class=\"fb_feedUrl\"
-							href=\"$feed_url\"><i class='icon-syndicate material-icons'>rss_feed</i></a>";
-
-				$rv .= "<li>$check_box $feed_url $site_url".
-							"&nbsp;<span class='subscribers'>($subscribers)</span></li>";
-
-			} else if ($mode == 2) {
-				$feed_url = htmlspecialchars($line["feed_url"]);
-				$site_url = htmlspecialchars($line["site_url"]);
-
-				$check_box = "<input onclick='Lists.onRowChecked(this)' dojoType=\"dijit.form.CheckBox\"
-							type=\"checkbox\">";
-
-				if ($line['articles_archived'] > 0) {
-					$archived = sprintf(_ngettext("%d archived article", "%d archived articles", (int) $line['articles_archived']), $line['articles_archived']);
-					$archived = "&nbsp;<span class='subscribers'>($archived)</span>";
-				} else {
-					$archived = '';
-				}
-
-				$site_url = "<a target=\"_blank\" rel=\"noopener noreferrer\"
-							href=\"$site_url\">
-							<span class=\"fb_feedTitle\">".
-				htmlspecialchars($line["title"])."</span></a>";
-
-				$feed_url = "<a target=\"_blank\" rel=\"noopener noreferrer\" class=\"fb_feedUrl\"
-							href=\"$feed_url\"><i class='icon-syndicate material-icons'>rss_feed</i></a>";
-
-
-				$rv .= "<li id=\"FBROW-".$line["id"]."\">".
-							"$check_box $feed_url $site_url $archived</li>";
-			}
-
-			++$feedctr;
-		}
-
-		if ($feedctr == 0) {
-			$rv .= "<li style=\"text-align : center\"><p>".__('No feeds found.')."</p></li>";
-		}
-
-		return $rv;
-	}

+ 0 - 7
update.php

@@ -22,7 +22,6 @@
 	init_plugins();
 
 	$longopts = array("feeds",
-			"feedbrowser",
 			"daemon",
 			"daemon-loop",
 			"task:",
@@ -78,7 +77,6 @@
 		print "Tiny Tiny RSS data update script.\n\n";
 		print "Options:\n";
 		print "  --feeds              - update feeds\n";
-		print "  --feedbrowser        - update feedbrowser\n";
 		print "  --daemon             - start single-process update daemon\n";
 		print "  --task N             - create lockfile using this task id\n";
 		print "  --cleanup-tags       - perform tags table maintenance\n";
@@ -181,11 +179,6 @@
 		PluginHost::getInstance()->run_hooks(PluginHost::HOOK_UPDATE_TASK, "hook_update_task", $op);
 	}
 
-	if (isset($options["feedbrowser"])) {
-		$count = RSSUtils::update_feedbrowser_cache();
-		print "Finished, $count feeds processed.\n";
-	}
-
 	if (isset($options["daemon"])) {
 		while (true) {
 			$quiet = (isset($options["quiet"])) ? "--quiet" : "";