]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/rssaction.php
single flag for private groups
[quix0rs-gnu-social.git] / lib / rssaction.php
index 62e3f21b61dc1f074547666cb3edbba681b1990d..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;
@@ -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.");
@@ -178,7 +178,13 @@ class Rss10Action extends Action
 
         if (count($this->notices)) {
             foreach ($this->notices as $n) {
-                $this->showItem($n);
+                try {
+                    $this->showItem($n);
+                } catch (Exception $e) {
+                    // log exceptions and continue
+                    common_log(LOG_ERR, $e->getMessage());
+                    continue;
+                }
             }
         }
 
@@ -232,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,