]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - inc/3rdparty/libraries/feedwriter/FeedWriter.php
Merge pull request #707 from mariroz/dev
[github/wallabag/wallabag.git] / inc / 3rdparty / libraries / feedwriter / FeedWriter.php
index df4c8b4b7981253c841f1950066f4b6115e0b7a3..7775569033cc9e3c1acf81832f7c1b2dc36946dd 100755 (executable)
@@ -87,20 +87,23 @@ define('JSONP', 3, true);
     * @access   public\r
     * @return   void\r
     */\r
-    public function genarateFeed()\r
+    public function genarateFeed($withHeaders = true)\r
     {\r
-        if ($this->version == RSS2) {\r
-//             header('Content-type: text/xml; charset=UTF-8');\r
-            // this line prevents Chrome 20 from prompting download\r
-            // used by Google: https://news.google.com/news/feeds?ned=us&topic=b&output=rss\r
-//             header('X-content-type-options: nosniff');\r
-        } elseif ($this->version == JSON) {\r
-//             header('Content-type: application/json; charset=UTF-8');\r
-            $this->json = new stdClass();\r
-        } elseif ($this->version == JSONP) {\r
-//             header('Content-type: application/javascript; charset=UTF-8');\r
-            $this->json = new stdClass();\r
+        if ($withHeaders) {\r
+          if ($this->version == RSS2) {\r
+              header('Content-type: text/xml; charset=UTF-8');\r
+              // this line prevents Chrome 20 from prompting download\r
+              // used by Google: https://news.google.com/news/feeds?ned=us&topic=b&output=rss\r
+              header('X-content-type-options: nosniff');\r
+          } elseif ($this->version == JSON) {\r
+              header('Content-type: application/json; charset=UTF-8');\r
+              $this->json = new stdClass();\r
+          } elseif ($this->version == JSONP) {\r
+              header('Content-type: application/javascript; charset=UTF-8');\r
+              $this->json = new stdClass();\r
+          }\r
         }\r
+\r
         $this->printHead();\r
         $this->printChannels();\r
         $this->printItems();\r
@@ -110,6 +113,11 @@ define('JSONP', 3, true);
         }\r
     }\r
 \r
+    public function &getItems()\r
+    {\r
+       return $this->items;\r
+    }\r
+\r
     /**\r
     * Create a new FeedItem.\r
     *\r
@@ -193,7 +201,8 @@ define('JSONP', 3, true);
     */\r
     public function setDescription($description)\r
     {\r
-        $this->setChannelElement('description', $description);\r
+        $tag = ($this->version == ATOM)? 'subtitle' : 'description';\r
+        $this->setChannelElement($tag, $desciption);\r
     }\r
 \r
     /**\r
@@ -238,7 +247,7 @@ define('JSONP', 3, true);
         {\r
             $out  = '<?xml version="1.0" encoding="utf-8"?>'."\n";\r
             if ($this->xsl) $out .= '<?xml-stylesheet type="text/xsl" href="'.htmlspecialchars($this->xsl).'"?>' . PHP_EOL;\r
-            $out .= '<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/">' . PHP_EOL;\r
+            $out .= '<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/">' . PHP_EOL;\r
             echo $out;\r
         }\r
         elseif ($this->version == JSON || $this->version == JSONP)\r