X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fapitimelinegroup.php;h=af414c680403e557361d15ef3c9e1b554353bee4;hb=7ef6c9da437b504f949dc3d7d8c05f8abe36baae;hp=5d05429185f4647a3192048942bee9f9c40a9ab5;hpb=39598582d90eab2a8abaf2ca01bcad6cb09d2c73;p=quix0rs-gnu-social.git diff --git a/actions/apitimelinegroup.php b/actions/apitimelinegroup.php index 5d05429185..af414c6804 100644 --- a/actions/apitimelinegroup.php +++ b/actions/apitimelinegroup.php @@ -34,7 +34,7 @@ if (!defined('STATUSNET')) { exit(1); } -require_once INSTALLDIR . '/lib/api.php'; +require_once INSTALLDIR . '/lib/apiprivateauth.php'; /** * Returns the most recent notices (default 20) posted to the group specified by ID @@ -49,7 +49,7 @@ require_once INSTALLDIR . '/lib/api.php'; * @link http://status.net/ */ -class ApiTimelineGroupAction extends ApiAction +class ApiTimelineGroupAction extends ApiPrivateAuthAction { var $group = null; @@ -69,7 +69,6 @@ class ApiTimelineGroupAction extends ApiAction parent::prepare($args); $this->group = $this->getTargetGroup($this->arg('id')); - $this->notices = $this->getNotices(); return true; } @@ -87,6 +86,13 @@ class ApiTimelineGroupAction extends ApiAction function handle($args) { parent::handle($args); + + if (empty($this->group)) { + $this->clientError(_('Group not found!'), 404, $this->format); + return false; + } + + $this->notices = $this->getNotices(); $this->showTimeline(); } @@ -99,6 +105,7 @@ class ApiTimelineGroupAction extends ApiAction function showTimeline() { $sitename = common_config('site', 'name'); + $avatar = $this->group->homepage_logo; $title = sprintf(_("%s timeline"), $this->group->nickname); $taguribase = common_config('integration', 'taguri'); $id = "tag:$taguribase:GroupTimeline:" . $this->group->id; @@ -111,13 +118,14 @@ class ApiTimelineGroupAction extends ApiAction $this->group->nickname, $sitename ); + $logo = ($avatar) ? $avatar : User_group::defaultLogo(AVATAR_PROFILE_SIZE); switch($this->format) { case 'xml': $this->showXmlTimeline($this->notices); break; case 'rss': - $this->showRssTimeline($this->notices, $title, $link, $subtitle); + $this->showRssTimeline($this->notices, $title, $link, $subtitle, null, $logo); break; case 'atom': $selfuri = common_root_url() . @@ -130,7 +138,8 @@ class ApiTimelineGroupAction extends ApiAction $link, $subtitle, null, - $selfuri + $selfuri, + $logo ); break; case 'json': @@ -138,7 +147,7 @@ class ApiTimelineGroupAction extends ApiAction break; default: $this->clientError( - _('API method not found!'), + _('API method not found.'), 404, $this->format );