From 523bd90bafffee18d9c7652c68f4c08d25be339e Mon Sep 17 00:00:00 2001 From: Felix Eckhofer Date: Tue, 15 Jul 2014 15:32:28 +0200 Subject: [PATCH] Store size of enclosure to database --- classes/feedenclosure.php | 2 ++ classes/feeditem/atom.php | 6 ++++++ classes/feeditem/rss.php | 8 ++++++++ include/rssfuncs.php | 8 +++++--- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/classes/feedenclosure.php b/classes/feedenclosure.php index b57100b0..64f1a061 100644 --- a/classes/feedenclosure.php +++ b/classes/feedenclosure.php @@ -4,5 +4,7 @@ class FeedEnclosure { public $type; public $length; public $title; + public $height; + public $width; } ?> diff --git a/classes/feeditem/atom.php b/classes/feeditem/atom.php index 48e3aa56..dfac7149 100644 --- a/classes/feeditem/atom.php +++ b/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); } diff --git a/classes/feeditem/rss.php b/classes/feeditem/rss.php index bf08a1df..c9a7467c 100644 --- a/classes/feeditem/rss.php +++ b/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); } diff --git a/include/rssfuncs.php b/include/rssfuncs.php index 60cb3b2d..cdc490cb 100644 --- a/include/rssfuncs.php +++ b/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)"); } } -- 2.39.5