]> git.wh0rd.org - tt-rss.git/blobdiff - classes/feeditem/rss.php
remove some redundant php closing tags
[tt-rss.git] / classes / feeditem / rss.php
index 28f4a388d648a8bd43a7a145c9438c939eddb23a..a3fa7e636578bfd9ed6c3270d2baac310f226b06 100644 (file)
@@ -33,28 +33,36 @@ class FeedItem_RSS extends FeedItem_Common {
                                        || $link->getAttribute("rel") == "alternate"
                                        || $link->getAttribute("rel") == "standout")) {
 
-                               return $link->getAttribute("href");
+                               return trim($link->getAttribute("href"));
                        }
                }
 
                $link = $this->elem->getElementsByTagName("guid")->item(0);
 
                if ($link && $link->hasAttributes() && $link->getAttribute("isPermaLink") == "true") {
-                       return $link->nodeValue;
+                       return trim($link->nodeValue);
                }
 
                $link = $this->elem->getElementsByTagName("link")->item(0);
 
                if ($link) {
-                       return $link->nodeValue;
+                       return trim($link->nodeValue);
                }
        }
 
        function get_title() {
+               $title = $this->xpath->query("title", $this->elem)->item(0);
+
+               if ($title) {
+                       return trim($title->nodeValue);
+               }
+
+               // if the document has a default namespace then querying for
+               // title would fail because of reasons so let's try the old way
                $title = $this->elem->getElementsByTagName("title")->item(0);
 
                if ($title) {
-                       return $title->nodeValue;
+                       return trim($title->nodeValue);
                }
        }
 
@@ -63,17 +71,19 @@ class FeedItem_RSS extends FeedItem_Common {
                $contentB = $this->elem->getElementsByTagName("description")->item(0);
 
                if ($contentA && !$contentB) {
-                       return $contentA->nodeValue;
+                       return $this->subtree_or_text($contentA);
                }
 
 
                if ($contentB && !$contentA) {
-                       return $contentB->nodeValue;
+                       return $this->subtree_or_text($contentB);
                }
 
                if ($contentA && $contentB) {
-                       return mb_strlen($contentA->nodeValue) > mb_strlen($contentB->nodeValue) ?
-                               $contentA->nodeValue : $contentB->nodeValue;
+                       $resultA = $this->subtree_or_text($contentA);
+                       $resultB = $this->subtree_or_text($contentB);
+
+                       return mb_strlen($resultA) > mb_strlen($resultB) ? $resultA : $resultB;
                }
        }
 
@@ -90,13 +100,13 @@ class FeedItem_RSS extends FeedItem_Common {
                $cats = array();
 
                foreach ($categories as $cat) {
-                       array_push($cats, $cat->nodeValue);
+                       array_push($cats, trim($cat->nodeValue));
                }
 
                $categories = $this->xpath->query("dc:subject", $this->elem);
 
                foreach ($categories as $cat) {
-                       array_push($cats, $cat->nodeValue);
+                       array_push($cats, trim($cat->nodeValue));
                }
 
                return $cats;
@@ -113,6 +123,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 +137,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 +158,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 +180,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);
                }
@@ -171,5 +189,4 @@ class FeedItem_RSS extends FeedItem_Common {
                return $encs;
        }
 
-}
-?>
+}
\ No newline at end of file