summaryrefslogtreecommitdiff
path: root/include/functions.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/functions.php')
-rw-r--r--include/functions.php112
1 files changed, 112 insertions, 0 deletions
diff --git a/include/functions.php b/include/functions.php
index 28be5cbe5..89a1d7847 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -7644,4 +7644,116 @@
}
}
+
+ 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;
+
+ }
?>