From 7150c54a3f437043eac95d57ac9fc0672adef564 Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Tue, 5 Jul 2011 17:27:11 -0700 Subject: [PATCH] Fix invite button for public sites --- actions/all.php | 17 +++++++++++++++-- actions/public.php | 18 ++++++++++++++++-- lib/invitebuttonsection.php | 26 +++++++++++++++++++++----- 3 files changed, 52 insertions(+), 9 deletions(-) diff --git a/actions/all.php b/actions/all.php index 4ee3911b40..a7f325e014 100644 --- a/actions/all.php +++ b/actions/all.php @@ -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); diff --git a/actions/public.php b/actions/public.php index 37a1ef3c23..e4f98dacc3 100644 --- a/actions/public.php +++ b/actions/public.php @@ -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); diff --git a/lib/invitebuttonsection.php b/lib/invitebuttonsection.php index c10817d7a8..3d385f02a5 100644 --- a/lib/invitebuttonsection.php +++ b/lib/invitebuttonsection.php @@ -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; } }