diff options
Diffstat (limited to 'phpBB/includes/functions_mcp.php')
-rw-r--r-- | phpBB/includes/functions_mcp.php | 45 |
1 files changed, 31 insertions, 14 deletions
diff --git a/phpBB/includes/functions_mcp.php b/phpBB/includes/functions_mcp.php index 1e08864bdc..f9e38e8aa0 100644 --- a/phpBB/includes/functions_mcp.php +++ b/phpBB/includes/functions_mcp.php @@ -301,6 +301,7 @@ function phpbb_get_forum_data($forum_id, $acl_list = 'f_list', $read_tracking = WHERE " . $db->sql_in_set('f.forum_id', $forum_id); $result = $db->sql_query($sql); + /* @var $phpbb_content_visibility \phpbb\content_visibility */ $phpbb_content_visibility = $phpbb_container->get('content.visibility'); while ($row = $db->sql_fetchrow($result)) @@ -368,9 +369,9 @@ function phpbb_get_pm_data($pm_ids) */ function phpbb_mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by_sql, &$sort_order_sql, &$total, $forum_id = 0, $topic_id = 0, $where_sql = 'WHERE') { - global $db, $user, $auth, $template, $phpbb_dispatcher; + global $db, $user, $auth, $template, $request, $phpbb_dispatcher; - $sort_days = request_var('st', 0); + $sort_days = $request->variable('st', 0); $min_time = ($sort_days) ? time() - ($sort_days * 86400) : 0; switch ($mode) @@ -511,8 +512,8 @@ function phpbb_mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by break; } - $sort_key = request_var('sk', $default_key); - $sort_dir = request_var('sd', $default_dir); + $sort_key = $request->variable('sk', $default_key); + $sort_dir = $request->variable('sd', $default_dir); $sort_dir_text = array('a' => $user->lang['ASCENDING'], 'd' => $user->lang['DESCENDING']); switch ($type) @@ -556,6 +557,11 @@ function phpbb_mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by // Default total to -1 to allow editing by the event $total = -1; + $sort_by_sql_ary = $sort_by_sql; + $sort_days_val = $sort_days; + $sort_dir_val = $sort_dir; + $sort_key_val = $sort_key; + $total_val = $total; /** * This event allows you to control the SQL query used to get the total number * of reports the user can access. @@ -570,19 +576,20 @@ function phpbb_mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by * @var string type Which kind of information is this being used for displaying. Posts, topics, etc... * @var int forum_id The forum id of the posts the user is trying to access, if not 0 * @var int topic_id The topic id of the posts the user is trying to access, if not 0 - * @var int sort_days The max age of the oldest report to be shown, in days - * @var string sort_key The way the user has decided to sort the data. + * @var int sort_days_val The max age of the oldest report to be shown, in days + * @var string sort_key_val The way the user has decided to sort the data. * The valid values must be in the keys of the sort_by_* variables - * @var string sort_dir Either 'd' for "DESC" or 'a' for 'ASC' in the SQL query + * @var string sort_dir_val Either 'd' for "DESC" or 'a' for 'ASC' in the SQL query * @var int limit_days The possible max ages of the oldest report for the user to choose, in days. - * @var array sort_by_sql SQL text (values) for the possible names of the ways of sorting data (keys). + * @var array sort_by_sql_ary SQL text (values) for the possible names of the ways of sorting data (keys). * @var array sort_by_text Language text (values) for the possible names of the ways of sorting data (keys). * @var int min_time Integer with the minimum post time that the user is searching for * @var int limit_time_sql Time limiting options used in the SQL query. - * @var int total The total number of reports that exist. Only set if you want to override the result + * @var int total_val The total number of reports that exist. Only set if you want to override the result * @var string where_sql Extra information included in the WHERE clause. It must end with "WHERE" or "AND" or "OR". * Set to "WHERE" and set total above -1 to override the total value * @since 3.1.4-RC1 + * @change 3.2.0-a1 Replaced sort_days, sort_key, sort_dir, sort_by_sql, total with replacement variables */ $vars = array( 'sql', @@ -590,18 +597,28 @@ function phpbb_mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by 'type', 'forum_id', 'topic_id', - 'sort_days', - 'sort_key', - 'sort_dir', + 'sort_days_val', + 'sort_key_val', + 'sort_dir_val', 'limit_days', - 'sort_by_sql', + 'sort_by_sql_ary', 'sort_by_text', 'min_time', 'limit_time_sql', - 'total', + 'total_val', 'where_sql', ); extract($phpbb_dispatcher->trigger_event('core.mcp_sorting_query_before', compact($vars))); + $sort_by_sql = $sort_by_sql_ary; + $sort_days = $sort_days_val; + $sort_key = $sort_key_val; + $sort_dir = $sort_dir_val; + $total = $total_val; + unset($sort_by_sql_ary); + unset($sort_days_val); + unset($sort_key_val); + unset($sort_dir_val); + unset($total_val); if (!isset($sort_by_sql[$sort_key])) { |