25require_once DOL_DOCUMENT_ROOT.
'/core/class/html.form.class.php';
26require_once DOL_DOCUMENT_ROOT.
'/categories/class/categorie.class.php';
46 public function getFilterBox($type, array $preSelected, $morecss =
"minwidth300imp widthcentpercentminusx", $searchCategoryProductOperator = -1, $multiselect = 1, $nocateg = 1, $showempty =
'')
50 if (empty($preSelected) || !is_array($preSelected)) {
51 $preSelected = array();
54 if ($showempty && !is_numeric($showempty)) {
55 $tmptitle = $showempty;
57 $tmptitle = $langs->transnoentitiesnoconv(
"Category");
61 $filter .=
'<div class="divsearchfield">';
62 $filter .=
img_picto($tmptitle,
'category',
'class="pictofixedwidth"');
66 $categoryArray[-2] =
"- ".$langs->trans(
'NotCategorized').
" -";
68 $htmlName =
"search_category_".$type.
"_list";
69 $htmlName2 =
"search_category_".$type.
"_operator";
71 $filter .=
Form::multiselectarray($htmlName, $categoryArray, $preSelected, 0, 0, $morecss, 0, 0,
'',
'', $tmptitle);
73 $htmlName =
"search_".$type.
"_category";
75 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formother.class.php';
78 $filter .= $formother->select_categories($type, $preSelected[0], $htmlName, $nocateg, $tmptitle, $morecss);
80 if ($multiselect && $searchCategoryProductOperator >= 0) {
81 $filter .=
' <input type="checkbox" class="valignmiddle '.$htmlName2.
'" id="'.$htmlName2.
'" name="'.$htmlName2.
'" value="1"'.($searchCategoryProductOperator == 1 ?
' checked="checked"' :
'').
' title="'.
dol_escape_htmltag($langs->trans(
'UseOrOperatorForCategories')).
'" />';
82 $filter .=
'<label class="none valignmiddle '.$htmlName2.
'" for="'.$htmlName2.
'" title="'.
dol_escape_htmltag($langs->trans(
'UseOrOperatorForCategories')).
'">';
83 $filter .= $langs->trans(
'UseOrOperatorShort');
84 $filter .=
'</label>';
86 $filter .=
'<script>'.
"\n";
87 $filter .=
"var nbSelected = jQuery('#".$htmlName.
"').val().length;";
88 $filter .=
"console.log('Nb of element now = '+nbSelected);\n";
89 $filter .=
"if (nbSelected > 1) { jQuery('.".$htmlName2.
"').show(); } else { jQuery('.".$htmlName2.
"').hide(); }\n";
90 $filter .=
"jQuery('#".$htmlName.
"').change(function() {\n";
91 $filter .=
"console.log('Content of select box has been modified.');";
92 $filter .=
'var nbSelected = $(this).val().length;';
93 $filter .=
"console.log('Nb of element now = '+nbSelected);\n";
94 $filter .=
"if (nbSelected > 1) { jQuery('.".$htmlName2.
"').show(); } else { jQuery('.".$htmlName2.
"').hide(); }\n";
95 $filter .=
'});'.
"\n";
96 $filter .=
'</script>'.
"\n";
114 $sql =
"SELECT cat.rowid, cat.label";
115 $sql .=
" FROM ".MAIN_DB_PREFIX.
"categorie as cat";
116 $sql .=
" WHERE cat.type = 0";
118 dol_syslog(get_class($this).
"::selectProductCategory", LOG_DEBUG);
119 $resql = $this->db->query($sql);
121 print
'<select class="flat minwidth100" id="select_'.$htmlname.
'" name="'.$htmlname.
'">';
123 print
'<option value="0"> </option>';
127 $num_rows = $this->db->num_rows($resql);
128 while ($i < $num_rows) {
129 $category = $this->db->fetch_object($resql);
130 if ($selected && $selected == $category->rowid) {
131 print
'<option value="'.$category->rowid.
'" selected>'.$category->label.
'</option>';
133 print
'<option value="'.$category->rowid.
'">'.$category->label.
'</option>';
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $noescapetags='', $escapeonlyhtmltags=0, $cleanalsojavascript=0)
Returns text escaped for inclusion in HTML alt or title or value tags, or into values of HTML input f...