X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Finvite.php;h=d0ed64ec9079449ec3d9013973aab5e912257a6b;hb=071f455b87cf7e322ba2ec300d6881e3b165f81c;hp=f4ad2f7c551200fea86b436ba3cc2d8149058158;hpb=a7c85bebd5be9ea019a8c80d74730d7eb28d4651;p=quix0rs-gnu-social.git diff --git a/actions/invite.php b/actions/invite.php index f4ad2f7c55..d0ed64ec90 100644 --- a/actions/invite.php +++ b/actions/invite.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } -class InviteAction extends Action +class InviteAction extends CurrentUserDesignAction { var $mode = null; var $error = null; @@ -27,7 +27,7 @@ class InviteAction extends Action var $subbed = null; var $sent = null; - function isReadOnly() + function isReadOnly($args) { return false; } @@ -35,7 +35,9 @@ class InviteAction extends Action function handle($args) { parent::handle($args); - if (!common_logged_in()) { + if (!common_config('invite', 'enabled')) { + $this->clientError(_('Invites have been disabled.')); + } else if (!common_logged_in()) { $this->clientError(sprintf(_('You must be logged in to invite other users to use %s'), common_config('site', 'name'))); return; @@ -66,7 +68,7 @@ class InviteAction extends Action foreach ($addresses as $email) { $email = trim($email); - if (!Validate::email($email, true)) { + if (!Validate::email($email, common_config('email', 'check_domain'))) { $this->showForm(sprintf(_('Invalid email address: %s'), $email)); return; } @@ -96,6 +98,12 @@ class InviteAction extends Action $this->showPage(); } + function showScripts() + { + parent::showScripts(); + $this->autofocus('addresses'); + } + function title() { if ($this->mode == 'sent') { @@ -120,7 +128,7 @@ class InviteAction extends Action $this->element('p', null, _('You are already subscribed to these users:')); $this->elementStart('ul'); foreach ($this->already as $other) { - $this->element('li', null, sprintf(_('%s (%s)'), $other->nickname, $other->email)); + $this->element('li', null, sprintf(_('%1$s (%2$s)'), $other->nickname, $other->email)); } $this->elementEnd('ul'); } @@ -128,7 +136,7 @@ class InviteAction extends Action $this->element('p', null, _('These people are already users and you were automatically subscribed to them:')); $this->elementStart('ul'); foreach ($this->subbed as $other) { - $this->element('li', null, sprintf(_('%s (%s)'), $other->nickname, $other->email)); + $this->element('li', null, sprintf(_('%1$s (%2$s)'), $other->nickname, $other->email)); } $this->elementEnd('ul'); } @@ -167,20 +175,27 @@ class InviteAction extends Action function showInviteForm() { $this->elementStart('form', array('method' => 'post', - 'id' => 'invite', + 'id' => 'form_invite', + 'class' => 'form_settings', 'action' => common_local_url('invite'))); + $this->elementStart('fieldset'); + $this->element('legend', null, 'Send an invitation'); $this->hidden('token', common_session_token()); + $this->elementStart('ul', 'form_data'); + $this->elementStart('li'); $this->textarea('addresses', _('Email addresses'), $this->trimmed('addresses'), _('Addresses of friends to invite (one per line)')); - + $this->elementEnd('li'); + $this->elementStart('li'); $this->textarea('personal', _('Personal message'), $this->trimmed('personal'), _('Optionally add a personal message to the invitation.')); - + $this->elementEnd('li'); + $this->elementEnd('ul'); $this->submit('send', _('Send')); - + $this->elementEnd('fieldset'); $this->elementEnd('form'); } @@ -207,7 +222,7 @@ class InviteAction extends Action $recipients = array($email); $headers['From'] = mail_notify_from(); - $headers['To'] = $email; + $headers['To'] = trim($email); $headers['Subject'] = sprintf(_('%1$s has invited you to join them on %2$s'), $bestname, $sitename); $body = sprintf(_("%1\$s has invited you to join them on %2\$s (%3\$s).\n\n".