aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/includes/functions.php20
-rw-r--r--phpBB/mcp.php5
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 = '';