]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
fix 0.7.x 0.8.x merge conflict in register.php
authorRobin Millette <millette@controlyourself.ca>
Sat, 18 Apr 2009 21:14:31 +0000 (21:14 +0000)
committerRobin Millette <millette@controlyourself.ca>
Sat, 18 Apr 2009 21:14:31 +0000 (21:14 +0000)
1  2 
actions/register.php

diff --combined actions/register.php
index c3cfb8d255d2309e72315c54660a8fbede05338d,033cf557f8959d7ded047794425207e82a1b82ca..dcbbbdb6a6de9afb238715b7ff1cac3d78f40b7d
@@@ -55,6 -55,45 +55,45 @@@ class RegisterAction extends Actio
  
      var $registered = false;
  
+     /**
+      * Prepare page to run
+      *
+      *
+      * @param $args
+      * @return string title
+      */
+     function prepare($args)
+     {
+         parent::prepare($args);
+         $this->code = $this->trimmed('code');
+         if (empty($this->code)) {
+             common_ensure_session();
+             if (array_key_exists('invitecode', $_SESSION)) {
+                 $this->code = $_SESSION['invitecode'];
+             }
+         }
+         if (common_config('site', 'inviteonly') && empty($this->code)) {
+             $this->clientError(_('Sorry, only invited people can register.'));
+             return false;
+         }
+         if (!empty($this->code)) {
+             $this->invite = Invitation::staticGet('code', $this->code);
+             if (empty($this->invite)) {
+                 $this->clientError(_('Sorry, invalid invitation code.'));
+                 return false;
+             }
+             // Store this in case we need it
+             common_ensure_session();
+             $_SESSION['invitecode'] = $this->code;
+         }
+         return true;
+     }
      /**
       * Title of the page
       *
              $token = $this->trimmed('token');
              if (!$token || $token != common_session_token()) {
                  $this->showForm(_('There was a problem with your session token. '.
-                             'Try again, please.'));
+                                   'Try again, please.'));
                  return;
              }
  
  
              if (!$this->boolean('license')) {
                  $this->showForm(_('You can\'t register if you don\'t '.
-                             'agree to the license.'));
+                                   'agree to the license.'));
              } else if ($email && !Validate::email($email, true)) {
                  $this->showForm(_('Not a valid email address.'));
              } else if (!Validate::string($nickname, array('min_length' => 1,
-                             'max_length' => 64,
-                             'format' => NICKNAME_FMT))) {
+                                                           'max_length' => 64,
+                                                           'format' => NICKNAME_FMT))) {
                  $this->showForm(_('Nickname must have only lowercase letters '.
-                             'and numbers and no spaces.'));
+                                   '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)) {
              } else if ($this->emailExists($email)) {
                  $this->showForm(_('Email address already exists.'));
              } else if (!is_null($homepage) && (strlen($homepage) > 0) &&
-                     !Validate::uri($homepage,
-                         array('allowed_schemes' =>
-                             array('http', 'https')))) {
+                        !Validate::uri($homepage,
+                                       array('allowed_schemes' =>
+                                             array('http', 'https')))) {
                  $this->showForm(_('Homepage is not a valid URL.'));
                  return;
              } else if (!is_null($fullname) && mb_strlen($fullname) > 255) {
              } else if ($password != $confirm) {
                  $this->showForm(_('Passwords don\'t match.'));
              } else if ($user = User::register(array('nickname' => $nickname,
-                             'password' => $password,
-                             'email' => $email,
-                             'fullname' => $fullname,
-                             'homepage' => $homepage,
-                             'bio' => $bio,
-                             'location' => $location,
-                             'code' => $code))) {
+                                                     'password' => $password,
+                                                     'email' => $email,
+                                                     'fullname' => $fullname,
+                                                     'homepage' => $homepage,
+                                                     'bio' => $bio,
+                                                     'location' => $location,
+                                                     'code' => $code))) {
                  if (!$user) {
                      $this->showForm(_('Invalid username or password.'));
                      return;
  
      // overrided to add hentry, and content-inner class
      function showContentBlock()
-      {
-          $this->elementStart('div', array('id' => 'content', 'class' => 'hentry'));
-          $this->showPageTitle();
-          $this->showPageNoticeBlock();
-          $this->elementStart('div', array('id' => 'content_inner',
-              'class' => 'entry-content'));
-          // show the actual content (forms, lists, whatever)
-          $this->showContent();
-          $this->elementEnd('div');
-          $this->elementEnd('div');
-      }
+     {
+         $this->elementStart('div', array('id' => 'content', 'class' => 'hentry'));
+         $this->showPageTitle();
+         $this->showPageNoticeBlock();
+         $this->elementStart('div', array('id' => 'content_inner',
+                                          'class' => 'entry-content'));
+         // show the actual content (forms, lists, whatever)
+         $this->showContent();
+         $this->elementEnd('div');
+         $this->elementEnd('div');
+     }
  
      /**
       * Instructions or a notice for the page
  
      function showFormContent()
      {
 +        $code = $this->trimmed('code');
 +
 +        $invite = null;
 +
 +        if ($code) {
 +            $invite = Invitation::staticGet($code);
 +        }
 +
 +        if (common_config('site', 'inviteonly') && !($code && $invite)) {
 +            $this->clientError(_('Sorry, only invited people can register.'));
 +            return;
 +        }
 +
          $this->elementStart('form', array('method' => 'post',
-                     'id' => 'form_register',
-                     'class' => 'form_settings',
-                     'action' => common_local_url('register')));
+                                           'id' => 'form_register',
+                                           'class' => 'form_settings',
+                                           'action' => common_local_url('register')));
          $this->elementStart('fieldset');
          $this->element('legend', null, 'Account settings');
          $this->hidden('token', common_session_token());
  
-         if ($code) {
-             $this->hidden('code', $code);
+         if ($this->code) {
+             $this->hidden('code', $this->code);
          }
  
          $this->elementStart('ul', 'form_data');
          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. Required.'));
              $this->elementEnd('li');
              $this->elementStart('li');
              $this->password('password', _('Password'),
-                     _('6 or more characters. Required.'));
+                             _('6 or more characters. Required.'));
              $this->elementEnd('li');
              $this->elementStart('li');
              $this->password('confirm', _('Confirm'),
-                     _('Same as password above. Required.'));
+                             _('Same as password above. Required.'));
              $this->elementEnd('li');
              $this->elementStart('li');
-             if ($invite && $invite->address_type == 'email') {
-                 $this->input('email', _('Email'), $invite->address,
-                         _('Used only for updates, announcements, '.
-                             'and password recovery'));
+             if ($this->invite && $this->invite->address_type == 'email') {
+                 $this->input('email', _('Email'), $this->invite->address,
+                              _('Used only for updates, announcements, '.
+                                'and password recovery'));
              } else {
                  $this->input('email', _('Email'), $this->trimmed('email'),
-                         _('Used only for updates, announcements, '.
-                             'and password recovery'));
+                              _('Used only for updates, announcements, '.
+                                'and password recovery'));
              }
              $this->elementEnd('li');
              $this->elementStart('li');
              $this->input('fullname', _('Full name'),
-                     $this->trimmed('fullname'),
-                     _('Longer name, preferably your "real" name'));
+                          $this->trimmed('fullname'),
+                          _('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'));
+                          $this->trimmed('homepage'),
+                          _('URL of your homepage, blog, '.
+                            'or profile on another site'));
              $this->elementEnd('li');
              $this->elementStart('li');
              $this->textarea('bio', _('Bio'),
-                     $this->trimmed('bio'),
-                     _('Describe yourself and your '.
-                         'interests in 140 chars'));
+                             $this->trimmed('bio'),
+                             _('Describe yourself and your '.
+                               'interests in 140 chars'));
              $this->elementEnd('li');
              $this->elementStart('li');
              $this->input('location', _('Location'),
-                     $this->trimmed('location'),
-                     _('Where you are, like "City, '.
-                         'State (or Region), Country"'));
+                          $this->trimmed('location'),
+                          _('Where you are, like "City, '.
+                            'State (or Region), Country"'));
              $this->elementEnd('li');
              Event::handle('EndRegistrationFormData', array($this));
              $this->elementStart('li', array('id' => 'settings_rememberme'));
              $this->checkbox('rememberme', _('Remember me'),
-                     $this->boolean('rememberme'),
-                     _('Automatically login in the future; '.
-                         'not for shared computers!'));
+                             $this->boolean('rememberme'),
+                             _('Automatically login in the future; '.
+                               'not for shared computers!'));
              $this->elementEnd('li');
              $attrs = array('type' => 'checkbox',
-                     'id' => 'license',
-                     'class' => 'checkbox',
-                     'name' => 'license',
-                     'value' => 'true');
+                            'id' => 'license',
+                            'class' => 'checkbox',
+                            'name' => 'license',
+                            'value' => 'true');
              if ($this->boolean('license')) {
                  $attrs['checked'] = 'checked';
              }
              $this->elementStart('label', array('class' => 'checkbox', 'for' => 'license'));
              $this->text(_('My text and files are available under '));
              $this->element('a', array('href' => common_config('license', 'url')),
-                     common_config('license', 'title'), _("Creative Commons Attribution 3.0"));
+                            common_config('license', 'title'), _("Creative Commons Attribution 3.0"));
              $this->text(_(' except this private data: password, '.
-                         'email address, IM address, and phone number.'));
+                           'email address, IM address, and phone number.'));
              $this->elementEnd('label');
              $this->elementEnd('li');
          }