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]))  	{ | 
