* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class RequireValidatedEmailPlugin extends Plugin
{
/**
* Users created before this time will be grandfathered in
* without the validation requirement.
*/
-
public $grandfatherCutoff = null;
/**
* ),
* ));
*/
-
public $trustedOpenIDs = array();
/**
* Whether or not to disallow login for unvalidated users.
*/
-
public $disallowLogin = false;
function onAutoload($cls)
*
* @return bool hook result code
*/
-
function onStartNoticeSave($notice)
{
$user = User::staticGet('id', $notice->profile_id);
if (!empty($user)) { // it's a remote notice
if (!$this->validated($user)) {
- $msg = _m("You must validate your email address before posting.");
+ // TRANS: Client exception thrown when trying to post notices before validating an e-mail address.
+ $msg = _m('You must validate your email address before posting.');
throw new ClientException($msg);
}
}
*
* @return bool hook result code
*/
-
function onStartRegisterUser(&$user, &$profile)
{
$email = $user->email;
if (empty($email)) {
+ // TRANS: Client exception thrown when trying to register without providing an e-mail address.
throw new ClientException(_m('You must provide an email address to register.'));
}
// Give other plugins a chance to override, if they can validate
// that somebody's ok despite a non-validated email.
- // FIXME: This isn't how to do it! Use Start*/End* instead
-
+ // @todo FIXME: This isn't how to do it! Use Start*/End* instead
Event::handle('RequireValidatedEmailPlugin_Override',
array($user, &$knownGood));
*
* @return bool true if user has a trusted OpenID.
*/
-
function hasTrustedOpenID($user)
{
if ($this->trustedOpenIDs && class_exists('User_openid')) {
*
* @return boolean hook value
*/
-
function onPluginVersion(&$versions)
{
$versions[] =
'homepage' =>
'http://status.net/wiki/Plugin:RequireValidatedEmail',
'rawdescription' =>
+ // TRANS: Plugin description.
_m('Disables posting without a validated email address.'));
+
return true;
}
*
* @return boolean hook value
*/
-
function onStartShowNoticeForm($action)
{
$user = common_current_user();
* Copyright (C) 2011, StatusNet, Inc.
*
* Action for confirming first email registration
- *
+ *
* PHP version 5
*
* This program is free software: you can redistribute it and/or modify
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
-
class ConfirmfirstemailAction extends Action
{
public $confirm;
*
* @return boolean true
*/
-
function prepare($argarray)
{
parent::prepare($argarray);
$user = common_current_user();
if (!empty($user)) {
+ // TRANS: Client exception thrown when trying to register while already logged in.
throw new ClientException(_m('You are already logged in.'));
}
$this->confirm = Confirm_address::staticGet('code', $this->code);
if (empty($this->confirm)) {
+ // TRANS: Client exception thrown when trying to register with a non-existing confirmation code.
throw new ClientException(_m('Confirmation code not found.'));
return;
}
$this->user = User::staticGet('id', $this->confirm->user_id);
if (empty($this->user)) {
+ // TRANS: Client exception thrown when trying to register with a confirmation code that is not connected with a user.
throw new ServerException(_m('No user for that confirmation code.'));
}
$type = $this->confirm->address_type;
if ($type != 'email') {
+ // TRANS: Client exception thrown when trying to register with a invalid e-mail address.
+ // TRANS: %s is the invalid e-mail address.
throw new ServerException(sprintf(_m('Unrecognized address type %s.'), $type));
}
$confirm = $this->trimmed('confirm');
if (strlen($password) < 6) {
+ // TRANS: Client exception thrown when trying to register with too short a password.
throw new ClientException(_m('Password too short.'));
return;
} else if (0 != strcmp($password, $confirm)) {
- throw new ClientException(_m("Passwords do not match."));
+ // TRANS: Client exception thrown when trying to register without providing the same password twice.
+ throw new ClientException(_m('Passwords do not match.'));
return;
}
*
* @return void
*/
-
function handle($argarray=null)
{
- $homepage = common_local_url('all',
+ $homepage = common_local_url('all',
array('nickname' => $this->user->nickname));
if ($this->isPost()) {
function showContent()
{
$this->element('p', 'instructions',
+ // TRANS: Form instructions. %s is the nickname of the to be registered user.
sprintf(_m('You have confirmed the email address for your new user account %s. '.
'Use the form below to set your new password.'),
$this->user->nickname));
function title()
{
+ // TRANS: Page title.
return _m('Set a password');
}
}
function formLegend()
{
- return _m('Confirm email');
+ // TRANS: Form legend.
+ return _m('Confirm email address');
}
function action()
{
$this->out->elementStart('ul', 'form_data');
$this->out->elementStart('li');
+ // TRANS: Field label.
$this->out->password('password', _m('New password'),
+ // TRANS: Field title for password field.
_m('6 or more characters.'));
$this->out->elementEnd('li');
$this->out->elementStart('li');
- $this->out->password('confirm', _m('Confirm'),
+ // TRANS: Field label for repeat password field.
+ $this->out->password('confirm', _m('LABEL','Confirm'),
+ // TRANS: Field title for repeat password field.
_m('Same as password above.'));
$this->out->elementEnd('li');
$this->out->elementEnd('ul');
function formActions()
{
- $this->out->submit('save', _m('Save'));
+ // TRANS: Button text for completing registration by e-mail.
+ $this->out->submit('save', _m('BUTTON','Save'));
}
}