Browse Source

queryfeedheadlines: there's no need to quote order_by/override_order
else: feedicon cache busting etc

Andrew Dolgov 2 years ago
parent
commit
fa3bcfa379
5 changed files with 16 additions and 20 deletions
  1. 1 1
      classes/api.php
  2. 5 1
      classes/counters.php
  3. 9 13
      classes/feeds.php
  4. 0 4
      include/functions.php
  5. 1 1
      js/feedlist.js

+ 1 - 1
classes/api.php

@@ -633,7 +633,7 @@ class API extends Handler {
 
 				$unread = getFeedUnread($line["id"]);
 
-				$has_icon = feed_has_icon($line['id']);
+				$has_icon = Feeds::feedHasIcon($line['id']);
 
 				if ($unread || !$unread_only) {
 

+ 5 - 1
classes/counters.php

@@ -183,7 +183,11 @@ class Counters {
 
 			$last_updated = make_local_datetime($line['last_updated'], false);
 
-			$has_img = feed_has_icon($id);
+			if (Feeds::feedHasIcon($id)) {
+				$has_img = filemtime(Feeds::getIconFile($id));
+			} else {
+				$has_img = false;
+			}
 
 			if (date('Y') - date('Y', strtotime($line['last_updated'])) > 2)
 				$last_updated = '';

+ 9 - 13
classes/feeds.php

@@ -414,7 +414,7 @@ class Feeds extends Handler_Protected {
                 $entry_author = " — $entry_author";
             }
 
-            $has_feed_icon = feed_has_icon($feed_id);
+            $has_feed_icon = feeds::feedHasIcon($feed_id);
 
             if ($has_feed_icon) {
                 $feed_icon_img = "<img class=\"tinyFeedIcon\" src=\"".ICONS_URL."/$feed_id.ico\" alt=\"\">";
@@ -537,20 +537,12 @@ class Feeds extends Handler_Protected {
                 if ($vfeed_group_enabled && $line["feed_title"]) {
                     if ($feed_id != $vgroup_last_feed) {
 
-                        $cur_feed_title = $line["feed_title"];
                         $vgroup_last_feed = $feed_id;
 
-                        $cur_feed_title = htmlspecialchars($cur_feed_title);
-
                         $vf_catchup_link = "<a class='catchup' onclick='catchupFeedInGroup($feed_id);' href='#'>".__('mark feed as read')."</a>";
 
-                        $has_feed_icon = feed_has_icon($feed_id);
-
-                        if ($has_feed_icon) {
-                            $feed_icon_img = "<img class=\"tinyFeedIcon\" src=\"".ICONS_URL."/$feed_id.ico\" alt=\"\">";
-                        } else {
-                            //$feed_icon_img = "<img class=\"tinyFeedIcon\" src=\"images/blank_icon.gif\" alt=\"\">";
-                        }
+                        $feed_icon_src = Feeds::getFeedIcon($feed_id);
+                        $feed_icon_img = "<img class=\"tinyFeedIcon\" src=\"$feed_icon_src\">";
 
                         $reply['content'] .= "<div data-feed-id='$feed_id' id='FTITLE-$feed_id' class='cdmFeedTitle'>".
                             "<div style=\"float : right\">$feed_icon_img</div>".
@@ -1590,6 +1582,10 @@ class Feeds extends Handler_Protected {
 		return ICONS_DIR . "/$feed_id.ico";
 	}
 
+	static function feedHasIcon($id) {
+		return is_file(ICONS_DIR . "/$id.ico") && filesize(ICONS_DIR . "/$id.ico") > 0;
+	}
+
 	static function getFeedIcon($id) {
 		switch ($id) {
 			case 0:
@@ -2052,9 +2048,9 @@ class Feeds extends Handler_Protected {
 			// proper override_order applied above
 			if ($vfeed_query_part && !$ignore_vfeed_group && get_pref('VFEED_GROUP_BY_FEED', $owner_uid)) {
 				if (!$override_order) {
-					$order_by = "ttrss_feeds.title, ".$pdo->quote($order_by);
+					$order_by = "ttrss_feeds.title, ".$order_by;
 				} else {
-					$order_by = "ttrss_feeds.title, ".$pdo->quote($override_order);
+					$order_by = "ttrss_feeds.title, ".$override_order;
 				}
 			}
 

+ 0 - 4
include/functions.php

@@ -1932,10 +1932,6 @@
 		}
 	}
 
-	function feed_has_icon($id) {
-		return is_file(ICONS_DIR . "/$id.ico") && filesize(ICONS_DIR . "/$id.ico") > 0;
-	}
-
 	function init_plugins() {
 		PluginHost::getInstance()->load(PLUGINS, PluginHost::KIND_ALL);
 

+ 1 - 1
js/feedlist.js

@@ -326,7 +326,7 @@ function parse_counters(elems) {
 			if (id > 0) {
 				if (has_img) {
 					setFeedIcon(id, false,
-						getInitParam("icons_url") + "/" + id + ".ico");
+						getInitParam("icons_url") + "/" + id + ".ico?" + has_img);
 				} else {
 					setFeedIcon(id, false, 'images/blank_icon.gif');
 				}