Browse Source

Store size of enclosure to database

Felix Eckhofer 6 years ago
parent
commit
523bd90baf
4 changed files with 21 additions and 3 deletions
  1. 2 0
      classes/feedenclosure.php
  2. 6 0
      classes/feeditem/atom.php
  3. 8 0
      classes/feeditem/rss.php
  4. 5 3
      include/rssfuncs.php

+ 2 - 0
classes/feedenclosure.php

@@ -4,5 +4,7 @@ class FeedEnclosure {
 	public $type;
 	public $length;
 	public $title;
+	public $height;
+	public $width;
 }
 ?>

+ 6 - 0
classes/feeditem/atom.php

@@ -145,6 +145,8 @@ class FeedItem_Atom extends FeedItem_Common {
 			$enc->type = $enclosure->getAttribute("type");
 			$enc->link = $enclosure->getAttribute("url");
 			$enc->length = $enclosure->getAttribute("length");
+			$enc->height = $enclosure->getAttribute("height");
+			$enc->width = $enclosure->getAttribute("width");
 
 			$desc = $this->xpath->query("media:description", $enclosure)->item(0);
 			if ($desc) $enc->title = strip_tags($desc->nodeValue);
@@ -164,6 +166,8 @@ class FeedItem_Atom extends FeedItem_Common {
 				$enc->type = $content->getAttribute("type");
 				$enc->link = $content->getAttribute("url");
 				$enc->length = $content->getAttribute("length");
+				$enc->height = $content->getAttribute("height");
+				$enc->width = $content->getAttribute("width");
 
 				$desc = $this->xpath->query("media:description", $content)->item(0);
 				if ($desc) {
@@ -184,6 +188,8 @@ class FeedItem_Atom extends FeedItem_Common {
 
 			$enc->type = "image/generic";
 			$enc->link = $enclosure->getAttribute("url");
+			$enc->height = $enclosure->getAttribute("height");
+			$enc->width = $enclosure->getAttribute("width");
 
 			array_push($encs, $enc);
 		}

+ 8 - 0
classes/feeditem/rss.php

@@ -113,6 +113,8 @@ class FeedItem_RSS extends FeedItem_Common {
 			$enc->type = $enclosure->getAttribute("type");
 			$enc->link = $enclosure->getAttribute("url");
 			$enc->length = $enclosure->getAttribute("length");
+			$enc->height = $enclosure->getAttribute("height");
+			$enc->width = $enclosure->getAttribute("width");
 
 			array_push($encs, $enc);
 		}
@@ -125,6 +127,8 @@ class FeedItem_RSS extends FeedItem_Common {
 			$enc->type = $enclosure->getAttribute("type");
 			$enc->link = $enclosure->getAttribute("url");
 			$enc->length = $enclosure->getAttribute("length");
+			$enc->height = $enclosure->getAttribute("height");
+			$enc->width = $enclosure->getAttribute("width");
 
 			$desc = $this->xpath->query("media:description", $enclosure)->item(0);
 			if ($desc) $enc->title = strip_tags($desc->nodeValue);
@@ -144,6 +148,8 @@ class FeedItem_RSS extends FeedItem_Common {
 				$enc->type = $content->getAttribute("type");
 				$enc->link = $content->getAttribute("url");
 				$enc->length = $content->getAttribute("length");
+				$enc->height = $content->getAttribute("height");
+				$enc->width = $content->getAttribute("width");
 
 				$desc = $this->xpath->query("media:description", $content)->item(0);
 				if ($desc) {
@@ -164,6 +170,8 @@ class FeedItem_RSS extends FeedItem_Common {
 
 			$enc->type = "image/generic";
 			$enc->link = $enclosure->getAttribute("url");
+			$enc->height = $enclosure->getAttribute("height");
+			$enc->width = $enclosure->getAttribute("width");
 
 			array_push($encs, $enc);
 		}

+ 5 - 3
include/rssfuncs.php

@@ -989,7 +989,7 @@
 				if (is_array($encs)) {
 					foreach ($encs as $e) {
 						$e_item = array(
-							$e->link, $e->type, $e->length, $e->title);
+							$e->link, $e->type, $e->length, $e->title, $e->width, $e->height);
 						array_push($enclosures, $e_item);
 					}
 				}
@@ -1009,14 +1009,16 @@
 					$enc_type = db_escape_string($enc[1]);
 					$enc_dur = db_escape_string($enc[2]);
 					$enc_title = db_escape_string($enc[3]);
+					$enc_width = intval($enc[4]);
+					$enc_height = intval($enc[5]);
 
 					$result = db_query("SELECT id FROM ttrss_enclosures
 						WHERE content_url = '$enc_url' AND post_id = '$entry_ref_id'");
 
 					if (db_num_rows($result) == 0) {
 						db_query("INSERT INTO ttrss_enclosures
-							(content_url, content_type, title, duration, post_id) VALUES
-							('$enc_url', '$enc_type', '$enc_title', '$enc_dur', '$entry_ref_id')");
+							(content_url, content_type, title, duration, post_id, width, height) VALUES
+							('$enc_url', '$enc_type', '$enc_title', '$enc_dur', '$entry_ref_id', $enc_width, $enc_height)");
 					}
 				}