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">&nbsp;</td>';
-- 
GitLab