]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/public.php
Merge branch 'master' into testing
[quix0rs-gnu-social.git] / actions / public.php
index d906d65501a996dada406b92040e692666eafb51..f62d032ef8ba5ee9c28cd48752d3cd0c2c37f3c2 100644 (file)
@@ -88,14 +88,14 @@ class PublicAction extends Action
 
         $this->userProfile = Profile::current();
 
-        $stream = new PublicNoticeStream($this->userProfile);
+        $stream = new ThreadingPublicNoticeStream($this->userProfile);
 
         $this->notice = $stream->getNotices(($this->page-1)*NOTICES_PER_PAGE,
                                             NOTICES_PER_PAGE + 1);
 
         if (!$this->notice) {
             // TRANS: Server error displayed when a public timeline cannot be retrieved.
-            $this->serverError(_('Could not retrieve public stream.'));
+            $this->serverError(_('Could not retrieve public timeline.'));
             return;
         }
 
@@ -162,19 +162,24 @@ class PublicAction extends Action
      */
     function getFeeds()
     {
-        return array(new Feed(Feed::RSS1, common_local_url('publicrss'),
+        return array(new Feed(Feed::JSON,
+                              common_local_url('ApiTimelinePublic',
+                                               array('format' => 'as')),
+                              // TRANS: Link description for public timeline feed.
+                              _('Public Timeline Feed (Activity Streams JSON)')),
+                    new Feed(Feed::RSS1, common_local_url('publicrss'),
                               // TRANS: Link description for public timeline feed.
-                              _('Public Stream Feed (RSS 1.0)')),
+                              _('Public Timeline Feed (RSS 1.0)')),
                      new Feed(Feed::RSS2,
                               common_local_url('ApiTimelinePublic',
                                                array('format' => 'rss')),
                               // TRANS: Link description for public timeline feed.
-                              _('Public Stream Feed (RSS 2.0)')),
+                              _('Public Timeline Feed (RSS 2.0)')),
                      new Feed(Feed::ATOM,
                               common_local_url('ApiTimelinePublic',
                                                array('format' => 'atom')),
                               // TRANS: Link description for public timeline feed.
-                              _('Public Stream Feed (Atom)')));
+                              _('Public Timeline Feed (Atom)')));
     }
 
     function showEmptyList()
@@ -222,12 +227,26 @@ class PublicAction extends Action
 
     function showSections()
     {
+        // Show invite button, as long as site isn't closed, and
+        // we have a logged in user.
+        if (!common_config('site', 'closed') && common_logged_in()) {
+            if (!common_config('site', 'private')) {
+                $ibs = new InviteButtonSection(
+                    $this,
+                    // TRANS: Button text for inviting more users to the StatusNet instance.
+                    // TRANS: Less business/enterprise-oriented language for public sites.
+                    _m('BUTTON', 'Send invite')
+                );
+            } else {
+                $ibs = new InviteButtonSection($this);
+            }
+            $ibs->show();
+        }
+
         $pop = new PopularNoticeSection($this);
         $pop->show();
-        $ibs = new InviteButtonSection($this);
-        $ibs->show();
-        $gbp = new GroupsByMembersSection($this);
-        $gbp->show();
+        $cloud = new PublicTagCloudSection($this);
+        $cloud->show();
         $feat = new FeaturedUsersSection($this);
         $feat->show();
     }
@@ -252,3 +271,11 @@ class PublicAction extends Action
         $this->elementEnd('div');
     }
 }
+
+class ThreadingPublicNoticeStream extends ThreadingNoticeStream
+{
+    function __construct($profile)
+    {
+        parent::__construct(new PublicNoticeStream($profile));
+    }
+}