From 55c7f0923eac50ec31c4fa13cc1156e84c209b5f Mon Sep 17 00:00:00 2001
From: Andrew Dolgov <fox@madoka.volgo-balt.ru>
Date: Mon, 24 Dec 2012 15:58:29 +0400
Subject: [PATCH] split feedbrowser into a separate file

---
 classes/dlg.php         |   2 +
 classes/rpc.php         |   2 +
 include/feedbrowser.php | 112 ++++++++++++++++++++++++++++++++++++++++
 include/functions.php   | 111 ---------------------------------------
 4 files changed, 116 insertions(+), 111 deletions(-)
 create mode 100644 include/feedbrowser.php

diff --git a/classes/dlg.php b/classes/dlg.php
index 09f7cc387..3a980ec8b 100644
--- a/classes/dlg.php
+++ b/classes/dlg.php
@@ -338,6 +338,8 @@ class Dlg extends Handler_Protected {
 
 		$owner_uid = $_SESSION["uid"];
 
+		require_once "feedbrowser.php";
+
 		print "<ul class='browseFeedList' id='browseFeedList'>";
 		print make_feed_browser($this->link, $search, 25);
 		print "</ul>";
diff --git a/classes/rpc.php b/classes/rpc.php
index 08efbcffc..9ed05bae7 100644
--- a/classes/rpc.php
+++ b/classes/rpc.php
@@ -457,6 +457,8 @@ class RPC extends Handler_Protected {
 		$limit = db_escape_string($_REQUEST["limit"]);
 		$mode = (int) db_escape_string($_REQUEST["mode"]);
 
+		require_once "feedbrowser.php";
+
 		print json_encode(array("content" =>
 			make_feed_browser($this->link, $search, $limit, $mode),
 				"mode" => $mode));
diff --git a/include/feedbrowser.php b/include/feedbrowser.php
new file mode 100644
index 000000000..002e2511f
--- /dev/null
+++ b/include/feedbrowser.php
@@ -0,0 +1,112 @@
+<?
+	function make_feed_browser($link, $search, $limit, $mode = 1) {
+
+		$owner_uid = $_SESSION["uid"];
+		$rv = '';
+
+		if ($search) {
+			$search_qpart = "AND (UPPER(feed_url) LIKE UPPER('%$search%') OR
+						UPPER(title) LIKE UPPER('%$search%'))";
+		} else {
+			$search_qpart = "";
+		}
+
+		if ($mode == 1) {
+			/* $result = db_query($link, "SELECT feed_url, subscribers FROM
+			 ttrss_feedbrowser_cache WHERE (SELECT COUNT(id) = 0 FROM ttrss_feeds AS tf
+			WHERE tf.feed_url = ttrss_feedbrowser_cache.feed_url
+			AND owner_uid = '$owner_uid') $search_qpart
+			ORDER BY subscribers DESC LIMIT $limit"); */
+
+			$result = db_query($link, "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 = '$owner_uid') $search_qpart
+						GROUP BY feed_url, site_url, title ORDER BY subscribers DESC LIMIT $limit");
+
+		} else if ($mode == 2) {
+			$result = db_query($link, "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 = '$owner_uid') = 0	AND
+						owner_uid = '$owner_uid' $search_qpart
+						ORDER BY id DESC LIMIT $limit");
+		}
+
+		$feedctr = 0;
+
+		while ($line = db_fetch_assoc($result)) {
+
+			if ($mode == 1) {
+
+				$feed_url = htmlspecialchars($line["feed_url"]);
+				$site_url = htmlspecialchars($line["site_url"]);
+				$subscribers = $line["subscribers"];
+
+				$check_box = "<input onclick='toggleSelectListRow2(this)'
+							dojoType=\"dijit.form.CheckBox\"
+							type=\"checkbox\" \">";
+
+				$class = ($feedctr % 2) ? "even" : "odd";
+
+				$site_url = "<a target=\"_blank\"
+							href=\"$site_url\">
+							<span class=\"fb_feedTitle\">".
+				htmlspecialchars($line["title"])."</span></a>";
+
+				$feed_url = "<a target=\"_blank\" class=\"fb_feedUrl\"
+							href=\"$feed_url\"><img src='images/feed-icon-12x12.png'
+							style='vertical-align : middle'></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"]);
+				$title = htmlspecialchars($line["title"]);
+
+				$check_box = "<input onclick='toggleSelectListRow2(this)' dojoType=\"dijit.form.CheckBox\"
+							type=\"checkbox\">";
+
+				$class = ($feedctr % 2) ? "even" : "odd";
+
+				if ($line['articles_archived'] > 0) {
+					$archived = sprintf(__("%d archived articles"), $line['articles_archived']);
+					$archived = "&nbsp;<span class='subscribers'>($archived)</span>";
+				} else {
+					$archived = '';
+				}
+
+				$site_url = "<a target=\"_blank\"
+							href=\"$site_url\">
+							<span class=\"fb_feedTitle\">".
+				htmlspecialchars($line["title"])."</span></a>";
+
+				$feed_url = "<a target=\"_blank\" class=\"fb_feedUrl\"
+							href=\"$feed_url\"><img src='images/feed-icon-12x12.png'
+							style='vertical-align : middle'></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;
+	}
+?>
diff --git a/include/functions.php b/include/functions.php
index bf38a4538..14b3af517 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -4798,117 +4798,6 @@
 		}
 	}
 
-	function make_feed_browser($link, $search, $limit, $mode = 1) {
-
-		$owner_uid = $_SESSION["uid"];
-		$rv = '';
-
-		if ($search) {
-			$search_qpart = "AND (UPPER(feed_url) LIKE UPPER('%$search%') OR
-						UPPER(title) LIKE UPPER('%$search%'))";
-		} else {
-			$search_qpart = "";
-		}
-
-		if ($mode == 1) {
-			/* $result = db_query($link, "SELECT feed_url, subscribers FROM
-			 ttrss_feedbrowser_cache WHERE (SELECT COUNT(id) = 0 FROM ttrss_feeds AS tf
-			WHERE tf.feed_url = ttrss_feedbrowser_cache.feed_url
-			AND owner_uid = '$owner_uid') $search_qpart
-			ORDER BY subscribers DESC LIMIT $limit"); */
-
-			$result = db_query($link, "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 = '$owner_uid') $search_qpart
-						GROUP BY feed_url, site_url, title ORDER BY subscribers DESC LIMIT $limit");
-
-		} else if ($mode == 2) {
-			$result = db_query($link, "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 = '$owner_uid') = 0	AND
-						owner_uid = '$owner_uid' $search_qpart
-						ORDER BY id DESC LIMIT $limit");
-		}
-
-		$feedctr = 0;
-
-		while ($line = db_fetch_assoc($result)) {
-
-			if ($mode == 1) {
-
-				$feed_url = htmlspecialchars($line["feed_url"]);
-				$site_url = htmlspecialchars($line["site_url"]);
-				$subscribers = $line["subscribers"];
-
-				$check_box = "<input onclick='toggleSelectListRow2(this)'
-							dojoType=\"dijit.form.CheckBox\"
-							type=\"checkbox\" \">";
-
-				$class = ($feedctr % 2) ? "even" : "odd";
-
-				$site_url = "<a target=\"_blank\"
-							href=\"$site_url\">
-							<span class=\"fb_feedTitle\">".
-				htmlspecialchars($line["title"])."</span></a>";
-
-				$feed_url = "<a target=\"_blank\" class=\"fb_feedUrl\"
-							href=\"$feed_url\"><img src='images/feed-icon-12x12.png'
-							style='vertical-align : middle'></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"]);
-				$title = htmlspecialchars($line["title"]);
-
-				$check_box = "<input onclick='toggleSelectListRow2(this)' dojoType=\"dijit.form.CheckBox\"
-							type=\"checkbox\">";
-
-				$class = ($feedctr % 2) ? "even" : "odd";
-
-				if ($line['articles_archived'] > 0) {
-					$archived = sprintf(__("%d archived articles"), $line['articles_archived']);
-					$archived = "&nbsp;<span class='subscribers'>($archived)</span>";
-				} else {
-					$archived = '';
-				}
-
-				$site_url = "<a target=\"_blank\"
-							href=\"$site_url\">
-							<span class=\"fb_feedTitle\">".
-				htmlspecialchars($line["title"])."</span></a>";
-
-				$feed_url = "<a target=\"_blank\" class=\"fb_feedUrl\"
-							href=\"$feed_url\"><img src='images/feed-icon-12x12.png'
-							style='vertical-align : middle'></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;
-	}
-
 	if (!function_exists('gzdecode')) {
 		function gzdecode($string) { // no support for 2nd argument
 			return file_get_contents('compress.zlib://data:who/cares;base64,'.
-- 
GitLab