From 2ab7ccb695fa690ee56100304b93d20e2c20debc Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 12 Jan 2014 08:53:30 +0400 Subject: [PATCH] parser: fix failing on empty media:group tags --- classes/feeditem/atom.php | 24 +++++++++++++----------- classes/feeditem/rss.php | 24 +++++++++++++----------- 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/classes/feeditem/atom.php b/classes/feeditem/atom.php index 244fb1f84..74be03d80 100644 --- a/classes/feeditem/atom.php +++ b/classes/feeditem/atom.php @@ -160,19 +160,21 @@ class FeedItem_Atom extends FeedItem_Common { $content = $this->xpath->query("media:content", $enclosure)->item(0); - $enc->type = $content->getAttribute("type"); - $enc->link = $content->getAttribute("url"); - $enc->length = $content->getAttribute("length"); + if ($content) { + $enc->type = $content->getAttribute("type"); + $enc->link = $content->getAttribute("url"); + $enc->length = $content->getAttribute("length"); - $desc = $this->xpath->query("media:description", $content)->item(0); - if ($desc) { - $enc->title = strip_tags($desc->nodeValue); - } else { - $desc = $this->xpath->query("media:description", $enclosure)->item(0); - if ($desc) $enc->title = strip_tags($desc->nodeValue); + $desc = $this->xpath->query("media:description", $content)->item(0); + if ($desc) { + $enc->title = strip_tags($desc->nodeValue); + } else { + $desc = $this->xpath->query("media:description", $enclosure)->item(0); + if ($desc) $enc->title = strip_tags($desc->nodeValue); + } + + array_push($encs, $enc); } - - array_push($encs, $enc); } $enclosures = $this->xpath->query("media:thumbnail", $this->elem); diff --git a/classes/feeditem/rss.php b/classes/feeditem/rss.php index 7d445a6c3..28f4a388d 100644 --- a/classes/feeditem/rss.php +++ b/classes/feeditem/rss.php @@ -140,19 +140,21 @@ class FeedItem_RSS extends FeedItem_Common { $content = $this->xpath->query("media:content", $enclosure)->item(0); - $enc->type = $content->getAttribute("type"); - $enc->link = $content->getAttribute("url"); - $enc->length = $content->getAttribute("length"); + if ($content) { + $enc->type = $content->getAttribute("type"); + $enc->link = $content->getAttribute("url"); + $enc->length = $content->getAttribute("length"); - $desc = $this->xpath->query("media:description", $content)->item(0); - if ($desc) { - $enc->title = strip_tags($desc->nodeValue); - } else { - $desc = $this->xpath->query("media:description", $enclosure)->item(0); - if ($desc) $enc->title = strip_tags($desc->nodeValue); + $desc = $this->xpath->query("media:description", $content)->item(0); + if ($desc) { + $enc->title = strip_tags($desc->nodeValue); + } else { + $desc = $this->xpath->query("media:description", $enclosure)->item(0); + if ($desc) $enc->title = strip_tags($desc->nodeValue); + } + + array_push($encs, $enc); } - - array_push($encs, $enc); } $enclosures = $this->xpath->query("media:thumbnail", $this->elem);