X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fuserrss.php;h=e57f861054bc70964b7108092246cf1ceff36077;hb=74291968c4b4f1fca29cb79caad695a1e2360734;hp=92a6bccc95dbd2bbb392572c820eddf45b04be23;hpb=310ef22fd996a21642cc63b33829cc1f397269d7;p=quix0rs-gnu-social.git diff --git a/actions/userrss.php b/actions/userrss.php index 92a6bccc95..e57f861054 100644 --- a/actions/userrss.php +++ b/actions/userrss.php @@ -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