if ($subop == "getfeedtree") {
+ $search = $_SESSION["prefs_feed_search"];
+
+ if ($search) $search_qpart = " AND LOWER(title) LIKE LOWER('%$search%')";
+
$root = array();
$root['id'] = 'root';
$root['name'] = __('Feeds');
".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated
FROM ttrss_feeds
WHERE cat_id = '".$line['id']."' AND owner_uid = ".$_SESSION["uid"].
- " ORDER BY order_id, title");
+ "$search_qpart ORDER BY order_id, title");
while ($feed_line = db_fetch_assoc($feed_result)) {
$feed = array();
array_push($cat['items'], $feed);
}
- array_push($root['items'], $cat);
+ if (count($cat['items']) > 0)
+ array_push($root['items'], $cat);
}
/* Uncategorized is a special case */
".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated
FROM ttrss_feeds
WHERE cat_id IS NULL AND owner_uid = ".$_SESSION["uid"].
- " ORDER BY order_id, title");
+ "$search_qpart ORDER BY order_id, title");
while ($feed_line = db_fetch_assoc($feed_result)) {
$feed = array();
array_push($cat['items'], $feed);
}
- array_push($root['items'], $cat);
+ if (count($cat['items']) > 0)
+ array_push($root['items'], $cat);
+
} else {
$feed_result = db_query($link, "SELECT id, title, last_error,
".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated
FROM ttrss_feeds
WHERE owner_uid = ".$_SESSION["uid"].
- " ORDER BY order_id, title");
+ "$search_qpart ORDER BY order_id, title");
while ($feed_line = db_fetch_assoc($feed_result)) {
$feed = array();
regExp='^(http|https)://.*' style=\"width : 20em\"
name=\"feed_url\" value=\"$feed_url\">";
+ $last_error = db_fetch_result($result, 0, "last_error");
+
+ if ($last_error) {
+ print " <span title=\"".htmlspecialchars($last_error)."\"
+ class=\"feed_error\">(error)</span>";
+
+ }
+
/* Category */
if (get_pref($link, 'ENABLE_FEED_CATS')) {
print "<div class='dlgButtons'>
<div style=\"float : left\">
<button dojoType=\"dijit.form.Button\" onclick='return unsubscribeFeed($feed_id, \"$title\")'>".
- __('Unsubscribe')."</button>
- </div>
- <button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('feedEditDlg').execute()\">".__('Save')."</button>
+ __('Unsubscribe')."</button>";
+
+ $pubsub_state = db_fetch_result($result, 0, "pubsub_state");
+
+ $pubsub_btn_disabled = ($pubsub_state == 2) ? "" : "disabled=\"1\"";
+
+ print "<button dojoType=\"dijit.form.Button\" id=\"pubsubReset_Btn\" $pubsub_btn_disabled
+ onclick='return resetPubSub($feed_id, \"$title\")'>".__('Resubscribe to push updates').
+ "</button>";
+
+ print "</div>";
+
+ print "<div dojoType=\"dijit.Tooltip\" connectId=\"pubsubReset_Btn\" position=\"below\">".
+ __('Resets PubSubHubbub subscription status for push-enabled feeds.')."</div>";
+
+ print "<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('feedEditDlg').execute()\">".__('Save')."</button>
<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('feedEditDlg').hide()\">".__('Cancel')."</button>
</div>";
return;
}
+ if ($subop == "resetPubSub") {
+
+ $ids = db_escape_string($_REQUEST["ids"]);
+
+ db_query($link, "UPDATE ttrss_feeds SET pubsub_state = 0 WHERE id IN ($ids)
+ AND owner_uid = " . $_SESSION["uid"]);
+
+ return;
+ }
+
if ($subop == "remove") {
$ids = split(",", db_escape_string($_REQUEST["ids"]));
print "<div dojoType=\"dijit.Toolbar\">";
+ print "<div style='float : right; padding-right : 4px;'>
+ <input dojoType=\"dijit.form.TextBox\" id=\"feed_search\" size=\"20\" type=\"search\"
+ onchange=\"updateFeedList()\" value=\"$feed_search\">
+ <button dojoType=\"dijit.form.Button\" onclick=\"updateFeedList()\">".
+ __('Search')."</button>
+ </div>";
+
print "<div dojoType=\"dijit.form.DropDownButton\">".
"<span>" . __('Select')."</span>";
print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">";
}
if ($mode == 1) {
- $result = db_query($link, "SELECT feed_url, subscribers FROM
+ /* $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");
+ ORDER BY subscribers DESC LIMIT $limit"); */
+
+ $result = db_query($link, "SELECT feed_url, title, SUM(subscribers) AS subscribers FROM
+ (SELECT feed_url, title, subscribers FROM ttrss_feedbrowser_cache UNION ALL
+ SELECT feed_url, title, subscribers FROM ttrss_linked_feeds) AS qqq
+ WHERE
+ (SELECT COUNT(id) = 0 FROM ttrss_feeds AS tf
+ WHERE tf.feed_url = qqq.feed_url
+ AND owner_uid = '$owner_uid') $search_qpart
+ GROUP BY feed_url, title ORDER BY subscribers DESC LIMIT $limit");
+
} else if ($mode == 2) {
$result = db_query($link, "SELECT *,
(SELECT COUNT(*) FROM ttrss_user_entries WHERE
$site_url = "";
}
- $feed_url = "<a target=\"_blank\" href=\"$feed_url\"><img
+ $feed_url = "<a class=\"fb_feedUrl\" target=\"_blank\"
+ href=\"$feed_url\"><img
style='border-width : 0px; vertical-align : middle'
src='images/feed-icon-12x12.png'></a>";
- $rv .= "<li title=\"".htmlspecialchars($details["site_url"])."\"
- id=\"FBROW-".$details["id"]."\">$check_box".
- "$feed_icon $feed_url " . htmlspecialchars($details["title"]) .
+ $rv .= "<li title=\"".htmlspecialchars($details["site_url"])."\">
+ $check_box".
+ "$feed_icon $feed_url " .
+ "<span class=\"fb_feedTitle\">".htmlspecialchars($line["title"]).
+ "</span>".
" <span class='subscribers'>($subscribers)</span>
$site_url</li>";