Browse Source

Differentiate enclosures based on content type.

Some RSS feeds contain multiple enclosures with the same URL. When the first of
these is not recognized as an image, later entries are not added to the
database as rows in ttrss_enclosures. This change differentiates enclosures
based on their content type, so an entry can have multiple enclosure types with
the same URL (but possibly a different content type).
Tobias Kappé 1 year ago
parent
commit
ac8a0e7dc6
1 changed files with 2 additions and 2 deletions
  1. 2 2
      classes/rssutils.php

+ 2 - 2
classes/rssutils.php

@@ -1074,7 +1074,7 @@ class RSSUtils {
 				}
 
 				$esth = $pdo->prepare("SELECT id FROM ttrss_enclosures
-						WHERE content_url = ? AND post_id = ?");
+						WHERE content_url = ? AND content_type = ? AND post_id = ?");
 
 				$usth = $pdo->prepare("INSERT INTO ttrss_enclosures
 							(content_url, content_type, title, duration, post_id, width, height) VALUES
@@ -1088,7 +1088,7 @@ class RSSUtils {
 					$enc_width = intval($enc[4]);
 					$enc_height = intval($enc[5]);
 
-					$esth->execute([$enc_url, $entry_ref_id]);
+					$esth->execute([$enc_url, $enc_type, $entry_ref_id]);
 
 					if (!$esth->fetch()) {
 						$usth->execute([$enc_url, $enc_type, (string)$enc_title, $enc_dur, $entry_ref_id, $enc_width, $enc_height]);