diff options
-rw-r--r-- | backend.php | 52 | ||||
-rw-r--r-- | prefs.js | 8 | ||||
-rw-r--r-- | tt-rss.css | 14 |
3 files changed, 74 insertions, 0 deletions
diff --git a/backend.php b/backend.php index e92317680..7b0594660 100644 --- a/backend.php +++ b/backend.php @@ -1501,6 +1501,56 @@ $subop = $_REQUEST["subop"]; $quiet = $_REQUEST["quiet"]; + if ($subop == "browse") { + + print "<div class=\"infoBoxContents\">"; + + print "<h1>Feed browser</h1>"; + + print "<p>Showing top 50 registered feeds, sorted by popularity:</p>"; + + $result = db_query($link, "SELECT feed_url,count(id) AS subscribers + FROM ttrss_feeds WHERE auth_login = '' AND auth_pass = '' + GROUP BY feed_url ORDER BY subscribers LIMIT 50"); + + print "<ul class='browseFeedList' id='browseFeedList'>"; + + while ($line = db_fetch_assoc($result)) { + $feed_url = $line["feed_url"]; + $subscribers = $line["subscribers"]; + + $det_result = db_query($link, "SELECT site_url,title,id + FROM ttrss_feeds WHERE feed_url = '$feed_url' LIMIT 1"); + + $details = db_fetch_assoc($det_result); + + $icon_file = ICONS_DIR . "/" . $details["id"] . ".ico"; + + if (file_exists($icon_file) && filesize($icon_file) > 0) { + $feed_icon = "<img class=\"tinyFeedIcon\" src=\"" . ICONS_URL . + "/".$details["id"].".ico\">"; + } else { + $feed_icon = "<img class=\"tinyFeedIcon\" src=\"images/blank_icon.gif\">"; + } + + $check_box = "<input class='feedBrowseCB' type=\"checkbox\" id=\"BFCHK-" . $details["id"] . "\">"; + + print "<li>$check_box $feed_icon" . $details["title"] . + " <span class='subscribers'>($subscribers)</span></li>"; + } + + print "</ul>"; + + print "<div align='center'> + <input type='submit' class='button' + onclick=\"closeInfoBox()\" value=\"Cancel\"> + <input type=\"submit\" class=\"button\" + onclick=\"feedBrowserSubscribe()\" value=\"Subscribe\"></div>"; + + print "</div>"; + return; + } + if ($subop == "editfeed") { $feed_id = db_escape_string($_GET["id"]); @@ -1895,6 +1945,8 @@ size=\"40\"> <input type=\"submit\" class=\"button\" onclick=\"javascript:addFeed()\" value=\"Add feed\"> + + (<a href='javascript:browseFeeds()'>Browse feeds</a>) </td><td align='right'> <input id=\"feed_search\" size=\"20\" onchange=\"javascript:updateFeedList()\" @@ -1285,3 +1285,11 @@ function categorizeSelectedFeeds() { function validatePrefsReset() { return confirm("Reset to defaults?"); } + +function browseFeeds() { + + xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=browse", true); + xmlhttp.onreadystatechange=infobox_callback; + xmlhttp.send(null); + +} diff --git a/tt-rss.css b/tt-rss.css index b0c7bdcd6..3bd621066 100644 --- a/tt-rss.css +++ b/tt-rss.css @@ -922,3 +922,17 @@ ul.userFeedList { overflow : auto; list-style-type : none; } + +ul.browseFeedList { + height : 300px; + overflow : auto; + list-style-type : none; +} + +span.subscribers { + color : #808080; +} + +input.feedBrowseCB { + margin-right : 1em; +} |