]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/networkpublic.php
Don't send multiple error responses in ApiMediaUpload :)
[quix0rs-gnu-social.git] / actions / networkpublic.php
index 4bba2f7f477854f5c254917097d9e3a33de73949..41c4e37e3cd41cce1db97872a390fc79f4ba3471 100644 (file)
@@ -2,12 +2,12 @@
 
 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);
@@ -28,13 +28,6 @@ class NetworkpublicAction extends PublicAction
         }
     }
 
-    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
@@ -56,11 +49,25 @@ class NetworkpublicAction extends PublicAction
         // 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)')));
     }
 }