diff --git a/htdocs/core/tpl/extrafields_list_search_input.tpl.php b/htdocs/core/tpl/extrafields_list_search_input.tpl.php
index 9ee4bd9ce37..fb0a0dea3aa 100644
--- a/htdocs/core/tpl/extrafields_list_search_input.tpl.php
+++ b/htdocs/core/tpl/extrafields_list_search_input.tpl.php
@@ -3,8 +3,8 @@
// Protection to avoid direct call of template
if (empty($conf) || ! is_object($conf))
{
- print "Error, template page can't be called as URL";
- exit;
+ print "Error, template page can't be called as URL";
+ exit;
}
if (empty($extrafieldsobjectkey) && is_object($object)) $extrafieldsobjectkey=$object->table_element;
@@ -12,40 +12,44 @@ if (empty($extrafieldsobjectkey) && is_object($object)) $extrafieldsobjectkey=$o
// Loop to show all columns of extrafields for the search title line
if (! empty($extrafieldsobjectkey)) // $extrafieldsobject is the $object->table_element like 'societe', 'socpeople', ...
{
- if (is_array($extrafields->attributes[$extrafieldsobjectkey]['label']) && count($extrafields->attributes[$extrafieldsobjectkey]['label']))
- {
+ if (is_array($extrafields->attributes[$extrafieldsobjectkey]['label']) && count($extrafields->attributes[$extrafieldsobjectkey]['label']))
+ {
if (empty($extrafieldsobjectprefix)) $extrafieldsobjectprefix = 'ef.';
if (empty($search_options_pattern)) $search_options_pattern='search_options_';
- foreach($extrafields->attributes[$extrafieldsobjectkey]['label'] as $key => $val)
- {
- if (! empty($arrayfields[$extrafieldsobjectprefix.$key]['checked'])) {
- $align=$extrafields->getAlignFlag($key);
- $typeofextrafield=$extrafields->attributes[$extrafieldsobjectkey]['type'][$key];
+ foreach($extrafields->attributes[$extrafieldsobjectkey]['label'] as $key => $val)
+ {
+ if (! empty($arrayfields[$extrafieldsobjectprefix.$key]['checked'])) {
+ $align=$extrafields->getAlignFlag($key);
+ $typeofextrafield=$extrafields->attributes[$extrafieldsobjectkey]['type'][$key];
- print '
';
- $tmpkey=preg_replace('/'.$search_options_pattern.'/', '', $key);
- if (in_array($typeofextrafield, array('varchar', 'int', 'double', 'select')) && empty($extrafields->attributes[$extrafieldsobjectkey]['computed'][$key]))
- {
- $searchclass='';
- if (in_array($typeofextrafield, array('varchar', 'select'))) $searchclass='searchstring';
- if (in_array($typeofextrafield, array('int', 'double'))) $searchclass='searchnum';
- print '';
- }
- elseif (in_array($typeofextrafield, array('datetime','timestamp')))
- {
- // TODO
- // Use showInputField in a particular manner to have input with a comparison operator, not input for a specific value date-hour-minutes
- }
- else
- {
- // for the type as 'checkbox', 'chkbxlst', 'sellist' we should use code instead of id (example: I declare a 'chkbxlst' to have a link with dictionnairy, I have to extend it with the 'code' instead 'rowid')
- $morecss='';
- if (in_array($typeofextrafield, array('link', 'sellist'))) $morecss='maxwidth200';
- echo $extrafields->showInputField($key, $search_array_options[$search_options_pattern.$tmpkey], '', '', $search_options_pattern, $morecss, 0, $extrafieldsobjectkey, 1);
- }
- print '
';
- }
- }
- }
+ print '
';
+ $tmpkey=preg_replace('/'.$search_options_pattern.'/', '', $key);
+ if (in_array($typeofextrafield, array('varchar', 'int', 'double')) && empty($extrafields->attributes[$extrafieldsobjectkey]['computed'][$key]))
+ {
+ $searchclass='';
+ if (in_array($typeofextrafield, array('varchar'))) $searchclass='searchstring';
+ if (in_array($typeofextrafield, array('int', 'double'))) $searchclass='searchnum';
+ print '';
+ }
+ elseif (in_array($typeofextrafield, array('datetime','timestamp')))
+ {
+ // for the type as 'checkbox', 'chkbxlst', 'sellist' we should use code instead of id (example: I declare a 'chkbxlst' to have a link with dictionnairy, I have to extend it with the 'code' instead 'rowid')
+ $morecss='';
+ if ($typeofextrafield == 'sellist') $morecss='maxwidth200';
+ $keyprefix=$search_options_pattern;
+ if (substr($search_options_pattern, -8) === 'options_') $keyprefix = substr($search_options_pattern, 0, -8);
+ echo $extrafields->showInputField($key, $search_array_options[$search_options_pattern.$tmpkey], '', '', $keyprefix, $morecss);
+ }
+ else
+ {
+ // for the type as 'checkbox', 'chkbxlst', 'sellist' we should use code instead of id (example: I declare a 'chkbxlst' to have a link with dictionnairy, I have to extend it with the 'code' instead 'rowid')
+ $morecss='';
+ if (in_array($typeofextrafield, array('link', 'sellist'))) $morecss='maxwidth200';
+ echo $extrafields->showInputField($key, $search_array_options[$search_options_pattern.$tmpkey], '', '', $search_options_pattern, $morecss, 0, $extrafieldsobjectkey, 1);
+ }
+ print '