diff --git a/e107_handlers/core_functions.php b/e107_handlers/core_functions.php index 06f9520bd..9c65b1e5b 100644 --- a/e107_handlers/core_functions.php +++ b/e107_handlers/core_functions.php @@ -410,8 +410,19 @@ if (!function_exists('multiarray_sort')) foreach($sort_values as $arr_key=>$arr_val) { - $key = is_numeric($arr_key) ? "" : $arr_key; // retain assoc-array keys. - $sorted_arr[$key] = $array[$arr_key]; + // Issue #3603: multiarray_sort returns only the last array item in case the $arr_key is numeric +// $key = is_numeric($arr_key) ? count($sorted_arr) : $arr_key; // retain assoc-array keys. +// $sorted_arr[$key] = $array[$arr_key]; + + if (is_numeric($arr_key)) + { + $sorted_arr[] = $array[$arr_key]; + } + else + { + $sorted_arr[$key] = $array[$arr_key]; + } + } return $sorted_arr; }