if (sprintf("%d", $feed) != 0) {
if ($feed > 0) {
- db_query($link, "UPDATE ttrss_user_entries
- SET unread = false,last_read = NOW()
- WHERE feed_id = '$feed' AND owner_uid = " . $_SESSION["uid"]);
+
+ $tmp_result = db_query($link, "SELECT id
+ FROM ttrss_feeds WHERE parent_feed = '$feed'
+ ORDER BY cat_id,title");
+
+ $parent_ids = array();
+
+ if (db_num_rows($tmp_result) > 0) {
+ while ($p = db_fetch_assoc($tmp_result)) {
+ array_push($parent_ids, "feed_id = " . $p["id"]);
+ }
+
+ $children_qpart = implode(" OR ", $parent_ids);
+
+ db_query($link, "UPDATE ttrss_user_entries
+ SET unread = false,last_read = NOW()
+ WHERE (feed_id = '$feed' OR $children_qpart)
+ AND owner_uid = " . $_SESSION["uid"]);
+
+ } else {
+ db_query($link, "UPDATE ttrss_user_entries
+ SET unread = false,last_read = NOW()
+ WHERE feed_id = '$feed' AND owner_uid = " . $_SESSION["uid"]);
+ }
} else if ($feed < 0 && $feed > -10) { // special, like starred
print "<td class=\"headlineActions\">
Select:
<a href=\"javascript:selectTableRowsByIdPrefix('headlinesList',
- 'RROW-', 'RCHK-', true)\">All</a>,
+ 'RROW-', 'RCHK-', true, '', true)\">All</a>,
<a href=\"javascript:selectTableRowsByIdPrefix('headlinesList',
- 'RROW-', 'RCHK-', true, 'Unread')\">Unread</a>,
+ 'RROW-', 'RCHK-', true, 'Unread', true)\">Unread</a>,
<a href=\"javascript:selectTableRowsByIdPrefix('headlinesList',
'RROW-', 'RCHK-', false)\">None</a>
$subop = $_REQUEST["subop"];
$quiet = $_REQUEST["quiet"];
+ if ($subop == "browse") {
+
+ print "<div class=\"infoBoxContents\">";
+
+ print "<h1>Feed browser</h1>";
+
+ print "<p>Showing top 50 registered feeds, sorted by popularity:</p>";
+
+ $result = db_query($link, "SELECT feed_url,count(id) AS subscribers
+ FROM ttrss_feeds WHERE auth_login = '' AND auth_pass = ''
+ GROUP BY feed_url ORDER BY subscribers LIMIT 50");
+
+ print "<ul class='browseFeedList' id='browseFeedList'>";
+
+ 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 class='feedBrowseCB' type=\"checkbox\" id=\"BFCHK-" . $details["id"] . "\">";
+
+ print "<li>$check_box $feed_icon" . $details["title"] .
+ " <span class='subscribers'>($subscribers)</span></li>";
+ }
+
+ print "</ul>";
+
+ print "<div align='center'>
+ <input type='submit' class='button'
+ onclick=\"closeInfoBox()\" value=\"Cancel\">
+ <input type=\"submit\" class=\"button\"
+ onclick=\"feedBrowserSubscribe()\" value=\"Subscribe\"></div>";
+
+ print "</div>";
+ return;
+ }
+
if ($subop == "editfeed") {
$feed_id = db_escape_string($_GET["id"]);
$parent_feed = db_fetch_result($result, 0, "parent_feed");
print "<select id=\"iedit_parent_feed\">";
- print "<option id=\"0\">None</option>";
+ print "<option id=\"0\">Not linked</option>";
if (get_pref($link, 'ENABLE_FEED_CATS')) {
if ($cat_id) {
size=\"40\">
<input type=\"submit\" class=\"button\"
onclick=\"javascript:addFeed()\" value=\"Add feed\">
+
+ (<a href='javascript:browseFeeds()'>Browse feeds</a>)
</td><td align='right'>
<input id=\"feed_search\" size=\"20\"
onchange=\"javascript:updateFeedList()\"
$_SESSION["pref_sort_feeds"] = $feeds_sort;
if ($feed_search) {
- $search_qpart = "(UPPER(title) LIKE UPPER('%$feed_search%') OR
- UPPER(feed_url) LIKE UPPER('%$feed_search%')) AND";
+ $search_qpart = "(UPPER(F1.title) LIKE UPPER('%$feed_search%') OR
+ UPPER(F1.feed_url) LIKE UPPER('%$feed_search%')) AND";
} else {
$search_qpart = "";
}
ttrss_filter_types.description AS filter_type_descr,
feed_id,
ttrss_filter_actions.description AS action_description,
- (SELECT title FROM ttrss_feeds WHERE id = feed_id) AS feed_title
+ ttrss_feeds.title AS feed_title
FROM
- ttrss_filters,ttrss_filter_types,ttrss_filter_actions
+ ttrss_filters,ttrss_filter_types,ttrss_filter_actions LEFT JOIN
+ ttrss_feeds ON (feed_id = ttrss_feeds.id)
WHERE
filter_type = ttrss_filter_types.id AND
ttrss_filter_actions.id = action_id AND
$_SESSION["prefs_op_result"] = "save-config";
+ $_SESSION["prefs_cache"] = false;
+
foreach (array_keys($_POST) as $pref_name) {
$pref_name = db_escape_string($pref_name);
$uid = $line["id"];
$edit_uid = $_GET["id"];
- if ($uid == $_SESSION["uid"] || ($subop == "edit" && $uid != $edit_uid)) {
+ if ($subop == "edit" && $uid != $edit_uid) {
$class .= "Grayed";
$this_row_id = "";
} else {
print "<h1>Subscribed feeds</h1>";
$result = db_query($link, "SELECT id,title,site_url FROM ttrss_feeds
- WHERE owner_uid = '$uid' ORDER BY title LIMIT 20");
+ WHERE owner_uid = '$uid' ORDER BY title");
- print "<ul class=\"nomarks\">";
+ print "<ul class=\"userFeedList\">";
while ($line = db_fetch_assoc($result)) {