X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fregister.php;h=f030c279d878c8f6083915a94baf188b049b1aa5;hb=d6b28c64830f632bb2f4b6f3c9369b9e56ad217a;hp=26d6c247b3b20f392bb702588a3f5ac9bec4785a;hpb=5e47b1b2a07d8b300c511115ca018ece172a8505;p=quix0rs-gnu-social.git diff --git a/actions/register.php b/actions/register.php index 26d6c247b3..f030c279d8 100644 --- a/actions/register.php +++ b/actions/register.php @@ -27,9 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} +if (!defined('GNUSOCIAL') && !defined('STATUSNET')) { exit(1); } /** * An action for registering a new user account @@ -64,7 +62,7 @@ class RegisterAction extends Action * @param $args * @return string title */ - function prepare(array $args=array()) + protected function prepare(array $args=array()) { parent::prepare($args); $this->code = $this->trimmed('code'); @@ -83,7 +81,7 @@ class RegisterAction extends Action if (!empty($this->code)) { $this->invite = Invitation::getKV('code', $this->code); - if (empty($this->invite)) { + if (!$this->invite instanceof Invitation) { // TRANS: Client error displayed when trying to register to an invite-only site without a valid invitation. $this->clientError(_('Sorry, invalid invitation code.')); } @@ -229,40 +227,38 @@ class RegisterAction extends Action } else if ($password != $confirm) { // TRANS: Form validation error displayed when trying to register with non-matching passwords. $this->showForm(_('Passwords do not match.')); - } else if ($user = User::register(array('nickname' => $nickname, + } else { + try { + $user = User::register(array('nickname' => $nickname, 'password' => $password, 'email' => $email, 'fullname' => $fullname, 'homepage' => $homepage, 'bio' => $bio, 'location' => $location, - 'code' => $code))) { - if (!($user instanceof User)) { + 'code' => $code)); + // success! + if (!common_set_user($user)) { + // TRANS: Server error displayed when saving fails during user registration. + $this->serverError(_('Error setting user.')); + } + // this is a real login + common_real_login(true); + if ($this->boolean('rememberme')) { + common_debug('Adding rememberme cookie for ' . $nickname); + common_rememberme($user); + } + + // Re-init language env in case it changed (not yet, but soon) + common_init_language(); + + Event::handle('EndRegistrationTry', array($this)); + + $this->showSuccess(); + } catch (Exception $e) { // TRANS: Form validation error displayed when trying to register with an invalid username or password. - $this->showForm(_('Invalid username or password.')); - return; - } - // success! - if (!common_set_user($user)) { - // TRANS: Server error displayed when saving fails during user registration. - $this->serverError(_('Error setting user.')); - } - // this is a real login - common_real_login(true); - if ($this->boolean('rememberme')) { - common_debug('Adding rememberme cookie for ' . $nickname); - common_rememberme($user); + $this->showForm($e->getMessage()); } - - // Re-init language env in case it changed (not yet, but soon) - common_init_language(); - - Event::handle('EndRegistrationTry', array($this)); - - $this->showSuccess(); - } else { - // TRANS: Form validation error displayed when trying to register with an invalid username or password. - $this->showForm(_('Invalid username or password.')); } } }