]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/userrss.php
make it possible to erase fields in the profile via the api
[quix0rs-gnu-social.git] / actions / userrss.php
index 19e610551d4bca2ec9cf65defde29b7e003a76de..308db948918c079a9d4a1ce63463840c3b564a82 100644 (file)
@@ -31,27 +31,32 @@ class UserrssAction extends Rss10Action
     {
         parent::prepare($args);
         $nickname   = $this->trimmed('nickname');
-        $this->user = User::staticGet('nickname', $nickname);
+        $this->user = User::getKV('nickname', $nickname);
         $this->tag  = $this->trimmed('tag');
 
         if (!$this->user) {
+            // TRANS: Client error displayed when user not found for an action.
             $this->clientError(_('No such user.'));
-            return false;
+        }
+
+        if (!empty($this->tag)) {
+            $this->notices = $this->getTaggedNotices();
         } else {
-            $this->notices = $this->getNotices($this->limit);
-            return true;
+            $this->notices = $this->getNotices();
         }
+
+        return true;
     }
 
-    function getTaggedNotices($tag = null, $limit=0)
+    function getTaggedNotices()
     {
-        $user = $this->user;
-
-        if (is_null($user)) {
-            return null;
-        }
-
-        $notice = $user->getTaggedNotices(0, ($limit == 0) ? NOTICES_PER_PAGE : $limit, 0, 0, null, $tag);
+        $notice = $this->user->getTaggedNotices(
+            $this->tag,
+            0,
+            ($this->limit == 0) ? NOTICES_PER_PAGE : $this->limit,
+            0,
+            0
+        );
 
         $notices = array();
         while ($notice->fetch()) {
@@ -62,15 +67,12 @@ class UserrssAction extends Rss10Action
     }
 
 
-    function getNotices($limit=0)
+    function getNotices()
     {
-        $user = $this->user;
-        
-        if (is_null($user)) {
-            return null;
-        }
-
-        $notice = $user->getNotices(0, ($limit == 0) ? NOTICES_PER_PAGE : $limit);
+        $notice = $this->user->getNotices(
+            0,
+            ($this->limit == 0) ? NOTICES_PER_PAGE : $this->limit
+        );
 
         $notices = array();
         while ($notice->fetch()) {
@@ -87,8 +89,10 @@ class UserrssAction extends Rss10Action
         $c = array('url' => common_local_url('userrss',
                                              array('nickname' =>
                                                    $user->nickname)),
+                   // TRANS: Message is used as link title. %s is a user nickname.
                    'title' => sprintf(_('%s timeline'), $user->nickname),
                    'link' => $profile->profileurl,
+                   // TRANS: Message is used as link description. %1$s is a username, %2$s is a site name.
                    'description' => sprintf(_('Updates from %1$s on %2$s!'),
                                             $user->nickname, common_config('site', 'name')));
         return $c;
@@ -96,18 +100,11 @@ class UserrssAction extends Rss10Action
 
     function getImage()
     {
-        $user = $this->user;
-        $profile = $user->getProfile();
-        if (!$profile) {
-            common_log_db_error($user, 'SELECT', __FILE__);
-            $this->serverError(_('User without matching profile'));
-            return null;
-        }
-        $avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE);
-        return ($avatar) ? $avatar->url : null;
+        $profile = $this->user->getProfile();
+        return $profile->avatarUrl(AVATAR_PROFILE_SIZE);
     }
 
-    # override parent to add X-SUP-ID URL
+    // override parent to add X-SUP-ID URL
 
     function initRss($limit=0)
     {