]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/userrss.php
save notice to inbox on saveNew
[quix0rs-gnu-social.git] / actions / userrss.php
index 92a6bccc95dbd2bbb392572c820eddf45b04be23..e57f861054bc70964b7108092246cf1ceff36077 100644 (file)
@@ -30,51 +30,61 @@ class UserrssAction extends Rss10Action {
        function init() {
                $nickname = $this->trimmed('nickname');
                $this->user = User::staticGet('nickname', $nickname);
-               
+
                if (!$this->user) {
-                       common_user_error(_t('No such nickname.'));
+                       common_user_error(_('No such user.'));
                        return false;
                } else {
                        return true;
                }
        }
-       
+
        function get_notices($limit=0) {
-               
+
                $user = $this->user;
-               $notices = array();
                
-               $notice = DB_DataObject::factory('notice');
-               $notice->profile_id = $user->id; # user id === profile id
-               $notice->orderBy('created DESC');
-               if ($limit != 0) {
-                       $notice->limit(0, $limit);
+               if (is_null($user)) {
+                       return NULL;
                }
-               $notice->find();
+               
+               $notice = $user->getNotices(0, ($limit == 0) ? NOTICES_PER_PAGE : $limit);
                
                while ($notice->fetch()) {
                        $notices[] = clone($notice);
                }
-               
+
                return $notices;
        }
-       
+
        function get_channel() {
                $user = $this->user;
                $profile = $user->getProfile();
                $c = array('url' => common_local_url('userrss',
-                                                                                        array('nickname' => 
+                                                                                        array('nickname' =>
                                                                                                   $user->nickname)),
                                   'title' => $user->nickname,
                                   'link' => $profile->profileurl,
-                                  'description' => _t('Microblog by ') . $user->nickname);
+                                  'description' => sprintf(_('Microblog by %s'), $user->nickname));
                return $c;
        }
-       
+
        function get_image() {
                $user = $this->user;
                $profile = $user->getProfile();
+               if (!$profile) {
+                       common_log_db_error($user, 'SELECT', __FILE__);
+                       $this->server_error(_('User without matching profile'));
+                       return NULL;
+               }
                $avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE);
                return ($avatar) ? $avatar->url : NULL;
        }
+
+       # override parent to add X-SUP-ID URL
+       
+       function init_rss($limit=0) {
+               $url = common_local_url('sup', NULL, $this->user->id);
+               header('X-SUP-ID: '.$url);
+               parent::init_rss($limit);
+       }
 }
\ No newline at end of file