if (!defined('GNUSOCIAL')) { exit(1); }
-class NetworkpublicAction extends PublicAction
+class NetworkpublicAction extends SitestreamAction
{
protected function streamPrepare()
{
if (!$this->scoped instanceof Profile && common_config('public', 'localonly')) {
- $this->serverError(_('Network wide public feed is not permitted without authorization'), 403);
+ $this->clientError(_('Network wide public feed is not permitted without authorization'), 403);
}
if ($this->scoped instanceof Profile && $this->scoped->isLocal() && $this->scoped->getUser()->streamModeOnly()) {
$this->stream = new NetworkPublicNoticeStream($this->scoped);
}
}
- function extraHead()
- {
- // the PublicAction has some XRDS stuff that might be unique to the non-network public feed
- // FIXME: Solve this with a call that doesn't rely on parent:: and is unique for each class.
- ManagedAction::extraHead();
- }
-
function showSections()
{
// Show invite button, as long as site isn't closed, and
// Network public tag cloud?
}
- /**
- * FIXME: Network public feed! Get a template from PublicAction
- */
function getFeeds()
{
- return array();
+ return array(new Feed(Feed::JSON,
+ common_local_url('ApiTimelineNetworkPublic',
+ array('format' => 'as')),
+ // TRANS: Link description for the _global_ network public timeline feed.
+ _('Network Public Timeline Feed (Activity Streams JSON)')),
+ new Feed(Feed::RSS1, common_local_url('publicrss'),
+ // TRANS: Link description for the _global_ network public timeline feed.
+ _('Network Public Timeline Feed (RSS 1.0)')),
+ new Feed(Feed::RSS2,
+ common_local_url('ApiTimelineNetworkPublic',
+ array('format' => 'rss')),
+ // TRANS: Link description for the _global_ network public timeline feed.
+ _('Network Public Timeline Feed (RSS 2.0)')),
+ new Feed(Feed::ATOM,
+ common_local_url('ApiTimelineNetworkPublic',
+ array('format' => 'atom')),
+ // TRANS: Link description for the _global_ network public timeline feed.
+ _('Network Public Timeline Feed (Atom)')));
}
}