]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/apiaccountregister.php
Try to get mime data before hashing (cpu intensive)
[quix0rs-gnu-social.git] / actions / apiaccountregister.php
index 0d018007cdd5f1aec35d38bc58f241b3483ce759..4a785998292b0c13c260f61620ab65ddedc43d04 100644 (file)
@@ -131,9 +131,6 @@ class ApiAccountRegisterAction extends ApiAction
                    !common_valid_http_url($homepage)) {
             // TRANS: Form validation error displayed when trying to register with an invalid homepage URL.
                $this->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.
@@ -141,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);
@@ -154,25 +148,27 @@ class ApiAccountRegisterAction extends ApiAction
 
             // annoy spammers
             sleep(7);
-
-            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);
-            }
+            
+                       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);
+                               }                       
+                       }
         }
     }