Fix invite button for public sites

This commit is contained in:
Zach Copley 2011-07-05 17:27:11 -07:00
parent af0eded741
commit 7150c54a3f
3 changed files with 52 additions and 9 deletions

View File

@ -195,8 +195,21 @@ class AllAction extends ProfileAction
function showSections() function showSections()
{ {
$ibs = new InviteButtonSection($this); // Show invite button, as long as site isn't closed, and
$ibs->show(); // 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 = new PopularNoticeSection($this);
$pop->show(); $pop->show();
// $pop = new InboxTagCloudSection($this, $this->user); // $pop = new InboxTagCloudSection($this, $this->user);

View File

@ -227,8 +227,22 @@ class PublicAction extends Action
function showSections() function showSections()
{ {
$ibs = new InviteButtonSection($this); // Show invite button, as long as site isn't closed, and
$ibs->show(); // 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 = new PopularNoticeSection($this);
$pop->show(); $pop->show();
$cloud = new PublicTagCloudSection($this); $cloud = new PublicTagCloudSection($this);

View File

@ -46,6 +46,19 @@ if (!defined('STATUSNET')) {
*/ */
class InviteButtonSection extends Section 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() function showTitle()
{ {
return false; return false;
@ -53,11 +66,14 @@ class InviteButtonSection extends Section
function showContent() function showContent()
{ {
$this->out->element('a', $this->out->element(
array('href' => common_local_url('invite'), 'a',
'class' => 'invite_button'), array(
// TRANS: Button text for inviting more users to the StatusNet instance. 'href' => common_local_url('invite'),
_m('BUTTON','Invite more colleagues')); 'class' => 'invite_button'
),
$this->buttonText
);
return false; return false;
} }
} }