X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fapiaccountregister.php;h=4a785998292b0c13c260f61620ab65ddedc43d04;hb=4d17d9533552ea620b83109c550e250a5c236291;hp=b5481df1cba369e239fb9564ab75c85711d359e8;hpb=305c9f33a79de19b3c2958611adbb7eb5e802590;p=quix0rs-gnu-social.git diff --git a/actions/apiaccountregister.php b/actions/apiaccountregister.php index b5481df1cb..4a78599829 100644 --- a/actions/apiaccountregister.php +++ b/actions/apiaccountregister.php @@ -1,5 +1,4 @@ clientError(_('Homepage is not a valid URL.'), 400); - } else if (!is_null($fullname) && mb_strlen($fullname) > 255) { - // TRANS: Form validation error displayed when trying to register with a too long full name. - $this->clientError(_('Full name is too long (maximum 255 characters).'), 400); } else if (Profile::bioTooLong($bio)) { // TRANS: Form validation error on registration page when providing too long a bio text. // TRANS: %d is the maximum number of characters for bio; used for plural. @@ -142,9 +138,6 @@ class ApiAccountRegisterAction extends ApiAction 'Bio is too long (maximum %d characters).', Profile::maxBio()), Profile::maxBio()), 400); - } else if (!is_null($location) && mb_strlen($location) > 255) { - // TRANS: Form validation error displayed when trying to register with a too long location. - $this->clientError(_('Location is too long (maximum 255 characters).'), 400); } else if (strlen($password) < 6) { // TRANS: Form validation error displayed when trying to register with too short a password. $this->clientError(_('Password must be 6 or more characters.'), 400); @@ -152,34 +145,31 @@ class ApiAccountRegisterAction extends ApiAction // TRANS: Form validation error displayed when trying to register with non-matching passwords. $this->clientError(_('Passwords do not match.'), 400); } else { - - // annoy spammers - sleep(7); - - if ($user = User::register(array('nickname' => $nickname, - 'password' => $password, - 'email' => $email, - 'fullname' => $fullname, - 'homepage' => $homepage, - 'bio' => $bio, - 'location' => $location, - 'code' => $this->code))) { - if (!$user instanceof User) { - // TRANS: Form validation error displayed when trying to register with an invalid username or password. - $this->clientError(_('Invalid username or password.'), 400); - } - - Event::handle('EndRegistrationTry', array($this)); - - $this->initDocument('json'); - $this->showJsonObjects($this->twitterUserArray($user->getProfile())); - $this->endDocument('json'); - - } else { - // TRANS: Form validation error displayed when trying to register with an invalid username or password. - $this->clientError(_('Invalid username or password.'), 400); - } - } + + // annoy spammers + sleep(7); + + if (Event::handle('APIStartRegistrationTry', array($this))) { + try { + $user = User::register(array('nickname' => $nickname, + 'password' => $password, + 'email' => $email, + 'fullname' => $fullname, + 'homepage' => $homepage, + 'bio' => $bio, + 'location' => $location, + 'code' => $this->code)); + Event::handle('EndRegistrationTry', array($this)); + + $this->initDocument('json'); + $this->showJsonObjects($this->twitterUserArray($user->getProfile())); + $this->endDocument('json'); + + } catch (Exception $e) { + $this->clientError($e->getMessage(), 400); + } + } + } } /**