]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Fix invite button for public sites
authorZach Copley <zach@status.net>
Wed, 6 Jul 2011 00:27:11 +0000 (17:27 -0700)
committerZach Copley <zach@status.net>
Wed, 6 Jul 2011 00:27:11 +0000 (17:27 -0700)
actions/all.php
actions/public.php
lib/invitebuttonsection.php

index 4ee3911b40fdb26e84150db918b43fb9955a474f..a7f325e014567da447ee4b6f852809ca28d8477b 100644 (file)
@@ -195,8 +195,21 @@ class AllAction extends ProfileAction
 
     function showSections()
     {
-        $ibs = new InviteButtonSection($this);
-        $ibs->show();
+        // 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();
         //        $pop = new InboxTagCloudSection($this, $this->user);
index 37a1ef3c2377849a03c0056e166d0fdb5af3f4ed..e4f98dacc35a41c782665853ccce1be1cc50c8bf 100644 (file)
@@ -227,8 +227,22 @@ class PublicAction extends Action
 
     function showSections()
     {
-        $ibs = new InviteButtonSection($this);
-        $ibs->show();
+        // 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();
         $cloud = new PublicTagCloudSection($this);
index c10817d7a86297605e7fcb02f9e48662281b1be4..3d385f02a59d215163993b33b6d3d1f3dd24c6b9 100644 (file)
@@ -46,6 +46,19 @@ if (!defined('STATUSNET')) {
  */
 class InviteButtonSection extends Section
 {
+    protected $buttonText;
+
+    function __construct($out = null, $buttonText = null)
+    {
+        $this->out = $out;
+        if (empty($buttonText)) {
+            // TRANS: Default button text for inviting more users to the StatusNet instance.
+            $this->buttonText = _m('BUTTON', 'Invite more colleagues');
+        } else {
+            $this->buttonText = $buttonText;
+        }
+    }
+
     function showTitle()
     {
         return false;
@@ -53,11 +66,14 @@ class InviteButtonSection extends Section
 
     function showContent()
     {
-        $this->out->element('a',
-                            array('href' => common_local_url('invite'),
-                                  'class' => 'invite_button'),
-                            // TRANS: Button text for inviting more users to the StatusNet instance.
-                            _m('BUTTON','Invite more colleagues'));
+        $this->out->element(
+            'a',
+            array(
+                'href' => common_local_url('invite'),
+                'class' => 'invite_button'
+            ),
+            $this->buttonText
+        );
         return false;
     }
 }