aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/functions_mcp.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/functions_mcp.php')
-rw-r--r--phpBB/includes/functions_mcp.php45
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]))
{