diff options
Diffstat (limited to 'phpBB/includes/acp/acp_logs.php')
| -rw-r--r-- | phpBB/includes/acp/acp_logs.php | 67 | 
1 files changed, 34 insertions, 33 deletions
diff --git a/phpBB/includes/acp/acp_logs.php b/phpBB/includes/acp/acp_logs.php index 10852e3a68..c33ca8c4fc 100644 --- a/phpBB/includes/acp/acp_logs.php +++ b/phpBB/includes/acp/acp_logs.php @@ -1,9 +1,13 @@  <?php  /**  * -* @package acp -* @copyright (c) 2005 phpBB Group -* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file.  *  */ @@ -15,37 +19,35 @@ if (!defined('IN_PHPBB'))  	exit;  } -/** -* @package acp -*/  class acp_logs  {  	var $u_action;  	function main($id, $mode)  	{ -		global $db, $user, $auth, $template, $cache, $phpbb_container; -		global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx; +		global $user, $auth, $template, $phpbb_container; +		global $config;  		global $request;  		$user->add_lang('mcp');  		// Set up general vars -		$action		= request_var('action', ''); -		$forum_id	= request_var('f', 0); -		$topic_id	= request_var('t', 0); -		$start		= request_var('start', 0); +		$action		= $request->variable('action', ''); +		$forum_id	= $request->variable('f', 0); +		$start		= $request->variable('start', 0);  		$deletemark = $request->variable('delmarked', false, false, \phpbb\request\request_interface::POST);  		$deleteall	= $request->variable('delall', false, false, \phpbb\request\request_interface::POST); -		$marked		= request_var('mark', array(0)); +		$marked		= $request->variable('mark', array(0));  		// Sort keys -		$sort_days	= request_var('st', 0); -		$sort_key	= request_var('sk', 't'); -		$sort_dir	= request_var('sd', 'd'); +		$sort_days	= $request->variable('st', 0); +		$sort_key	= $request->variable('sk', 't'); +		$sort_dir	= $request->variable('sd', 'd');  		$this->tpl_name = 'acp_logs';  		$this->log_type = constant('LOG_' . strtoupper($mode)); + +		/* @var $pagination \phpbb\pagination */  		$pagination = $phpbb_container->get('pagination');  		// Delete entries if requested and able @@ -53,28 +55,27 @@ class acp_logs  		{  			if (confirm_box(true))  			{ -				$where_sql = ''; +				$conditions = array();  				if ($deletemark && sizeof($marked))  				{ -					$sql_in = array(); -					foreach ($marked as $mark) -					{ -						$sql_in[] = $mark; -					} -					$where_sql = ' AND ' . $db->sql_in_set('log_id', $sql_in); -					unset($sql_in); +					$conditions['log_id'] = array('IN' => $marked);  				} -				if ($where_sql || $deleteall) +				if ($deleteall)  				{ -					$sql = 'DELETE FROM ' . LOG_TABLE . " -						WHERE log_type = {$this->log_type} -						$where_sql"; -					$db->sql_query($sql); +					if ($sort_days) +					{ +						$conditions['log_time'] = array('>=', time() - ($sort_days * 86400)); +					} -					add_log('admin', 'LOG_CLEAR_' . strtoupper($mode)); +					$keywords = $request->variable('keywords', '', true); +					$conditions['keywords'] = $keywords;  				} + +				/* @var $phpbb_log \phpbb\log\log_interface */ +				$phpbb_log = $phpbb_container->get('log'); +				$phpbb_log->delete($mode, $conditions);  			}  			else  			{ @@ -106,7 +107,7 @@ class acp_logs  		$sql_where = ($sort_days) ? (time() - ($sort_days * 86400)) : 0;  		$sql_sort = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC'); -		$keywords = utf8_normalize_nfc(request_var('keywords', '', true)); +		$keywords = $request->variable('keywords', '', true);  		$keywords_param = !empty($keywords) ? '&keywords=' . urlencode(htmlspecialchars_decode($keywords)) : '';  		$l_title = $user->lang['ACP_' . strtoupper($mode) . '_LOGS']; @@ -118,7 +119,7 @@ class acp_logs  		if ($mode == 'mod')  		{  			$forum_box = '<option value="0">' . $user->lang['ALL_FORUMS'] . '</option>' . make_forum_select($forum_id); -			 +  			$template->assign_vars(array(  				'S_SHOW_FORUMS'			=> true,  				'S_FORUM_BOX'			=> $forum_box) @@ -149,7 +150,7 @@ class acp_logs  		foreach ($log_data as $row)  		{  			$data = array(); -				 +  			$checks = array('viewtopic', 'viewlogs', 'viewforum');  			foreach ($checks as $check)  			{  | 
