X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fplugins%2Fverifier%2Fverifier%2Femail.php;h=286f4551d6dd9745b6ee3254630e24873c8ceeb2;hb=c0f18416f529232b5555c6410a8765a5125ebcd3;hp=b525c31574bdf7b1100b716767148473b9da5b33;hpb=50522c53acc9e61a4a7de3a1890c4ba93e2f61b4;p=lhc%2Fweb%2Fwww.git diff --git a/www/plugins/verifier/verifier/email.php b/www/plugins/verifier/verifier/email.php index b525c315..286f4551 100644 --- a/www/plugins/verifier/verifier/email.php +++ b/www/plugins/verifier/verifier/email.php @@ -1,11 +1,13 @@ echapper_tags($valeur))); } - + // Choix du mode de verification de la syntaxe des courriels - if (!$options['mode'] or !in_array($options['mode'], array('normal','rfc5322','strict'))){ + if (empty($options['mode']) or !in_array($options['mode'], array('normal','rfc5322','strict'))) { $mode = 'normal'; - } - else{ + } else { $mode = $options['mode']; } - - $fonctions_disponibles = array('normal' => 'email_valide', 'rfc5322' => 'verifier_email_rfc5322', 'strict' => 'verifier_email_de_maniere_stricte'); + + $fonctions_disponibles = array( + 'normal' => 'email_valide', + 'rfc5322' => 'verifier_email_rfc5322', + 'strict' => 'verifier_email_de_maniere_stricte' + ); $fonction_verif = $fonctions_disponibles[$mode]; - - if (!$fonction_verif($valeur)) + + if (!$fonction_verif($valeur)) { return _T('verifier:erreur_email', array('email' => echapper_tags($valeur))); - else + } else { return ''; + } } /** * Changement de la RegExp d'origine * - * Respect de la RFC5322 + * Respect de la RFC5322 * * @link (phraseur détaillé ici : http://www.dominicsayers.com/isemail/) * @param string $valeur La valeur à vérifier * @return boolean Retourne true uniquement lorsque le mail est valide */ -function verifier_email_rfc5322($valeur){ +function verifier_email_rfc5322($valeur) { // Si c'est un spammeur autant arreter tout de suite if (preg_match(",[\n\r].*(MIME|multipart|Content-),i", $valeur)) { spip_log("Tentative d'injection de mail : $valeur"); @@ -61,8 +68,9 @@ function verifier_email_rfc5322($valeur){ } include_spip('inc/is_email'); foreach (explode(',', $valeur) as $adresse) { - if (!is_email(trim($adresse))) + if (!is_email(trim($adresse))) { return false; + } } return true; } @@ -77,7 +85,7 @@ function verifier_email_rfc5322($valeur){ * @param string $valeur La valeur à vérifier * @return boolean Retourne true uniquement lorsque le mail est valide */ -function verifier_email_de_maniere_stricte($valeur){ +function verifier_email_de_maniere_stricte($valeur) { // Si c'est un spammeur autant arreter tout de suite if (preg_match(",[\n\r].*(MIME|multipart|Content-),i", $valeur)) { spip_log("Tentative d'injection de mail : $valeur"); @@ -86,11 +94,12 @@ function verifier_email_de_maniere_stricte($valeur){ foreach (explode(',', $valeur) as $adresse) { // nettoyer certains formats // "Marie Toto " - $adresse = trim(preg_replace(",^[^<>\"]*<([^<>\"]+)>$,i", "\\1", $adresse)); - if (!preg_match('/^([A-Za-z0-9]){1}([A-Za-z0-9]|-|_|\.)*@[A-Za-z0-9]([A-Za-z0-9]|-|\.){1,}\.[A-Za-z]{2,4}$/', $adresse)) + $adresse = trim(preg_replace(',^[^<>\"]*<([^<>\"]+)>$,i', '\\1', $adresse)); + if (!preg_match('/^([A-Za-z0-9]){1}([A-Za-z0-9]|-|_|\.)*@[A-Za-z0-9]([A-Za-z0-9]|-|\.){1,}\.[A-Za-z]{2,4}$/', $adresse)) { return false; + } } - return true; + return true; } /** @@ -100,11 +109,12 @@ function verifier_email_de_maniere_stricte($valeur){ * @param string $valeur La valeur à vérifier * @return boolean Retourne false lorsque le mail est déjà utilisé */ -function verifier_disponibilite_email($valeur,$exclure_id_auteur=null){ +function verifier_disponibilite_email($valeur, $exclure_id_auteur = null) { include_spip('base/abstract_sql'); - if(sql_getfetsel('id_auteur', 'spip_auteurs', 'email='.sql_quote($valeur).(!is_null($exclure_id_auteur)?"AND statut<>'5poubelle' AND id_auteur<>".intval($exclure_id_auteur):''))) + if (sql_getfetsel('id_auteur', 'spip_auteurs', 'email='.sql_quote($valeur).(!is_null($exclure_id_auteur)?"AND statut<>'5poubelle' AND id_auteur<>".intval($exclure_id_auteur):''))) { return false; - else + } else { return true; + } }