X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=actions%2Fuserrss.php;h=e57f861054bc70964b7108092246cf1ceff36077;hb=74291968c4b4f1fca29cb79caad695a1e2360734;hp=445afeca57de0c0e4949ec4e69c8898310b2f67a;hpb=87b494f1ebbe7640d194ef322af12fdf378295df;p=quix0rs-gnu-social.git diff --git a/actions/userrss.php b/actions/userrss.php index 445afeca57..e57f861054 100644 --- a/actions/userrss.php +++ b/actions/userrss.php @@ -32,7 +32,7 @@ class UserrssAction extends Rss10Action { $this->user = User::staticGet('nickname', $nickname); if (!$this->user) { - common_user_error(_('No such nickname.')); + common_user_error(_('No such user.')); return false; } else { return true; @@ -42,16 +42,13 @@ class UserrssAction extends Rss10Action { 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); } @@ -74,7 +71,20 @@ class UserrssAction extends Rss10Action { 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