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 ''; + } + } + } }