26require_once DOL_DOCUMENT_ROOT.
'/core/class/html.form.class.php';
27require_once DOL_DOCUMENT_ROOT.
'/categories/class/categorie.class.php';
47 public function getFilterBox($type, array $preSelected, $morecss =
"minwidth300imp widthcentpercentminusx", $searchCategoryProductOperator = -1, $multiselect = 1, $nocateg = 1, $showempty =
'')
51 if (empty($preSelected) || !is_array($preSelected)) {
52 $preSelected = array();
55 if ($showempty && !is_numeric($showempty)) {
56 $tmptitle = $showempty;
58 $tmptitle = $langs->transnoentitiesnoconv(
"Category");
62 $filter .=
'<div class="divsearchfield">';
63 $filter .=
img_picto($tmptitle,
'category',
'class="pictofixedwidth"');
67 $categoryArray[-2] =
"- ".$langs->trans(
'NotCategorized').
" -";
69 $htmlName =
"search_category_".$type.
"_list";
70 $htmlName2 =
"search_category_".$type.
"_operator";
72 $filter .=
Form::multiselectarray($htmlName, $categoryArray, $preSelected, 0, 0, $morecss, 0, 0,
'',
'', $tmptitle);
74 $htmlName =
"search_".$type.
"_category";
76 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formother.class.php';
79 $filter .= $formother->select_categories($type, $preSelected[0], $htmlName, $nocateg, $tmptitle, $morecss);
81 if ($multiselect && $searchCategoryProductOperator >= 0) {
82 $filter .=
' <input type="checkbox" class="valignmiddle '.$htmlName2.
'" id="'.$htmlName2.
'" name="'.$htmlName2.
'" value="1"'.($searchCategoryProductOperator == 1 ?
' checked="checked"' :
'').
' title="'.
dol_escape_htmltag($langs->trans(
'UseOrOperatorForCategories')).
'" />';
83 $filter .=
'<label class="none valignmiddle '.$htmlName2.
'" for="'.$htmlName2.
'" title="'.
dol_escape_htmltag($langs->trans(
'UseOrOperatorForCategories')).
'">';
84 $filter .= $langs->trans(
'UseOrOperatorShort');
85 $filter .=
'</label>';
87 $filter .=
'<script>'.
"\n";
88 $filter .=
"var nbSelected = jQuery('#".$htmlName.
"').val().length;";
89 $filter .=
"console.log('Nb of element now = '+nbSelected);\n";
90 $filter .=
"if (nbSelected > 1) { jQuery('.".$htmlName2.
"').show(); } else { jQuery('.".$htmlName2.
"').hide(); }\n";
91 $filter .=
"jQuery('#".$htmlName.
"').change(function() {\n";
92 $filter .=
"console.log('Content of select box has been modified.');";
93 $filter .=
'var nbSelected = $(this).val().length;';
94 $filter .=
"console.log('Nb of element now = '+nbSelected);\n";
95 $filter .=
"if (nbSelected > 1) { jQuery('.".$htmlName2.
"').show(); } else { jQuery('.".$htmlName2.
"').hide(); }\n";
96 $filter .=
'});'.
"\n";
97 $filter .=
'</script>'.
"\n";
115 $sql =
"SELECT cat.rowid, cat.label";
116 $sql .=
" FROM ".MAIN_DB_PREFIX.
"categorie as cat";
117 $sql .=
" WHERE cat.type = 0";
119 dol_syslog(get_class($this).
"::selectProductCategory", LOG_DEBUG);
120 $resql = $this->db->query($sql);
122 print
'<select class="flat minwidth100" id="select_'.$htmlname.
'" name="'.$htmlname.
'">';
124 print
'<option value="0"> </option>';
128 $num_rows = $this->db->num_rows($resql);
129 while ($i < $num_rows) {
130 $category = $this->db->fetch_object($resql);
131 if ($selected && $selected == $category->rowid) {
132 print
'<option value="'.$category->rowid.
'" selected>'.$category->label.
'</option>';
134 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...