From 7c76fd74be0a1635ce42c0b2ab4ee2614594e56c Mon Sep 17 00:00:00 2001
From: "tcharlss@hotmail.fr" <>
Date: Thu, 3 Apr 2014 11:29:56 +0000
Subject: [PATCH] =?UTF-8?q?V=C3=A9rification=20des=20num=C3=A9ros=20de=20t?=
 =?UTF-8?q?=C3=A9l=C3=A9phone=20:=20-=20Corrections=20d'un=20petit=20bug?=
 =?UTF-8?q?=20sur=20les=20pr=C3=A9fixes.=20Le=20preg=5Freplace=20n'=C3=A9t?=
 =?UTF-8?q?ait=20pas=20effectu=C3=A9=20sur=20la=20bonne=20variable=20($val?=
 =?UTF-8?q?eur=20au=20lieu=20de=20$tel),=20du=20coup=20la=20v=C3=A9rificat?=
 =?UTF-8?q?ion=20des=20pr=C3=A9fixes=20d=C3=A9connait.=20-=20On=20en=20pro?=
 =?UTF-8?q?fite=20pour=20accepter=20aussi=20les=200033=20(en=20plus=20des?=
 =?UTF-8?q?=20+33).=20-=20On=20refuse=20les=20num=C3=A9ros=20compos=C3=A9s?=
 =?UTF-8?q?=20uniquement=20de=20lettres=20:=20cas=20de=20spammeurs=20rempl?=
 =?UTF-8?q?issant=20ce=20champ=20avec=20des=20p=C3=A9noms=20exotiques.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 paquet.xml             |  2 +-
 plugin.xml             |  2 +-
 verifier/telephone.php | 21 +++++++++++++--------
 3 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/paquet.xml b/paquet.xml
index 8c08750..5cacc47 100644
--- a/paquet.xml
+++ b/paquet.xml
@@ -1,7 +1,7 @@
 <paquet
 	prefix="verifier"
 	categorie="outil"
-	version="1.0.4"
+	version="1.0.5"
 	etat="stable"
 	compatibilite="[2.0.10;3.0.*]"
 	logo="images/verifier-128.png"
diff --git a/plugin.xml b/plugin.xml
index 977ab0e..6e6eb45 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -9,7 +9,7 @@
 	<auteur>[Les Développements Durables->http://www.ldd.fr]</auteur>
 	<icon>images/verifier-128.png</icon>
 	<licence>GPL v3</licence>
-	<version>1.0.4</version>
+	<version>1.0.5</version>
 	<etat>stable</etat>
 	<description>
 		<multi>
diff --git a/verifier/telephone.php b/verifier/telephone.php
index 5261bb2..2051e24 100644
--- a/verifier/telephone.php
+++ b/verifier/telephone.php
@@ -21,18 +21,22 @@ function verifier_telephone_dist($valeur, $options=array()){
 
 	// On accepte differentes notations, les points, les tirets, les espaces, les slashes
 	$tel = preg_replace("#\.|/|-| #i",'',$valeur);
-	
-	if (preg_match("/^\+33/", $tel)) {
+
+	// Pour les prefixes, on accepte les notations +33 et 0033
+	$prefixe_FR = "/^(\+|00)33/";
+	$prefixe_ES = "/^(\+|00)34/";
+	$prefixe_CH = "/^(\+|00)41/";
+	if (preg_match($prefixe_FR, $tel)) {
 		$options['pays'] = 'FR';
-		$tel = preg_replace('/^\+33/','0',$valeur);
+		$tel = preg_replace($prefixe_FR,'0',$tel);
 	}
-	if (preg_match("/^\+34/", $tel)) {
+	if (preg_match($prefixe_ES, $tel)) {
 		$options['pays'] = 'ES';
-		$tel = preg_replace('/^\+34/','',$valeur);
+		$tel = preg_replace($prefixe_ES,'',$tel);
 	}
-	if (preg_match("/^\+41/", $tel)) {
+	if (preg_match($prefixe_CH, $tel)) {
 		$options['pays'] = 'CH';
-		$tel = preg_replace('/^\+41/','0',$valeur);
+		$tel = preg_replace($prefixe_CH,'0',$tel);
 	}
 
 	switch($options['pays']){
@@ -46,8 +50,9 @@ function verifier_telephone_dist($valeur, $options=array()){
 			if (!preg_match("/^0[1-9][0-9]{8}$/",$tel)) return $erreur;
 		default:
 			// On interdit les 000 etc. mais je pense qu'on peut faire plus malin
+			// On interdit egalement les "numéros" tout en lettres
 			// TODO finaliser les numéros à la con
-			if($tel == '0000000000') return $erreur;
+			if(intval($tel) == 0) return $erreur;
 			break;
 	}
 	
-- 
GitLab