+++ /dev/null
-<?php
- function module_pref_feed_browser($link) {
-
- if (!ENABLE_FEED_BROWSER) {
- print __("Feed browser is administratively disabled.");
- return;
- }
-
- $subop = $_REQUEST["subop"];
-
- if ($subop == "details") {
- $id = db_escape_string($_GET["id"]);
-
- print "<div class=\"browserFeedInfo\">";
- print "<b>".__('Feed information:')."</b>";
-
- $result = db_query($link, "SELECT
- feed_url,site_url,
- ".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated
- FROM ttrss_feeds WHERE id = '$id' AND
- auth_login = '' AND auth_pass = '' AND private IS NOT true
- AND feed_url NOT LIKE '%:%@%/%'");
-
- if (db_num_rows($result) == 1) {
-
- print "<div class=\"detailsPart\">";
-
- $feed_url = db_fetch_result($result, 0, "feed_url");
- $site_url = db_fetch_result($result, 0, "site_url");
- $last_updated = db_fetch_result($result, 0, "last_updated");
-
- if (get_pref($link, 'HEADLINES_SMART_DATE')) {
- $last_updated = smart_date_time(strtotime($last_updated));
- } else {
- $short_date = get_pref($link, 'SHORT_DATE_FORMAT');
- $last_updated = date($short_date, strtotime($last_updated));
- }
-
- print __("Site:")." <a target=\"_blank\" href='$site_url'>$site_url</a> ".
- "(<a target=\"_blank\" href='$feed_url'>feed</a>), ".
- __("Last updated:")." $last_updated";
-
- print "</div>";
-
- $result = db_query($link, "SELECT
- ttrss_entries.title,
- content,link,
- ".SUBSTRING_FOR_DATE."(date_entered,1,19) as date_entered,
- ".SUBSTRING_FOR_DATE."(updated,1,19) as updated
- FROM ttrss_entries,ttrss_user_entries
- WHERE ttrss_entries.id = ref_id AND feed_id = '$id'
- ORDER BY updated DESC LIMIT 5");
-
- if (db_num_rows($result) > 0) {
-
- print "<b>".__('Last headlines:')."</b><br>";
-
- print "<div class=\"detailsPart\">";
- print "<ul class=\"compact\">";
- while ($line = db_fetch_assoc($result)) {
-
- if (get_pref($link, 'HEADLINES_SMART_DATE')) {
- $entry_dt = smart_date_time(strtotime($line["updated"]));
- } else {
- $short_date = get_pref($link, 'SHORT_DATE_FORMAT');
- $entry_dt = date($short_date, strtotime($line["updated"]));
- }
-
- print "<li><a target=\"_blank\" href=\"" . $line["link"] . "\">" . $line["title"] . "</a>" .
- " <span class=\"insensitive\">($entry_dt)</span></li>";
- }
- print "</ul></div>";
- }
- } else {
- print "<p>".__("Feed not found.")."</p>";
- }
-
- print "</div>";
-
- return;
- }
-
- set_pref($link, "_PREFS_ACTIVE_TAB", "feedBrowser");
-
- $limit = db_escape_string($_GET["limit"]);
-
- $browser_search = db_escape_string($_GET["search"]);
-
- if (array_key_exists("search", $_GET)) {
- $_SESSION["prefs_browser_search"] = $browser_search;
- } else {
- $browser_search = $_SESSION["prefs_browser_search"];
- }
-
- if (!$limit) $limit = 25;
-
- $owner_uid = $_SESSION["uid"];
-
-/* $result = db_query($link, "SELECT feed_url,COUNT(id) AS subscribers
- FROM ttrss_feeds WHERE (SELECT COUNT(id) = 0 FROM ttrss_feeds AS tf
- WHERE tf.feed_url = ttrss_feeds.feed_url
- AND (private IS true OR feed_url LIKE '%:%@%/%' OR
- owner_uid = '$owner_uid')) GROUP BY feed_url
- ORDER BY subscribers DESC LIMIT $limit"); */
-
- $result = db_query($link, "SELECT COUNT(feed_url) AS cfu FROM
- ttrss_feedbrowser_cache");
-
- $cfu = db_fetch_result($result, 0, "cfu");
-
- if ($cfu == 0) {
- print_warning(__("Feed browser cache information is missing. Please refer to the <a class='visibleLink' target='_blank' href='http://tt-rss.org/trac/wiki/FeedBrowser'>wiki</a> for more information."));
- return;
-
- }
-
- /* print "<div class=\"insensitive\">".__('This panel shows feeds subscribed by other users of this system, just in case you are interested in them too.')."</div>"; */
-
- print "<div class=\"feedEditSearch\">
- <input id=\"feed_browser_search\" size=\"20\" type=\"search\"
- onfocus=\"javascript:disableHotkeys();\"
- onblur=\"javascript:enableHotkeys();\"
- onchange=\"javascript:updateBigFeedBrowserBtn()\" value=\"$browser_search\">
- <input type=\"submit\" class=\"button\"
- onclick=\"javascript:updateBigFeedBrowserBtn()\" value=\"".__('Search')."\">
- </div>";
-
- print "<div>
- ".__('Top')." <select id=\"feedBrowserLimit\">";
-
- 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=\"updateBigFeedBrowserBtn()\" value=\"".__('Show')."\">
- </div>";
-
- if ($browser_search) {
- $search_qpart = " AND (
- UPPER(ttrss_feedbrowser_cache.feed_url) LIKE UPPER('%$browser_search%') OR
- UPPER(title) LIKE UPPER('%$browser_search%'))";
- } else {
- $search_qpart = "";
- }
-
- $result = db_query($link, "SELECT ttrss_feedbrowser_cache.feed_url,
- subscribers,title
- 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");
-
- print "<br/>";
-
- if (db_num_rows($result) > 0) {
-
- print "<div id=\"fbrOpToolbar\">
- <input type='submit' class='button' onclick=\"feedBrowserSubscribe()\"
- disabled=\"true\" value=\"".__('Subscribe')."\"></div>";
-
- print "<ul class='nomarks' id='browseBigFeedList'>";
-
- $feedctr = 0;
-
- while ($line = db_fetch_assoc($result)) {
- $feed_url = db_escape_string($line["feed_url"]);
- $subscribers = $line["subscribers"];
-
- // mysql returns NULL records first by default
- if (DB_TYPE == "mysql") $order_fix = "DESC";
-
- $det_result = db_query($link, "SELECT site_url,title,id
- FROM ttrss_feeds WHERE feed_url = '$feed_url'
- ORDER BY last_updated $order_fix LIMIT 1");
-
- $details = db_fetch_assoc($det_result);
-
- if ($details) {
-
- $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 onclick='toggleSelectFBListRow(this)' class='feedBrowseCB'
- type=\"checkbox\" id=\"FBCHK-" . $details["id"] . "\">";
-
- $class = ($feedctr % 2) ? "even" : "odd";
-
- print "<li class='$class' id=\"FBROW-".$details["id"]."\">$check_box".
- "$feed_icon ";
-
- print "<a href=\"javascript:browserToggleExpand('".$details["id"]."')\">" .
- $details["title"] ."</a> " .
- "<span class='subscribers'>($subscribers)</span>";
-
- print "<div class=\"browserDetails\" style=\"display : none\" id=\"BRDET-" . $details["id"] . "\">";
- print "</div>";
-
- print "</li>";
-
- ++$feedctr;
- }
- }
-
- print "</ul>";
-
- }
-
- if ($feedctr == 0) {
- print_notice(__("Couldn't find any feeds available for subscription."));
- }
-
- print "</div>";
- }
-?>
updatePrefsList();
} else if (id == "userConfig") {
updateUsersList();
- } else if (id == "feedBrowser") {
- updateBigFeedBrowser();
}
}
return updateBigFeedBrowser();
}
-function updateBigFeedBrowser(limit, from_button) {
-
- if (!xmlhttp_ready(xmlhttp)) {
- printLockingError();
- return
- }
-
- var query = "backend.php?op=pref-feed-browser";
-
- var limit_sel = document.getElementById("feedBrowserLimit");
-
- if (limit_sel) {
- var limit = limit_sel[limit_sel.selectedIndex].value;
- query = query + "&limit=" + param_escape(limit);
- }
-
- var search = document.getElementById("feed_browser_search");
-
- if (search) {
- query = query + "&search=" + param_escape(search.value);
- }
-
- xmlhttp.open("GET", query, true);
- xmlhttp.onreadystatechange=feed_browser_callback;
- xmlhttp.send(null);
-}
-
-function browserToggleExpand(id) {
- try {
-/* if (feed_to_expand && feed_to_expand != id) {
- var d = document.getElementById("BRDET-" + feed_to_expand);
- d.style.display = "none";
- } */
-
- if (!xmlhttp_ready(xmlhttp)) {
- printLockingError();
- return
- }
-
-/* if (feed_to_expand && id != feed_to_expand) {
- Effect.Fade('BRDET-' + feed_to_expand, {duration : 0.5});
- } */
-
- var d = document.getElementById("BRDET-" + id);
-
- notify_progress("Loading, please wait...");
-
- if (Element.visible(d)) {
- Effect.Fade(d, {duration : 0.5});
- } else {
- feed_to_expand = id;
-
- xmlhttp.open("GET", "backend.php?op=pref-feed-browser&subop=details&id="
- + param_escape(id), true);
- xmlhttp.onreadystatechange=expand_feed_callback;
- xmlhttp.send(null);
- }
-
- } catch (e) {
- exception_error("browserToggleExpand", e);
- }
-}
-
function selectPrefRows(kind, select) {
if (kind) {
return false;
}
- if (keycode == 51 && document.getElementById("feedBrowserTab")) { // 3
- selectTab("feedBrowser");
- return false;
- }
-
- if (keycode == 52 && document.getElementById("filterConfigTab")) { // 4
+ if (keycode == 51 && document.getElementById("filterConfigTab")) { // 4
selectTab("filterConfig");
return false;
}
- if (keycode == 53 && document.getElementById("labelConfigTab")) { // 5
+ if (keycode == 52 && document.getElementById("labelConfigTab")) { // 5
selectTab("labelConfig");
return false;
}
- if (keycode == 54 && document.getElementById("userConfigTab")) { // 6
+ if (keycode == 53 && document.getElementById("userConfigTab")) { // 6
selectTab("userConfig");
return false;
}