diff options
author | Andrew Dolgov <[email protected]> | 2009-01-24 06:01:17 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2009-01-24 06:01:17 +0100 |
commit | c2913898f1f56548d457073dbaa03c77ddc6d0d9 (patch) | |
tree | 10b37a0ddaccc4b77bbeff06daed4759a6d90336 /modules | |
parent | b56465dd56772efb80ef251d8d19f7177b244d57 (diff) |
use popup feedbrowser for main UI (2)
Diffstat (limited to 'modules')
-rw-r--r-- | modules/backend-rpc.php | 17 | ||||
-rw-r--r-- | modules/pref-feeds.php | 44 |
2 files changed, 48 insertions, 13 deletions
diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php index b26304c2b..855d54aa7 100644 --- a/modules/backend-rpc.php +++ b/modules/backend-rpc.php @@ -503,6 +503,23 @@ return; } + if ($subop == "feedBrowser") { + + $search = db_escape_string($_REQUEST["search"]); + $limit = db_escape_string($_REQUEST["limit"]); + + print "<rpc-reply>"; + print "<content>"; + print "<![CDATA["; + $ctr = print_feed_browser($link, $search, $limit); + print "]]>"; + print "</content>"; + print "<num-results value=\"$ctr\"/>"; + print "</rpc-reply>"; + + return; + } + print "<rpc-reply><error>Unknown method: $subop</error></rpc-reply>"; } ?> diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php index 0bdaf4e55..6c80d69a3 100644 --- a/modules/pref-feeds.php +++ b/modules/pref-feeds.php @@ -64,33 +64,41 @@ print "<div class=\"infoBoxContents\">"; - $browser_search = db_escape_string($_GET["search"]); - if (array_key_exists("search", $_GET)) { - $_SESSION["feed_browser_search"] = $browser_search; - } else { - $browser_search = $_SESSION["feed_browser_search"]; - } - //print "<p>".__("Showing top 25 registered feeds, sorted by popularity:")."</p>"; - print "<input id=\"feed_browser_search\" size=\"20\" type=\"search\" + + print " + <div style='float : right'> + <input id=\"feed_browser_search\" size=\"20\" type=\"search\" onfocus=\"javascript:disableHotkeys();\" onblur=\"javascript:enableHotkeys();\" onchange=\"javascript:updateFeedBrowser()\" value=\"$browser_search\"> <input type=\"submit\" class=\"button\" - onclick=\"javascript:updateFeedBrowser()\" value=\"".__('Search')."\">"; + onclick=\"javascript:updateFeedBrowser()\" value=\"".__('Search')."\"> + </div>"; + + print __('Top')." <select id=\"feed_browser_limit\">"; + + foreach (array(25, 50, 100, 200) as $l) { + $issel = ($l == $limit) ? "selected" : ""; + print "<option $issel>$l</option>"; + } + + print "</select> + <input type=\"submit\" class=\"button\" + onclick=\"updateFeedBrowser()\" value=\"".__('Show')."\">"; print "<p>"; $owner_uid = $_SESSION["uid"]; print "<ul class='browseFeedList' id='browseFeedList'>"; - $subscribe_btn_disabled = print_feed_browser($link, $search, $limit) == 0 ? "disabled" : ""; + $subscribe_btn_disabled = print_feed_browser($link, $search, 25) == 0 ? "disabled" : ""; print "</ul>"; print "<div align='center'> - <input type=\"submit\" class=\"button\" + <input type=\"submit\" class=\"button\" id=\"feed_browser_subscribe\" $subscribe_btn_disabled onclick=\"feedBrowserSubscribe()\" value=\"".__('Subscribe')."\"> <input type='submit' class='button' @@ -1433,10 +1441,20 @@ function print_feed_browser($link, $search, $limit) { + $owner_uid = $_SESSION["uid"]; + + if ($search) { + $search_qpart = "AND (UPPER(feed_url) LIKE UPPER('%$search%') OR + UPPER(title) LIKE UPPER('%$search%'))"; + } else { + $search_qpart = ""; + } + $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') ORDER BY subscribers DESC LIMIT 25"); + WHERE tf.feed_url = ttrss_feedbrowser_cache.feed_url + AND owner_uid = '$owner_uid') $search_qpart + ORDER BY subscribers DESC LIMIT $limit"); $feedctr = 0; |