tt-rss/modules/pref-feed-browser.php

195 lines
6 KiB
PHP
Raw Normal View History

2006-10-01 12:19:39 +02:00
<?php
function module_pref_feed_browser($link) {
if (!ENABLE_FEED_BROWSER) {
2007-08-10 18:16:43 +02:00
print __("Feed browser is administratively disabled.");
2006-10-01 12:19:39 +02:00
return;
}
$subop = $_REQUEST["subop"];
if ($subop == "details") {
$id = db_escape_string($_GET["id"]);
print "<div class=\"browserFeedInfo\">";
2007-08-10 18:16:43 +02:00
print "<b>".__('Feed information:')."</b>";
2006-10-01 12:19:39 +02:00
$result = db_query($link, "SELECT
feed_url,site_url,
".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated
2008-01-27 11:58:03 +01:00
FROM ttrss_feeds WHERE id = '$id' AND
auth_login = '' AND auth_pass = '' AND private IS NOT true
AND feed_url NOT LIKE '%:%@%/%'");
2006-10-01 12:19:39 +02:00
2008-01-27 11:58:03 +01:00
if (db_num_rows($result) == 1) {
2006-10-01 12:19:39 +02:00
print "<div class=\"detailsPart\">";
2008-01-27 11:58:03 +01:00
$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>), ".
2008-01-27 11:58:03 +01:00
__("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
2008-01-27 11:58:03 +01:00
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>" .
2008-01-27 11:58:03 +01:00
"&nbsp;<span class=\"insensitive\">($entry_dt)</span></li>";
}
print "</ul></div>";
}
} else {
print "<p>".__("Feed not found.")."</p>";
2006-10-01 12:19:39 +02:00
}
print "</div>";
return;
}
2007-05-04 05:26:20 +02:00
set_pref($link, "_PREFS_ACTIVE_TAB", "feedBrowser");
2006-10-01 12:19:39 +02:00
$limit = db_escape_string($_GET["limit"]);
if (!$limit) $limit = 25;
$owner_uid = $_SESSION["uid"];
2009-01-16 10:39:02 +01:00
/* $result = db_query($link, "SELECT feed_url,COUNT(id) AS subscribers
2006-10-01 12:19:39 +02:00
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
2009-01-16 10:39:02 +01:00
ORDER BY subscribers DESC LIMIT $limit"); */
2009-01-16 12:20:14 +01:00
$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>";
2009-01-16 10:39:02 +01:00
$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
2009-01-16 10:42:56 +01:00
AND owner_uid = '$owner_uid') ORDER BY subscribers DESC LIMIT $limit");
2006-10-01 12:19:39 +02:00
2007-11-30 09:14:44 +01:00
print "<br/>";
2006-10-01 12:19:39 +02:00
print "<div style=\"float : right\">
2007-03-09 19:12:31 +01:00
".__('Top')." <select id=\"feedBrowserLimit\">";
2006-10-01 12:19:39 +02:00
foreach (array(25, 50, 100, 200) as $l) {
2006-10-01 12:19:39 +02:00
$issel = ($l == $limit) ? "selected" : "";
print "<option $issel>$l</option>";
}
print "</select>
<input type=\"submit\" class=\"button\"
onclick=\"updateBigFeedBrowserBtn()\" value=\"".__('Show')."\">
2006-10-01 12:19:39 +02:00
</div>";
2008-08-14 07:52:04 +02:00
if (db_num_rows($result) > 0) {
2006-10-01 12:19:39 +02:00
2008-08-14 07:52:04 +02:00
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 = $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);
2006-10-01 12:19:39 +02:00
2008-08-14 07:52:04 +02:00
$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>&nbsp;" .
"<span class='subscribers'>($subscribers)</span>";
2006-10-01 12:19:39 +02:00
2008-08-14 07:52:04 +02:00
print "<div class=\"browserDetails\" style=\"display : none\" id=\"BRDET-" . $details["id"] . "\">";
print "</div>";
print "</li>";
2006-10-01 12:19:39 +02:00
++$feedctr;
2008-08-14 07:52:04 +02:00
}
print "</ul>";
2006-10-01 12:19:39 +02:00
}
if ($feedctr == 0) {
2009-01-16 12:20:14 +01:00
print_notice(__("Couldn't find any feeds available for subscription."));
2006-10-01 12:19:39 +02:00
}
print "</div>";
}
?>