From 7507a71121d8e4e0499764883fe7e1a528eefceb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Thu, 18 Jun 2015 14:47:33 +0200 Subject: [PATCH] Lenght of fields --- htdocs/core/lib/functions.lib.php | 15 ++++++++++++--- htdocs/projet/list.php | 4 ++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index de6cacff175..cbd7d308f07 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -5022,7 +5022,9 @@ function dol_getmypid() * * @param string|string[] $fields String or array of strings, filled with the name of all fields in the SQL query we must check (combined with a OR) * @param string $value The value to look for. - * If param $mode is 0, can contains several keywords separated with a space, like "keyword1 keyword2" = We want record field like keyword1 and field like keyword2 + * If param $mode is 0, can contains several keywords separated with a space or | + * like "keyword1 keyword2" = We want record field like keyword1 AND field like keyword2 + * or like "keyword1|keyword2" = We want record field like keyword1 OR field like keyword2 * If param $mode is 1, can contains an operator <, > or = like "<10" or ">=100.5 < 1000" * If param $mode is 2, can contains a list of id separated by comma like "1,3,4" * @param integer $mode 0=value is list of keywords, 1=value is a numeric test (Example ">5.5 <10"), 2=value is a list of id separated with comma (Example '1,3,4') @@ -5081,8 +5083,15 @@ function natural_search($fields, $value, $mode=0, $nofinaland=0) } else { - $newres .= ($i2 > 0 ? ' OR ' : '') . $field . " LIKE '%" . $db->escape(trim($crit)) . "%'"; - $i2++; // a criteria was added to string + $textcrit = ''; + $tmpcrits = explode('|',$crit); + $i3 = 0; + foreach($tmpcrits as $tmpcrit) + { + $newres .= (($i2 > 0 || $i3 > 0) ? ' OR ' : '') . $field . " LIKE '%" . $db->escape(trim($tmpcrit)) . "%'"; + $i3++; + } + $i2++; // a criteria was added to string } $i++; } diff --git a/htdocs/projet/list.php b/htdocs/projet/list.php index eacc44cb3dd..704b5413b4f 100644 --- a/htdocs/projet/list.php +++ b/htdocs/projet/list.php @@ -274,10 +274,10 @@ if ($resql) print '<input type="text" class="flat" name="search_ref" value="'.$search_ref.'" size="6">'; print '</td>'; print '<td class="liste_titre">'; - print '<input type="text" class="flat" name="search_label" value="'.$search_label.'">'; + print '<input type="text" class="flat" name="search_label" size="8" value="'.$search_label.'">'; print '</td>'; print '<td class="liste_titre">'; - print '<input type="text" class="flat" name="search_societe" value="'.$search_societe.'">'; + print '<input type="text" class="flat" name="search_societe" size="8" value="'.$search_societe.'">'; print '</td>'; // Sale representative print '<td class="liste_titre"> </td>'; -- GitLab