Ejemplo n.º 1
0
 public function isEmailDenied($email)
 {
     $config = CFactory::getConfig();
     CFactory::load('helpers', 'validate');
     $denied_domains = $config->get('denieddomains');
     if (!empty($denied_domains)) {
         $delimiter = ';';
         $blacklists = explode($delimiter, $denied_domains);
         if (count($blacklists) > 0) {
             foreach ($blacklists as $domain) {
                 if (CValidateHelper::domain($email, $domain)) {
                     return true;
                 }
             }
         }
     }
     return false;
 }
Ejemplo n.º 2
0
 public function isValid($value, $required)
 {
     CFactory::load('helpers', 'validate');
     $isValid = CValidateHelper::email($value);
     if (!empty($value) && !$isValid) {
         return false;
     }
     //validate string length
     if (!$this->validLength($value)) {
         return false;
     }
     //validate allowed domain
     if (isset($this->params)) {
         $allowed = $this->params->get('allowed');
         if ($allowed) {
             $delimiter = ';';
             $allowed_list = explode($delimiter, $allowed);
             $valid = false;
             if (count($allowed_list) > 0) {
                 foreach ($allowed_list as $domain) {
                     if (CValidateHelper::domain($value, $domain)) {
                         $valid = true;
                     }
                 }
             }
             if (!$valid) {
                 return false;
             }
         }
     }
     //validate backlist domain
     if (isset($this->params)) {
         $blacklist = $this->params->get('blacklist');
         if ($blacklist) {
             $delimiter = ';';
             $blacklists = explode($delimiter, $blacklist);
             if (count($blacklists) > 0) {
                 foreach ($blacklists as $domain) {
                     if (CValidateHelper::domain($value, $domain)) {
                         return false;
                     }
                 }
             }
         }
     }
     return true;
 }