]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/register.php
Merge branch '0.9.x' into 1.0.x
[quix0rs-gnu-social.git] / actions / register.php
index 2fc7ef9219acec175c0025daa3d236ab5ec974b0..6b039c93f65fb1deccc57fee928e6a9564ef77e9 100644 (file)
@@ -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,19 +64,11 @@ class RegisterAction extends Action
      * @param $args
      * @return string title
      */
-
     function prepare($args)
     {
         parent::prepare($args);
         $this->code = $this->trimmed('code');
 
-        // @todo this check should really be in index.php for all sensitive actions
-        $ssl = common_config('site', 'ssl');
-        if (empty($_SERVER['HTTPS']) && ($ssl == 'always' || $ssl == 'sometimes')) {
-            common_redirect(common_local_url('register'));
-            // exit
-        }
-
         if (empty($this->code)) {
             common_ensure_session();
             if (array_key_exists('invitecode', $_SESSION)) {
@@ -112,7 +100,6 @@ class RegisterAction extends Action
      *
      * @return string title
      */
-
     function title()
     {
         if ($this->registered) {
@@ -133,7 +120,6 @@ class RegisterAction extends Action
      *
      * @return void
      */
-
     function handle($args)
     {
         parent::handle($args);
@@ -163,7 +149,6 @@ class RegisterAction extends Action
      *
      * @return void
      */
-
     function tryRegister()
     {
         if (Event::handle('StartRegistrationTry', array($this))) {
@@ -198,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)) {
@@ -224,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.'));
@@ -283,7 +269,6 @@ class RegisterAction extends Action
      *
      * @return boolean true if the nickname already exists
      */
-
     function nicknameExists($nickname)
     {
         $user = User::staticGet('nickname', $nickname);
@@ -299,7 +284,6 @@ class RegisterAction extends Action
      *
      * @return boolean true if the address already exists
      */
-
     function emailExists($email)
     {
         $email = common_canonical_email($email);
@@ -338,7 +322,6 @@ class RegisterAction extends Action
      *
      * @return void
      */
-
     function showPageNotice()
     {
         if ($this->registered) {
@@ -348,9 +331,9 @@ class RegisterAction extends Action
         } else {
             $instr =
               common_markup_to_html(_('With this form you can create '.
-                                      ' a new account. ' .
+                                      '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);
@@ -367,7 +350,6 @@ class RegisterAction extends Action
      *
      * @return void
      */
-
     function showForm($error=null)
     {
         $this->error = $error;
@@ -382,7 +364,6 @@ class RegisterAction extends Action
      *
      * @return void
      */
-
     function showContent()
     {
         if ($this->registered) {
@@ -397,7 +378,6 @@ class RegisterAction extends Action
      *
      * @return void
      */
-
     function showFormContent()
     {
         $code = $this->trimmed('code');
@@ -429,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');
@@ -478,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'));
@@ -514,6 +498,7 @@ class RegisterAction extends Action
         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')));
@@ -557,7 +542,6 @@ class RegisterAction extends Action
      *
      * @return void
      */
-
     function showSuccess()
     {
         $this->registered = true;
@@ -571,7 +555,6 @@ class RegisterAction extends Action
      *
      * @return void
      */
-
     function showSuccessContent()
     {
         $nickname = $this->arg('nickname');
@@ -618,11 +601,9 @@ class RegisterAction extends Action
      *
      * @return void
      */
-
     function showLocalNav()
     {
         $nav = new LoginGroupNav($this);
         $nav->show();
     }
 }
-