diff options
| -rw-r--r-- | phpBB/includes/functions.php | 20 | ||||
| -rw-r--r-- | phpBB/mcp.php | 5 |
2 files changed, 25 insertions, 0 deletions
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 6092d8b0dc..2666f013c5 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -182,6 +182,26 @@ function gen_sort_selects(&$limit_days, &$sort_by_text, &$sort_days, &$sort_key, $sort_dir_text = array('a' => $user->lang['ASCENDING'], 'd' => $user->lang['DESCENDING']); + // Check if the key is selectable. If not, we reset to the first key found. + // This ensures the values are always valid. + if (!isset($limit_days[$sort_days])) + { + @reset($limit_days); + $sort_days = key($limit_days); + } + + if (!isset($sort_by_text[$sort_key])) + { + @reset($sort_by_text); + $sort_key = key($sort_by_text); + } + + if (!isset($sort_dir_text[$sort_dir])) + { + @reset($sort_dir_text); + $sort_dir = key($sort_dir_text); + } + $s_limit_days = '<select name="st">'; foreach ($limit_days as $day => $text) { diff --git a/phpBB/mcp.php b/phpBB/mcp.php index b9df35c7a7..e0dd0432db 100644 --- a/phpBB/mcp.php +++ b/phpBB/mcp.php @@ -576,6 +576,11 @@ function mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by_sql, break; } + if (!isset($sort_by_sql[$sort_key])) + { + $sort_key = $default_key; + } + $sort_order_sql = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC'); $s_limit_days = $s_sort_key = $s_sort_dir = $sort_url = ''; |
