X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fregister.php;h=d0dbceeb81c4f1dd63f88072a564bb202801abfa;hb=a4b3edaf40a397fca66f1f6be4b3c21af03ab6c8;hp=d1bc381fbc52358ea8ed7d9dcc01deda5a0a0c04;hpb=39392e03a71d94d6b984033b994b417edfc2d8d6;p=quix0rs-gnu-social.git diff --git a/actions/register.php b/actions/register.php index d1bc381fbc..d0dbceeb81 100644 --- a/actions/register.php +++ b/actions/register.php @@ -40,25 +40,21 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ - class RegisterAction extends Action { /** * Has there been an error? */ - var $error = null; /** * Have we registered? */ - var $registered = false; /** * Are we processing an invite? */ - var $invite = null; /** @@ -68,7 +64,6 @@ class RegisterAction extends Action * @param $args * @return string title */ - function prepare($args) { parent::prepare($args); @@ -105,7 +100,6 @@ class RegisterAction extends Action * * @return string title */ - function title() { if ($this->registered) { @@ -126,7 +120,6 @@ class RegisterAction extends Action * * @return void */ - function handle($args) { parent::handle($args); @@ -156,7 +149,6 @@ class RegisterAction extends Action * * @return void */ - function tryRegister() { if (Event::handle('StartRegistrationTry', array($this))) { @@ -191,19 +183,18 @@ class RegisterAction extends Action } // Input scrubbing - $nickname = common_canonical_nickname($nickname); + try { + $nickname = Nickname::normalize($nickname); + } catch (NicknameException $e) { + $this->showForm($e->getMessage()); + } $email = common_canonical_email($email); if (!$this->boolean('license')) { - $this->showForm(_('You can\'t register if you don\'t '. + $this->showForm(_('You cannot register if you don\'t '. 'agree to the license.')); } else if ($email && !Validate::email($email, common_config('email', 'check_domain'))) { $this->showForm(_('Not a valid email address.')); - } else if (!Validate::string($nickname, array('min_length' => 1, - 'max_length' => 64, - 'format' => NICKNAME_FMT))) { - $this->showForm(_('Nickname must have only lowercase letters '. - 'and numbers and no spaces.')); } else if ($this->nicknameExists($nickname)) { $this->showForm(_('Nickname already in use. Try another one.')); } else if (!User::allowed_nickname($nickname)) { @@ -217,14 +208,16 @@ class RegisterAction extends Action $this->showForm(_('Homepage is not a valid URL.')); return; } else if (!is_null($fullname) && mb_strlen($fullname) > 255) { - $this->showForm(_('Full name is too long (max 255 chars).')); + $this->showForm(_('Full name is too long (maximum 255 characters).')); return; } else if (Profile::bioTooLong($bio)) { - $this->showForm(sprintf(_('Bio is too long (max %d chars).'), + $this->showForm(sprintf(_m('Bio is too long (maximum %d character).', + 'Bio is too long (maximum %d characters).', + Profile::maxBio()), Profile::maxBio())); return; } else if (!is_null($location) && mb_strlen($location) > 255) { - $this->showForm(_('Location is too long (max 255 chars).')); + $this->showForm(_('Location is too long (maximum 255 characters).')); return; } else if (strlen($password) < 6) { $this->showForm(_('Password must be 6 or more characters.')); @@ -276,7 +269,6 @@ class RegisterAction extends Action * * @return boolean true if the nickname already exists */ - function nicknameExists($nickname) { $user = User::staticGet('nickname', $nickname); @@ -292,7 +284,6 @@ class RegisterAction extends Action * * @return boolean true if the address already exists */ - function emailExists($email) { $email = common_canonical_email($email); @@ -331,7 +322,6 @@ class RegisterAction extends Action * * @return void */ - function showPageNotice() { if ($this->registered) { @@ -343,7 +333,7 @@ class RegisterAction extends Action common_markup_to_html(_('With this form you can create '. 'a new account. ' . 'You can then post notices and '. - 'link up to friends and colleagues. ')); + 'link up to friends and colleagues.')); $this->elementStart('div', 'instructions'); $this->raw($instr); @@ -360,7 +350,6 @@ class RegisterAction extends Action * * @return void */ - function showForm($error=null) { $this->error = $error; @@ -375,7 +364,6 @@ class RegisterAction extends Action * * @return void */ - function showContent() { if ($this->registered) { @@ -390,7 +378,6 @@ class RegisterAction extends Action * * @return void */ - function showFormContent() { $code = $this->trimmed('code'); @@ -422,43 +409,47 @@ class RegisterAction extends Action if (Event::handle('StartRegistrationFormData', array($this))) { $this->elementStart('li'); $this->input('nickname', _('Nickname'), $this->trimmed('nickname'), - _('1-64 lowercase letters or numbers, '. - 'no punctuation or spaces. Required.')); + _('1-64 lowercase letters or numbers, no punctuation or spaces.')); $this->elementEnd('li'); $this->elementStart('li'); $this->password('password', _('Password'), - _('6 or more characters. Required.')); + _('6 or more characters.')); $this->elementEnd('li'); $this->elementStart('li'); $this->password('confirm', _('Confirm'), - _('Same as password above. Required.')); + _('Same as password above.')); $this->elementEnd('li'); $this->elementStart('li'); if ($this->invite && $this->invite->address_type == 'email') { $this->input('email', _('Email'), $this->invite->address, _('Used only for updates, announcements, '. - 'and password recovery')); + 'and password recovery.')); } else { $this->input('email', _('Email'), $this->trimmed('email'), _('Used only for updates, announcements, '. - 'and password recovery')); + 'and password recovery.')); } $this->elementEnd('li'); $this->elementStart('li'); $this->input('fullname', _('Full name'), $this->trimmed('fullname'), - _('Longer name, preferably your "real" name')); + _('Longer name, preferably your "real" name.')); $this->elementEnd('li'); $this->elementStart('li'); $this->input('homepage', _('Homepage'), $this->trimmed('homepage'), _('URL of your homepage, blog, '. - 'or profile on another site')); + 'or profile on another site.')); $this->elementEnd('li'); $this->elementStart('li'); $maxBio = Profile::maxBio(); if ($maxBio > 0) { - $bioInstr = sprintf(_('Describe yourself and your interests in %d chars'), + // TRANS: Tooltip for field label in form for profile settings. Plural + // TRANS: is decided by the number of characters available for the + // TRANS: biography (%d). + $bioInstr = sprintf(_m('Describe yourself and your interests in %d character', + 'Describe yourself and your interests in %d characters', + $maxBio), $maxBio); } else { $bioInstr = _('Describe yourself and your interests'); @@ -471,7 +462,7 @@ class RegisterAction extends Action $this->input('location', _('Location'), $this->trimmed('location'), _('Where you are, like "City, '. - 'State (or Region), Country"')); + 'State (or Region), Country".')); $this->elementEnd('li'); Event::handle('EndRegistrationFormData', array($this)); $this->elementStart('li', array('id' => 'settings_rememberme')); @@ -491,6 +482,46 @@ class RegisterAction extends Action $this->elementStart('li'); $this->element('input', $attrs); $this->elementStart('label', array('class' => 'checkbox', 'for' => 'license')); + $this->raw($this->licenseCheckbox()); + $this->elementEnd('label'); + $this->elementEnd('li'); + } + $this->elementEnd('ul'); + $this->submit('submit', _('Register')); + $this->elementEnd('fieldset'); + $this->elementEnd('form'); + } + + function licenseCheckbox() + { + $out = ''; + switch (common_config('license', 'type')) { + case 'private': + // TRANS: Copyright checkbox label in registration dialog, for private sites. + // TRANS: %1$s is the StatusNet sitename. + $out .= htmlspecialchars(sprintf( + _('I understand that content and data of %1$s are private and confidential.'), + common_config('site', 'name'))); + // fall through + case 'allrightsreserved': + if ($out != '') { + $out .= ' '; + } + if (common_config('license', 'owner')) { + // TRANS: Copyright checkbox label in registration dialog, for all rights reserved with a specified copyright owner. + $out .= htmlspecialchars(sprintf( + _('My text and files are copyright by %1$s.'), + common_config('license', 'owner'))); + } else { + // TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors. + $out .= htmlspecialchars(_('My text and files remain under my own copyright.')); + } + // TRANS: Copyright checkbox label in registration dialog, for all rights reserved. + $out .= ' ' . _('All rights reserved.'); + break; + case 'cc': // fall through + default: + // TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses. $message = _('My text and files are available under %s ' . 'except this private data: password, ' . 'email address, IM address, and phone number.'); @@ -499,14 +530,9 @@ class RegisterAction extends Action '">' . htmlspecialchars(common_config('license', 'title')) . ''; - $this->raw(sprintf(htmlspecialchars($message), $link)); - $this->elementEnd('label'); - $this->elementEnd('li'); + $out .= sprintf(htmlspecialchars($message), $link); } - $this->elementEnd('ul'); - $this->submit('submit', _('Register')); - $this->elementEnd('fieldset'); - $this->elementEnd('form'); + return $out; } /** @@ -516,7 +542,6 @@ class RegisterAction extends Action * * @return void */ - function showSuccess() { $this->registered = true; @@ -530,7 +555,6 @@ class RegisterAction extends Action * * @return void */ - function showSuccessContent() { $nickname = $this->arg('nickname'); @@ -577,11 +601,13 @@ class RegisterAction extends Action * * @return void */ - function showLocalNav() { $nav = new LoginGroupNav($this); $nav->show(); } -} + function showNoticeForm() + { + } +}