]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
check for valid email on invite
authorEvan Prodromou <evan@status.net>
Mon, 18 Apr 2011 17:26:46 +0000 (13:26 -0400)
committerEvan Prodromou <evan@status.net>
Mon, 18 Apr 2011 17:26:46 +0000 (13:26 -0400)
actions/invite.php

index 35606037f35a0baf13d4602951de76857646446c..8bc2e4808afc20eee093468f9c10699fbe0d8ab0 100644 (file)
@@ -80,15 +80,28 @@ class InviteAction extends CurrentUserDesignAction
             $email = trim($email);
             $valid = null;
 
-            if (Event::handle('StartValidateEmailInvite', array($user, $email, &$valid))) {
-                $valid = Validate::email($email, common_config('email', 'check_domain'));
-                Event::handle('EndValidateEmailInvite', array($user, $email, &$valid));
-            }
+            try {
+
+                if (Event::handle('StartValidateUserEmail', array(null, $email, &$valid))) {
+                    $valid = Validate::email($email, common_config('email', 'check_domain'));
+                    Event::handle('EndValidateUserEmail', array(null, $email, &$valid));
+                }
 
-            if (!$valid) {
-                // TRANS: Form validation message when providing an e-mail address that does not validate.
-                // TRANS: %s is an invalid e-mail address.
-                $this->showForm(sprintf(_('Invalid email address: %s.'), $email));
+                if ($valid) {
+                    if (Event::handle('StartValidateEmailInvite', array($user, $email, &$valid))) {
+                        $valid = true;
+                        Event::handle('EndValidateEmailInvite', array($user, $email, &$valid));
+                    }
+                }
+
+                if (!$valid) {
+                    // TRANS: Form validation message when providing an e-mail address that does not validate.
+                    // TRANS: %s is an invalid e-mail address.
+                    $this->showForm(sprintf(_('Invalid email address: %s.'), $email));
+                    return;
+                }
+            } catch (ClientException $e) {
+                $this->showForm($e->getMessage());
                 return;
             }
         }