]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
check for email domain when validating email
authorEvan Prodromou <evan@status.net>
Mon, 18 Apr 2011 14:44:41 +0000 (10:44 -0400)
committerEvan Prodromou <evan@status.net>
Mon, 18 Apr 2011 14:44:41 +0000 (10:44 -0400)
plugins/DomainWhitelist/DomainWhitelistPlugin.php

index 3add6fad9501f07fbec615a718f456440909d5ca..615701f36b3315bbffb385d216005293da09f41c 100644 (file)
@@ -52,6 +52,22 @@ class DomainWhitelistPlugin extends Plugin
         return true;
     }
 
+    function onStartValidateUserEmail($user, $email, &$valid)
+    {
+        if (!$this->matchesWhitelist($email)) {
+            $whitelist = $this->getWhitelist();
+            if (count($whitelist) == 1) {
+                $message = sprintf(_("Email address must be in this domain: %s"),
+                                   $whitelist[0]);
+            } else {
+                $message = sprintf(_("Email address must be in one of these domains: %s"),
+                                   implode(', ', $whitelist));
+            }
+            throw new ClientException($message);
+        }
+        return true;
+    }
+
     function onStartAddEmailAddress($user, $email)
     {
         if (!$this->matchesWhitelist($email)) {