Changeset 5805


Ignore:
Timestamp:
03/23/12 17:15:38 (12 years ago)
Author:
eduardow
Message:

Ticket #1948 - implementação de validação de caracteres de e-mail

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/inc/class.db_functions.inc.php

    r5514 r5805  
    188188 
    189189                        if(preg_replace('/\s+/', '', $array_addrs[$i]) != ""){ 
     190 
    190191                                if(strchr($array_addrs[$i],'@') == "") {                 
    191192                                        if(strpos($array_addrs[$i],'<') && strpos($array_addrs[$i],'>')){ 
    192193                                                $alias = substr($array_addrs[$i], strpos($array_addrs[$i],'<'), strpos($array_addrs[$i],'>')); 
    193194                                                $alias = str_replace('<','', str_replace('>','',$alias)); 
     195 
    194196                                        } 
    195197                                        else{ 
     
    197199                                                $alias = preg_replace('/\s/', '', $alias); 
    198200                                        }        
     201 
    199202                                        $arrayContacts = $this -> getContactsByGroupAlias($alias); 
     203 
    200204 
    201205                                        if($arrayContacts) { 
     
    213217                                        } 
    214218                                } 
     219//-- validação email -- 
    215220                                else{ 
    216                                         $array_addrs_final[$j] = $array_addrs[$i];  
     221                                        preg_match('/<([^>]+)>/', $array_addrs[$i], $match); 
     222                                        if(count($match) == 2){ 
     223                                        $ex_arr = explode('@', $match[1]); 
     224                                        }else{ 
     225                                         $ex_arr = explode('@', $array_addrs[$i]); 
     226                                         } 
     227                                        if(count($ex_arr) == 2){ 
     228                                                if($ex_arr[0] !== '' && $ex_arr[1] !== ''){ 
     229                                                        if(preg_match("/[^0-9a-zA-Z._-]+/", $ex_arr[0]) == 0 && preg_match("/[^0-9a-zA-Z._-]+/", $ex_arr[1]) == 0){ 
     230                                                                $array_addrs_final[$j] = $array_addrs[$i]; 
     231                                                        }else{ 
     232                                                                return array("False" => "$alias"); 
     233                                                         } 
     234                                                }else{ 
     235                                                        return array("False" => "$alias"); 
     236                                                 } 
     237                                        }else{ 
     238                                                return array("False" => "$alias"); 
     239                                         } 
    217240                                } 
     241//-- fim -- 
    218242                        }else{ 
    219243                                $array_addrs_final[$j] = $array_addrs[$i];  
Note: See TracChangeset for help on using the changeset viewer.