]> git.wh0rd.org - tt-rss.git/blobdiff - classes/feeditem/rss.php
minor css fixes (mostly for zoom mode)
[tt-rss.git] / classes / feeditem / rss.php
old mode 100644 (file)
new mode 100755 (executable)
index 27a364b..6bb2721
@@ -71,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;
                }
        }
 
@@ -127,65 +129,19 @@ class FeedItem_RSS extends FeedItem_Common {
                        array_push($encs, $enc);
                }
 
-               $enclosures = $this->xpath->query("media:content", $this->elem);
-
-               foreach ($enclosures as $enclosure) {
-                       $enc = new FeedEnclosure();
-
-                       $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);
-
-                       array_push($encs, $enc);
-               }
-
-
-               $enclosures = $this->xpath->query("media:group", $this->elem);
+               $encs = array_merge($encs, parent::get_enclosures());
 
-               foreach ($enclosures as $enclosure) {
-                       $enc = new FeedEnclosure();
-
-                       $content = $this->xpath->query("media:content", $enclosure)->item(0);
-
-                       if ($content) {
-                               $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) {
-                                       $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);
-                       }
-               }
-
-               $enclosures = $this->xpath->query("media:thumbnail", $this->elem);
-
-               foreach ($enclosures as $enclosure) {
-                       $enc = new FeedEnclosure();
+               return $encs;
+       }
 
-                       $enc->type = "image/generic";
-                       $enc->link = $enclosure->getAttribute("url");
-                       $enc->height = $enclosure->getAttribute("height");
-                       $enc->width = $enclosure->getAttribute("width");
+       function get_language() {
+               $languages = $this->doc->getElementsByTagName('language');
 
-                       array_push($encs, $enc);
+               if (count($languages) == 0) {
+                       return "";
                }
 
-               return $encs;
+               return $languages[0]->textContent;
        }
 
 }
-?>