]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/rssaction.php
inverted if() in RealtimePlugin check for tag
[quix0rs-gnu-social.git] / lib / rssaction.php
index 3b303f73ea0540b8bb50989e7938ce50af03048e..dac7fa4606e8d4fa5563f4229b10fc8a22b5a275 100644 (file)
@@ -34,7 +34,7 @@ define('DEFAULT_RSS_LIMIT', 48);
 
 class Rss10Action extends Action
 {
-    # This will contain the details of each feed item's author and be used to generate SIOC data.
+    // This will contain the details of each feed item's author and be used to generate SIOC data.
 
     var $creators = array();
     var $limit = DEFAULT_RSS_LIMIT;
@@ -52,7 +52,7 @@ class Rss10Action extends Action
      * @see Action::__construct
      */
 
-    function __construct($output='php://output', $indent=true)
+    function __construct($output='php://output', $indent=null)
     {
         parent::__construct($output, $indent);
     }
@@ -88,10 +88,10 @@ class Rss10Action extends Action
         if (common_config('site', 'private')) {
             if (!isset($_SERVER['PHP_AUTH_USER'])) {
 
-                # This header makes basic auth go
+                // This header makes basic auth go
                 header('WWW-Authenticate: Basic realm="StatusNet RSS"');
 
-                # If the user hits cancel -- bam!
+                // If the user hits cancel -- bam!
                 $this->show_basic_auth_error();
                 return;
             } else {
@@ -99,7 +99,7 @@ class Rss10Action extends Action
                 $password = $_SERVER['PHP_AUTH_PW'];
 
                 if (!common_check_user($nickname, $password)) {
-                    # basic authentication failed
+                    // basic authentication failed
                     list($proxy, $ip) = common_client_ip();
 
                     common_log(LOG_WARNING, "Failed RSS auth attempt, nickname = $nickname, proxy = $proxy, ip = $ip.");
@@ -176,8 +176,16 @@ class Rss10Action extends Action
         $this->showChannel();
         $this->showImage();
 
-        foreach ($this->notices as $n) {
-            $this->showItem($n);
+        if (count($this->notices)) {
+            foreach ($this->notices as $n) {
+                try {
+                    $this->showItem($n);
+                } catch (Exception $e) {
+                    // log exceptions and continue
+                    common_log(LOG_ERR, $e->getMessage());
+                    continue;
+                }
+            }
         }
 
         $this->showCreators();
@@ -203,8 +211,10 @@ class Rss10Action extends Action
         $this->elementStart('items');
         $this->elementStart('rdf:Seq');
 
-        foreach ($this->notices as $notice) {
-            $this->element('rdf:li', array('rdf:resource' => $notice->uri));
+        if (count($this->notices)) {
+            foreach ($this->notices as $notice) {
+                $this->element('rdf:li', array('rdf:resource' => $notice->uri));
+            }
         }
 
         $this->elementEnd('rdf:Seq');
@@ -228,7 +238,7 @@ class Rss10Action extends Action
 
     function showItem($notice)
     {
-        $profile = Profile::staticGet($notice->profile_id);
+        $profile = $notice->getProfile();
         $nurl = common_local_url('shownotice', array('notice' => $notice->id));
         $creator_uri = common_profile_uri($profile);
         $this->elementStart('item', array('rdf:about' => $notice->uri,