return;
}
- print "<div id=\"infoBoxTitle\">".__('Other feeds: Top 25')."</div>";
+ print "<div id=\"infoBoxTitle\">".__('Feed Browser')."</div>";
print "<div class=\"infoBoxContents\">";
- print "<p>".__("Showing top 25 registered feeds, sorted by popularity:")."</p>";
+ $browser_search = db_escape_string($_GET["search"]);
- $owner_uid = $_SESSION["uid"];
+ //print "<p>".__("Showing top 25 registered feeds, sorted by popularity:")."</p>";
- $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 owner_uid = '$owner_uid') GROUP BY feed_url
- ORDER BY subscribers DESC LIMIT 25");
+ 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')."\">
+ </div>";
- print "<ul class='browseFeedList' id='browseFeedList'>";
+ print __('Top')." <select id=\"feed_browser_limit\">";
- $feedctr = 0;
+ foreach (array(25, 50, 100, 200) as $l) {
+ $issel = ($l == $limit) ? "selected" : "";
+ print "<option $issel>$l</option>";
+ }
- while ($line = db_fetch_assoc($result)) {
- $feed_url = $line["feed_url"];
- $subscribers = $line["subscribers"];
+ print "</select>
+ <input type=\"submit\" class=\"button\"
+ onclick=\"updateFeedBrowser()\" value=\"".__('Show')."\">";
- $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 onclick='toggleSelectListRow(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 " . $details["title"] .
- " <span class='subscribers'>($subscribers)</span></li>";
-
- ++$feedctr;
- }
+ print "<p>";
- if ($feedctr == 0) {
- print "<li style=\"text-align : center\"><p>".__('No feeds found.')."</p></li>";
- $subscribe_btn_disabled = "disabled";
- } else {
- $subscribe_btn_disabled = "";
- }
+ $owner_uid = $_SESSION["uid"];
+ print "<ul class='browseFeedList' id='browseFeedList'>";
+ $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'
print_select_hash("update_method", $update_method, $update_methods);
}
- /* Purge intl */
+ $purge_interval = db_fetch_result($result, 0, "purge_interval");
- print "<br/>";
+ if (FORCE_ARTICLE_PURGE == 0) {
- $purge_interval = db_fetch_result($result, 0, "purge_interval");
+ /* Purge intl */
+
+ print "<br/>";
+
+ print __('Article purging:') . " ";
+
+ print_select_hash("purge_interval", $purge_interval, $purge_intervals);
- print __('Article purging:') . " ";
+ } else {
+ print "<input type='hidden' name='purge_interval' value='$purge_interval'>";
- print_select_hash("purge_interval", $purge_interval, $purge_intervals);
+ }
print "</div>";
print "<div class=\"dlgSec\">".__("Authentication")."</div>";
print "</form>";
+ $title = htmlspecialchars($title, ENT_QUOTES);
+
print "<div class='dlgButtons'>
<div style=\"float : left\">
<input type='submit' class='button'
/* Purge intl */
- print "<br/>";
+ if (FORCE_ARTICLE_PURGE != 0) {
- print __('Article purging:') . " ";
+ print "<br/>";
- print_select_hash("purge_interval", $purge_interval, $purge_intervals,
- "disabled");
+ print __('Article purging:') . " ";
+
+ print_select_hash("purge_interval", $purge_interval, $purge_intervals,
+ "disabled");
- batch_edit_cbox("purge_interval");
+ batch_edit_cbox("purge_interval");
+ }
print "</div>";
print "<div class=\"dlgSec\">".__("Authentication")."</div>";
if ($subop == "remove") {
- if (!WEB_DEMO_MODE) {
-
- $ids = split(",", db_escape_string($_GET["ids"]));
+ $ids = split(",", db_escape_string($_GET["ids"]));
- foreach ($ids as $id) {
+ foreach ($ids as $id) {
- if ($id > 0) {
+ if ($id > 0) {
- db_query($link, "DELETE FROM ttrss_feeds
- WHERE id = '$id' AND owner_uid = " . $_SESSION["uid"]);
+ db_query($link, "DELETE FROM ttrss_feeds
+ WHERE id = '$id' AND owner_uid = " . $_SESSION["uid"]);
- $icons_dir = ICONS_DIR;
+ $icons_dir = ICONS_DIR;
- if (file_exists($icons_dir . "/$id.ico")) {
- unlink($icons_dir . "/$id.ico");
- }
- } else if ($id < -10) {
-
- $label_id = -$id - 11;
-
- db_query($link, "DELETE FROM ttrss_labels
- WHERE id = '$label_id' AND owner_uid = " . $_SESSION["uid"]);
+ if (file_exists($icons_dir . "/$id.ico")) {
+ unlink($icons_dir . "/$id.ico");
}
+ } else {
+ label_remove($link, -11-$id, $_SESSION["uid"]);
}
}
}
if ($p_from != 'tt-rss') {
print "<html>
<head>
- <title>Tiny Tiny RSS - Subscribe to feed...</title>
- <link rel=\"stylesheet\" type=\"text/css\" href=\"quicksub.css\">
+ <title>Tiny Tiny RSS</title>
+ <link rel=\"stylesheet\" type=\"text/css\" href=\"utility.css\">
</head>
<body>
- <img class=\"logo\" src=\"images/ttrss_logo.png\"
+ <img class=\"floatingLogo\" src=\"images/ttrss_logo.png\"
alt=\"Tiny Tiny RSS\"/>
- <h1>Subscribe to feed...</h1>
- <div class=\"content\">";
+ <h1>Subscribe to feed...</h1>";
}
if (subscribe_to_feed($link, $feed_url, $cat_id, $auth_login, $auth_pass)) {
$tp_uri = ($_SERVER['HTTPS'] != "on" ? 'http://' : 'https://') . $_SERVER['HTTP_HOST'] . preg_replace('/backend\.php.*$/', 'prefs.php', $_SERVER["REQUEST_URI"]);
- print "<p><a href='$tt_uri'>Return to Tiny Tiny RSS</a> |";
-
$result = db_query($link, "SELECT id FROM ttrss_feeds WHERE
feed_url = '$feed_url' AND owner_uid = " . $_SESSION["uid"]);
$feed_id = db_fetch_result($result, 0, "id");
+ print "<p>";
+
if ($feed_id) {
- print "<a href='$tp_uri?tab=feedConfig&subop=editFeed:$feed_id'>
- Edit subscription options</a> | ";
+ print "<form method=\"GET\" style='display: inline'
+ action=\"$tp_uri\">
+ <input type=\"hidden\" name=\"tab\" value=\"feedConfig\">
+ <input type=\"hidden\" name=\"subop\" value=\"editFeed\">
+ <input type=\"hidden\" name=\"subopparam\" value=\"$feed_id\">
+ <input type=\"submit\" value=\"".__("Edit subscription options")."\">
+ </form>";
}
- print "<a href='javascript:window.close()'>Close this window</a>.</p>";
+ print "<form style='display: inline' method=\"GET\" action=\"$tt_uri\">
+ <input type=\"submit\" value=\"".__("Return to Tiny Tiny RSS")."\">
+ </form></p>";
- print "</div></body></html>";
+ print "</body></html>";
return;
}
$cat_title = db_escape_string(trim($_REQUEST["value"]));
$cat_id = db_escape_string($_GET["cid"]);
-
- $result = db_query($link, "UPDATE ttrss_feed_categories SET
- title = '$cat_title' WHERE id = '$cat_id' AND owner_uid = ".$_SESSION["uid"]);
- print $_REQUEST["value"];
+ db_query($link, "BEGIN");
+
+ $result = db_query($link, "SELECT title FROM ttrss_feed_categories
+ WHERE id = '$cat_id' AND owner_uid = ".$_SESSION["uid"]);
+
+ if (db_num_rows($result) == 1) {
+
+ $old_title = db_fetch_result($result, 0, "title");
+
+ if ($cat_title != "") {
+ $result = db_query($link, "UPDATE ttrss_feed_categories SET
+ title = '$cat_title' WHERE id = '$cat_id' AND
+ owner_uid = ".$_SESSION["uid"]);
+
+ print $cat_title;
+ } else {
+ print $old_title;
+ }
+ } else {
+ print $_REQUEST["value"];
+ }
+
+ db_query($link, "COMMIT");
return;
if (ENABLE_FEED_BROWSER && !SINGLE_USER_MODE) {
print " <input type=\"submit\" class=\"button\"
id=\"top25_feeds_btn\"
- onclick=\"javascript:browseFeeds()\" value=\"".__('Top 25')."\">";
+ onclick=\"javascript:browseFeeds()\" value=\"".__('More Feeds')."\">";
}
$feeds_sort = db_escape_string($_GET["sort"]);
}
if ($hidden) {
- $edit_title = "<span class=\"insensitive\">$edit_title (Hidden)</span>";
+ $edit_title = "<span class=\"insensitive\">$edit_title ".
+ __('(Hidden)')."</span>";
$last_updated = "<span class=\"insensitive\">$last_updated</span>";
$last_article = "<span class=\"insensitive\">$last_article</span>";
}
$parent_title = $line["parent_title"];
if ($parent_title) {
- $parent_title = "<span class='groupPrompt'>(linked to
- $parent_title)</span>";
+ $linked_to = sprintf(__("(linked to %s)"), $parent_title);
+ $parent_title = "<span class='groupPrompt'>$linked_to</span>";
}
print "<td $onclick>" . "$edit_title $parent_title" . "</td>";
<option value=\"facDefault\" selected>".__('Actions...')."</option>
<option disabled>--------</option>
<option style=\"color : #5050aa\" disabled>".__('Selection:')."</option>
- <option value=\"facEdit\"> ".__('Edit')."</option>
- <option value=\"facPurge\"> ".__('Manual purge')."</option>
+ <option value=\"facEdit\"> ".__('Edit')."</option>";
+
+ if (FORCE_ARTICLE_PURGE == 0) {
+ print
+ "<option value=\"facPurge\"> ".__('Manual purge')."</option>";
+ }
+
+ print "
<option value=\"facClear\"> ".__('Clear feed data')."</option>
<option value=\"facRescore\"> ".__('Rescore articles')."</option>
<option value=\"facUnsubscribe\"> ".__('Unsubscribe')."</option>";
$url_path = article_publish_url($link);
- print "<p><a class=\"visibleLinkB\" id=\"pubGenAddress\" target=\"_blank\" href=\"$url_path\">Link to published articles feed.</a></p>";
+ print "<p><a class=\"visibleLinkB\" id=\"pubGenAddress\" target=\"_blank\" href=\"$url_path\">".__("Link to published articles feed.")."</a></p>";
print "<p><input type=\"submit\" onclick=\"return pubRegenKey()\" class=\"button\"
value=\"".__('Generate another link')."\">";
print "</p>";
}
+
+ 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') $search_qpart
+ ORDER BY subscribers DESC LIMIT $limit");
+
+ $feedctr = 0;
+
+ 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 onclick='toggleSelectListRow(this)' class='feedBrowseCB'
+ type=\"checkbox\" id=\"FBCHK-" . $details["id"] . "\">";
+
+ $class = ($feedctr % 2) ? "even" : "odd";
+
+ if ($details["site_url"]) {
+ $site_url = "<a target=\"_blank\" href=\"".$details["site_url"]."\">
+ <img style='border-width : 0px' src='images/www.png' alt='www'></a>";
+ } else {
+ $site_url = "";
+ }
+
+ print "<li class='$class' id=\"FBROW-".$details["id"]."\">$check_box".
+ "$feed_icon " . $details["title"] .
+ " <span class='subscribers'>($subscribers)</span>
+ $site_url
+ </li>";
+
+ ++$feedctr;
+ }
+
+ if ($feedctr == 0) {
+ print "<li style=\"text-align : center\"><p>".__('No feeds found.')."</p></li>";
+ }
+
+ return $feedctr;
+
+ }
?>