]> git.wh0rd.org - tt-rss.git/blame - include/feedbrowser.php
split feedbrowser into a separate file
[tt-rss.git] / include / feedbrowser.php
CommitLineData
55c7f092
AD
1<?
2 function make_feed_browser($link, $search, $limit, $mode = 1) {
3
4 $owner_uid = $_SESSION["uid"];
5 $rv = '';
6
7 if ($search) {
8 $search_qpart = "AND (UPPER(feed_url) LIKE UPPER('%$search%') OR
9 UPPER(title) LIKE UPPER('%$search%'))";
10 } else {
11 $search_qpart = "";
12 }
13
14 if ($mode == 1) {
15 /* $result = db_query($link, "SELECT feed_url, subscribers FROM
16 ttrss_feedbrowser_cache WHERE (SELECT COUNT(id) = 0 FROM ttrss_feeds AS tf
17 WHERE tf.feed_url = ttrss_feedbrowser_cache.feed_url
18 AND owner_uid = '$owner_uid') $search_qpart
19 ORDER BY subscribers DESC LIMIT $limit"); */
20
21 $result = db_query($link, "SELECT feed_url, site_url, title, SUM(subscribers) AS subscribers FROM
22 (SELECT feed_url, site_url, title, subscribers FROM ttrss_feedbrowser_cache UNION ALL
23 SELECT feed_url, site_url, title, subscribers FROM ttrss_linked_feeds) AS qqq
24 WHERE
25 (SELECT COUNT(id) = 0 FROM ttrss_feeds AS tf
26 WHERE tf.feed_url = qqq.feed_url
27 AND owner_uid = '$owner_uid') $search_qpart
28 GROUP BY feed_url, site_url, title ORDER BY subscribers DESC LIMIT $limit");
29
30 } else if ($mode == 2) {
31 $result = db_query($link, "SELECT *,
32 (SELECT COUNT(*) FROM ttrss_user_entries WHERE
33 orig_feed_id = ttrss_archived_feeds.id) AS articles_archived
34 FROM
35 ttrss_archived_feeds
36 WHERE
37 (SELECT COUNT(*) FROM ttrss_feeds
38 WHERE ttrss_feeds.feed_url = ttrss_archived_feeds.feed_url AND
39 owner_uid = '$owner_uid') = 0 AND
40 owner_uid = '$owner_uid' $search_qpart
41 ORDER BY id DESC LIMIT $limit");
42 }
43
44 $feedctr = 0;
45
46 while ($line = db_fetch_assoc($result)) {
47
48 if ($mode == 1) {
49
50 $feed_url = htmlspecialchars($line["feed_url"]);
51 $site_url = htmlspecialchars($line["site_url"]);
52 $subscribers = $line["subscribers"];
53
54 $check_box = "<input onclick='toggleSelectListRow2(this)'
55 dojoType=\"dijit.form.CheckBox\"
56 type=\"checkbox\" \">";
57
58 $class = ($feedctr % 2) ? "even" : "odd";
59
60 $site_url = "<a target=\"_blank\"
61 href=\"$site_url\">
62 <span class=\"fb_feedTitle\">".
63 htmlspecialchars($line["title"])."</span></a>";
64
65 $feed_url = "<a target=\"_blank\" class=\"fb_feedUrl\"
66 href=\"$feed_url\"><img src='images/feed-icon-12x12.png'
67 style='vertical-align : middle'></a>";
68
69 $rv .= "<li>$check_box $feed_url $site_url".
70 "&nbsp;<span class='subscribers'>($subscribers)</span></li>";
71
72 } else if ($mode == 2) {
73 $feed_url = htmlspecialchars($line["feed_url"]);
74 $site_url = htmlspecialchars($line["site_url"]);
75 $title = htmlspecialchars($line["title"]);
76
77 $check_box = "<input onclick='toggleSelectListRow2(this)' dojoType=\"dijit.form.CheckBox\"
78 type=\"checkbox\">";
79
80 $class = ($feedctr % 2) ? "even" : "odd";
81
82 if ($line['articles_archived'] > 0) {
83 $archived = sprintf(__("%d archived articles"), $line['articles_archived']);
84 $archived = "&nbsp;<span class='subscribers'>($archived)</span>";
85 } else {
86 $archived = '';
87 }
88
89 $site_url = "<a target=\"_blank\"
90 href=\"$site_url\">
91 <span class=\"fb_feedTitle\">".
92 htmlspecialchars($line["title"])."</span></a>";
93
94 $feed_url = "<a target=\"_blank\" class=\"fb_feedUrl\"
95 href=\"$feed_url\"><img src='images/feed-icon-12x12.png'
96 style='vertical-align : middle'></a>";
97
98
99 $rv .= "<li id=\"FBROW-".$line["id"]."\">".
100 "$check_box $feed_url $site_url $archived</li>";
101 }
102
103 ++$feedctr;
104 }
105
106 if ($feedctr == 0) {
107 $rv .= "<li style=\"text-align : center\"><p>".__('No feeds found.')."</p></li>";
108 }
109
110 return $rv;
111 }
112?>