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". + " <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 = " <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". - " <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 = " <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