From 22e43ef6601d4b6c912424b0affcb984ea627b2f Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Fri, 27 May 2005 20:39:36 +0000
Subject: [PATCH] le critere IN, toujours  OUT

---
 inc-criteres.php3   | 5 -----
 inc-html-squel.php3 | 6 +++---
 2 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/inc-criteres.php3 b/inc-criteres.php3
index e98b65fd75..77ca593c30 100644
--- a/inc-criteres.php3
+++ b/inc-criteres.php3
@@ -550,11 +550,6 @@ function calculer_critere_DEFAUT($idb, &$boucles, $crit) {
 		else $col = "$col_table.$col";
 	}
 	if (strtoupper($op) == 'IN') {
-	  // traitement special d'une suite de valeurs
-	  foreach ($val as $k => $v) {
-	    if (!ereg("^$", $v))
-	      $val[$k] = "\n'\" . addslashes(" . ($v) . ") . \"'";
-	  }
 	  $val = join(', ',$val);
 
 	  if (!ereg("^ *\(.*) *$", $val)) $val = "($val)";
diff --git a/inc-html-squel.php3 b/inc-html-squel.php3
index 7046d83ecf..9045040f3d 100644
--- a/inc-html-squel.php3
+++ b/inc-html-squel.php3
@@ -183,7 +183,7 @@ function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) {
 		else if ($args[0] == "'")
 			preg_match ("/^(')([^']*)(')(.*)$/ms", $args, $regs);
 		else {
-		  preg_match("/^( *)([^,}]*)([,}$fin].*)$/ms", $args, $regs);
+		  preg_match("/^([[:space:]]*)([^,}]*)([,}$fin].*)$/ms", $args, $regs);
 		  if (!strlen($regs[2]))
 		    {
 		      erreur_squelette(_T('zbug_info_erreur_squelette'), $args);
@@ -315,7 +315,7 @@ function phraser_criteres($params, &$result) {
 			     !== false))
 			  $op = ',';
 			else {
-			  ereg("^([a-zA-Z][a-zA-Z0-9]*) *(.*)$", $param, $m);
+			  preg_match("/^([a-zA-Z][a-zA-Z0-9]*)[[:space:]]*(.*)$/ms", $param, $m);
 			  $op = $m[1];
 			  $v[1][0]->texte = $m[2];
 			}
@@ -364,7 +364,7 @@ function phraser_criteres($params, &$result) {
 			      $result->hash = true;
 			  if (ereg('^([0-9-]+)(/)([0-9-]+)$', $param, $m)) {
 			    $crit = phraser_critere_infixe($m[1], $m[3],$v, '/', '', '');
-			  } elseif (ereg('^(`?[A-Za-z_]+\(?[A-Za-z_]*\)?`?) *(\??)(!?)(<=?|>=?|==?|IN) *"?([^<>=!"]*)"?$', $param, $m)) {
+			  } elseif (ereg('^(`?[A-Za-z_]+\(?[A-Za-z_]*\)?`?)[[:space:]]*(\??)(!?)(<=?|>=?|==?|IN)[[:space:]]*"?([^<>=!"]*)"?$', $param, $m)) {
 			    $crit = phraser_critere_infixe($m[1], $m[5],$v,
 							   (($m[1] == 'lang_select') ? $m[1] : trim($m[4])),
 							   $m[3], $m[2]);
-- 
GitLab