From 2ab7ccb695fa690ee56100304b93d20e2c20debc Mon Sep 17 00:00:00 2001
From: Andrew Dolgov <fox@madoka.volgo-balt.ru>
Date: Sun, 12 Jan 2014 08:53:30 +0400
Subject: [PATCH] parser: fix failing on empty media:group tags

---
 classes/feeditem/atom.php | 26 ++++++++++++++------------
 classes/feeditem/rss.php  | 26 ++++++++++++++------------
 2 files changed, 28 insertions(+), 24 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");
-
-			$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);
-			}
+			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);
+				}
 
-			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");
-
-			$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);
+			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);
+				}
+
+				array_push($encs, $enc);
 			}
-
-			array_push($encs, $enc);
 		}
 
 		$enclosures = $this->xpath->query("media:thumbnail", $this->elem);
-- 
GitLab