Skip to content
Snippets Groups Projects
Commit 66c3bcd4 authored by Regis Houssin's avatar Regis Houssin
Browse files

Fix: remove cache and regex

parent 1aead232
No related branches found
No related tags found
No related merge requests found
...@@ -860,7 +860,7 @@ class Form ...@@ -860,7 +860,7 @@ class Form
if ($conf->global->PRODUIT_USE_SEARCH_TO_SELECT) if ($conf->global->PRODUIT_USE_SEARCH_TO_SELECT)
{ {
// mode=1 means customers products // mode=1 means customers products
print ajax_autocompleter('',$htmlname,DOL_URL_ROOT.'/product/ajaxproducts.php','outjson=1&price_level='.$price_level.'&type='.$filtertype.'&mode=1&status='.$status.'&finished='.$finished,''); print ajax_autocompleter('',$htmlname,DOL_URL_ROOT.'/product/ajaxproducts.php','outjson=1&price_level='.$price_level.'&type='.$filtertype.'&mode=1&status='.$status.'&finished='.$finished);
print $langs->trans("RefOrLabel").' : <input type="text" size="20" name="search_'.$htmlname.'" id="search_'.$htmlname.'">'; print $langs->trans("RefOrLabel").' : <input type="text" size="20" name="search_'.$htmlname.'" id="search_'.$htmlname.'">';
print '<br>'; print '<br>';
} }
...@@ -985,6 +985,7 @@ class Form ...@@ -985,6 +985,7 @@ class Form
$label=$objp->label; $label=$objp->label;
if (! empty($objp->label_translated)) $label=$objp->label_translated; if (! empty($objp->label_translated)) $label=$objp->label_translated;
if ($filterkey && $filterkey != '') $label=preg_replace('/('.preg_quote($filterkey).')/i','<strong>$1</strong>',$label,1);
$outkey=$objp->rowid; $outkey=$objp->rowid;
$outref=$objp->ref; $outref=$objp->ref;
...@@ -1004,7 +1005,10 @@ class Form ...@@ -1004,7 +1005,10 @@ class Form
} }
$opt.= '>'; $opt.= '>';
$opt.= $langs->convToOutputCharset($objp->ref).' - '.$langs->convToOutputCharset(dol_trunc($label,32)).' - '; $opt.= $langs->convToOutputCharset($objp->ref).' - '.$langs->convToOutputCharset(dol_trunc($label,32)).' - ';
$outval.=$objp->ref.' - '.dol_trunc($label,32).' - ';
$objRef = $objp->ref;
if ($filterkey && $filterkey != '') $objRef=preg_replace('/('.preg_quote($filterkey).')/i','<strong>$1</strong>',$objRef,1);
$outval.=$objRef.' - '.dol_trunc($label,32).' - ';
$found=0; $found=0;
$currencytext=$langs->trans("Currency".$conf->monnaie); $currencytext=$langs->trans("Currency".$conf->monnaie);
...@@ -1123,7 +1127,7 @@ class Form ...@@ -1123,7 +1127,7 @@ class Form
if ($conf->global->PRODUIT_USE_SEARCH_TO_SELECT) if ($conf->global->PRODUIT_USE_SEARCH_TO_SELECT)
{ {
// mode=2 means suppliers products // mode=2 means suppliers products
print ajax_autocompleter('',$htmlname,DOL_URL_ROOT.'/product/ajaxproducts.php','outjson=1&price_level='.$price_level.'&type='.$filtertype.'&mode=2&status='.$status.'&finished='.$finished,''); print ajax_autocompleter('',$htmlname,DOL_URL_ROOT.'/product/ajaxproducts.php','outjson=1&price_level='.$price_level.'&type='.$filtertype.'&mode=2&status='.$status.'&finished='.$finished);
print $langs->trans("RefOrLabel").' : <input type="text" size="16" name="search_'.$htmlname.'" id="search_'.$htmlname.'">'; print $langs->trans("RefOrLabel").' : <input type="text" size="16" name="search_'.$htmlname.'" id="search_'.$htmlname.'">';
print '<br>'; print '<br>';
} }
...@@ -1224,10 +1228,17 @@ class Form ...@@ -1224,10 +1228,17 @@ class Form
if ($objp->fprice == '') $opt.=' disabled="disabled"'; if ($objp->fprice == '') $opt.=' disabled="disabled"';
$opt.= '>'; $opt.= '>';
$objRef = $objp->ref;
if ($filterkey && $filterkey != '') $objRef=preg_replace('/('.preg_quote($filterkey).')/i','<strong>$1</strong>',$objRef,1);
$objRefFourn = $objp->ref_fourn;
if ($filterkey && $filterkey != '') $objRefFourn=preg_replace('/('.preg_quote($filterkey).')/i','<strong>$1</strong>',$objRefFourn,1);
$label = $objp->label;
if ($filterkey && $filterkey != '') $label=preg_replace('/('.preg_quote($filterkey).')/i','<strong>$1</strong>',$label,1);
$opt.=$langs->convToOutputCharset($objp->ref).' ('.$langs->convToOutputCharset($objp->ref_fourn).') - '; $opt.=$langs->convToOutputCharset($objp->ref).' ('.$langs->convToOutputCharset($objp->ref_fourn).') - ';
$outval.=$objp->ref.' ('.$objp->ref_fourn.') - '; $outval.=$objRef.' ('.$objRefFourn.') - ';
$opt.=$langs->convToOutputCharset(dol_trunc($objp->label,18)).' - '; $opt.=$langs->convToOutputCharset(dol_trunc($objp->label,18)).' - ';
$outval.=dol_trunc($objp->label,18).' - '; $outval.=dol_trunc($label,18).' - ';
if ($objp->fprice != '') // Keep != '' if ($objp->fprice != '') // Keep != ''
{ {
......
...@@ -607,6 +607,23 @@ class FormCompany ...@@ -607,6 +607,23 @@ class FormCompany
print "</select>\n"; print "</select>\n";
} }
/**
* Retourne la liste deroulante des codes postaux et des villes associées
*/
function select_zipcode($selected='',$htmlname='zipcode')
{
print ajax_autocompleter('',$htmlname,DOL_URL_ROOT.'/societe/ajaxziptown.php','',0)."\n";
print '<input id="'.$htmlname.'" type="text" name="'.$htmlname.'" size="6" value="'.$selected.'">'."\n";
}
/**
* Retourne la liste deroulante des villes et des codes postaux associés
*/
function select_town($selected='',$htmlname='town')
{
print ajax_autocompleter('',$htmlname,DOL_URL_ROOT.'/societe/ajaxziptown.php','',0)."\n";
print '<input id="'.$htmlname.'" type="text" name="'.$htmlname.'" value="'.$selected.'">'."\n";
}
} }
......
...@@ -90,7 +90,6 @@ function ajax_autocompleter($selected='',$htmlname,$url,$option='') ...@@ -90,7 +90,6 @@ function ajax_autocompleter($selected='',$htmlname,$url,$option='')
$script.= '<script type="text/javascript">'; $script.= '<script type="text/javascript">';
$script.= 'jQuery(document).ready(function() { $script.= 'jQuery(document).ready(function() {
var cache = {};
jQuery("input#search_'.$htmlname.'").blur(function() { jQuery("input#search_'.$htmlname.'").blur(function() {
//console.log(this.value.length); //console.log(this.value.length);
if (this.value.length == 0) if (this.value.length == 0)
...@@ -101,33 +100,19 @@ function ajax_autocompleter($selected='',$htmlname,$url,$option='') ...@@ -101,33 +100,19 @@ function ajax_autocompleter($selected='',$htmlname,$url,$option='')
}); });
jQuery("input#search_'.$htmlname.'").autocomplete({ jQuery("input#search_'.$htmlname.'").autocomplete({
source: function( request, response ) { source: function( request, response ) {
if (this.length == 0) {
jQuery(this).flushCache();
}
if (cache.term == request.term && cache.content) {
response(cache.content);
return;
}
/*if (new RegExp(cache.term).test(request.term) && cache.content && cache.content.length < 13) {
response(jQuery.ui.autocomplete.filter(cache.content, request.term));
return;
}*/
jQuery.get("'.$url.($option?'?'.$option:'').'", { '.$htmlname.': request.term }, function(data){ jQuery.get("'.$url.($option?'?'.$option:'').'", { '.$htmlname.': request.term }, function(data){
cache.term = request.term;
cache.content = data;
response( jQuery.map( data, function( item ) { response( jQuery.map( data, function( item ) {
if (data.length == 1) { if (data.length == 1) {
jQuery("#search_'.$htmlname.'").val(item.value); jQuery("#search_'.$htmlname.'").val(item.value);
jQuery("#'.$htmlname.'").val(item.key); jQuery("#'.$htmlname.'").val(item.key);
} }
var label = item.label.toString(); var label = item.label.toString();
//label = label.replace(new RegExp("("+request.term+")","i"),"<strong>$1</strong>");
return { label: label, value: item.value, id: item.key} return { label: label, value: item.value, id: item.key}
})); }));
}, "json"); }, "json");
}, },
dataType: "json", dataType: "json",
minLength: '.$conf->global->COMPANY_USE_SEARCH_TO_SELECT.', minLength: 2,
select: function( event, ui ) { select: function( event, ui ) {
jQuery("#'.$htmlname.'").val(ui.item.id); jQuery("#'.$htmlname.'").val(ui.item.id);
} }
......
...@@ -93,7 +93,7 @@ if (! empty($_GET['newcompany']) || ! empty($_GET['socid']) || ! empty($_GET['id ...@@ -93,7 +93,7 @@ if (! empty($_GET['newcompany']) || ! empty($_GET['socid']) || ! empty($_GET['id
while ($row = $db->fetch_array($resql)) while ($row = $db->fetch_array($resql))
{ {
$label=$row['nom']; $label=$row['nom'];
if ($socid) $label=preg_replace('/('.preg_quote($socid).')/','<strong>$1</strong>',$label,1); if ($socid) $label=preg_replace('/('.preg_quote($socid).')/i','<strong>$1</strong>',$label,1);
$row_array['label'] = $label; $row_array['label'] = $label;
$row_array['value'] = $row['nom']; $row_array['value'] = $row['nom'];
$row_array['key'] = $row['rowid']; $row_array['key'] = $row['rowid'];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment