FIX support of array parameters in "add to bookmark" feature.

This commit is contained in:
Laurent Destailleur 2022-09-18 09:24:19 +02:00
parent 9ba2b41aee
commit d452d225b6

View File

@ -42,8 +42,12 @@ function printDropdownBookmarksList()
if (!empty($_SERVER["QUERY_STRING"])) { if (!empty($_SERVER["QUERY_STRING"])) {
if (is_array($_GET)) { if (is_array($_GET)) {
foreach ($_GET as $key => $val) { foreach ($_GET as $key => $val) {
if ($val != '') { if (is_array($val)) {
$url_param[$key]=http_build_query(array(dol_escape_htmltag($key) => dol_escape_htmltag($val))); foreach ($val as $tmpsubval) {
$url_param[] = http_build_query(array(dol_escape_htmltag($key).'[]' => dol_escape_htmltag($tmpsubval)));
}
} elseif ($val != '') {
$url_param[$key] = http_build_query(array(dol_escape_htmltag($key) => dol_escape_htmltag($val)));
} }
} }
} }
@ -61,10 +65,11 @@ function printDropdownBookmarksList()
if ((preg_match('/^search_/', $key) || in_array($key, $authorized_var)) if ((preg_match('/^search_/', $key) || in_array($key, $authorized_var))
&& $val != '' && $val != ''
&& !array_key_exists($key, $url_param)) { && !array_key_exists($key, $url_param)) {
$url_param[$key]=http_build_query(array(dol_escape_htmltag($key) => dol_escape_htmltag($val))); $url_param[$key] = http_build_query(array(dol_escape_htmltag($key) => dol_escape_htmltag($val)));
} }
} }
} }
$url .= ($tmpurl ? '?'.$tmpurl : ''); $url .= ($tmpurl ? '?'.$tmpurl : '');
if (!empty($url_param)) { if (!empty($url_param)) {
$url .= '&'.implode('&', $url_param); $url .= '&'.implode('&', $url_param);