diff options
| -rw-r--r-- | phpBB/config/console.yml | 3 | ||||
| -rw-r--r-- | phpBB/includes/acp/acp_extensions.php | 22 | ||||
| -rw-r--r-- | phpBB/language/en/acp/common.php | 4 | ||||
| -rw-r--r-- | phpBB/phpbb/console/command/extension/command.php | 6 | ||||
| -rw-r--r-- | phpBB/phpbb/console/command/extension/disable.php | 1 | ||||
| -rw-r--r-- | phpBB/phpbb/console/command/extension/enable.php | 1 | ||||
| -rw-r--r-- | phpBB/phpbb/console/command/extension/purge.php | 1 | 
7 files changed, 36 insertions, 2 deletions
| diff --git a/phpBB/config/console.yml b/phpBB/config/console.yml index d32befa15e..1305a12101 100644 --- a/phpBB/config/console.yml +++ b/phpBB/config/console.yml @@ -62,6 +62,7 @@ services:          class: phpbb\console\command\extension\disable          arguments:              - @ext.manager +            - @log          tags:              - { name: console.command } @@ -69,6 +70,7 @@ services:          class: phpbb\console\command\extension\enable          arguments:              - @ext.manager +            - @log          tags:              - { name: console.command } @@ -76,6 +78,7 @@ services:          class: phpbb\console\command\extension\purge          arguments:              - @ext.manager +            - @log          tags:              - { name: console.command } diff --git a/phpBB/includes/acp/acp_extensions.php b/phpBB/includes/acp/acp_extensions.php index 21a1909ac1..1fb2d2df26 100644 --- a/phpBB/includes/acp/acp_extensions.php +++ b/phpBB/includes/acp/acp_extensions.php @@ -26,16 +26,18 @@ class acp_extensions  	private $config;  	private $template;  	private $user; +	private $log;  	function main()  	{  		// Start the page -		global $config, $user, $template, $request, $phpbb_extension_manager, $db, $phpbb_root_path, $phpEx; +		global $config, $user, $template, $request, $phpbb_extension_manager, $db, $phpbb_root_path, $phpEx, $phpbb_log;  		$this->db = $db;  		$this->config = $config;  		$this->template = $template;  		$this->user = $user; +		$this->log = $phpbb_log;  		$user->add_lang(array('install', 'acp/extensions', 'migrator')); @@ -123,6 +125,11 @@ class acp_extensions  					trigger_error($user->lang['EXTENSION_NOT_AVAILABLE'] . adm_back_link($this->u_action), E_USER_WARNING);  				} +				if ($phpbb_extension_manager->enabled($ext_name)) +				{ +					redirect($this->u_action); +				} +  				try  				{  					while ($phpbb_extension_manager->enable_step($ext_name)) @@ -135,6 +142,7 @@ class acp_extensions  							meta_refresh(0, $this->u_action . '&action=enable&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('enable.' . $ext_name));  						}  					} +					$this->log->add('admin', $user->data['user_id'], $user->ip, 'LOG_EXT_ENABLE', time(), array($ext_name));  				}  				catch (\phpbb\db\migration\exception $e)  				{ @@ -164,6 +172,11 @@ class acp_extensions  			break;  			case 'disable': +				if (!$phpbb_extension_manager->enabled($ext_name)) +				{ +					redirect($this->u_action); +				} +  				while ($phpbb_extension_manager->disable_step($ext_name))  				{  					// Are we approaching the time limit? If so we want to pause the update and continue after refreshing @@ -174,6 +187,7 @@ class acp_extensions  						meta_refresh(0, $this->u_action . '&action=disable&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('disable.' . $ext_name));  					}  				} +				$this->log->add('admin', $user->data['user_id'], $user->ip, 'LOG_EXT_DISABLE', time(), array($ext_name));  				$this->tpl_name = 'acp_ext_disable'; @@ -197,6 +211,11 @@ class acp_extensions  			break;  			case 'delete_data': +				if ($phpbb_extension_manager->enabled($ext_name)) +				{ +					redirect($this->u_action); +				} +  				try  				{  					while ($phpbb_extension_manager->purge_step($ext_name)) @@ -209,6 +228,7 @@ class acp_extensions  							meta_refresh(0, $this->u_action . '&action=delete_data&ext_name=' . urlencode($ext_name) . '&hash=' . generate_link_hash('delete_data.' . $ext_name));  						}  					} +					$this->log->add('admin', $user->data['user_id'], $user->ip, 'LOG_EXT_PURGE', time(), array($ext_name));  				}  				catch (\phpbb\db\migration\exception $e)  				{ diff --git a/phpBB/language/en/acp/common.php b/phpBB/language/en/acp/common.php index 6f6a5f901f..8014ee64f1 100644 --- a/phpBB/language/en/acp/common.php +++ b/phpBB/language/en/acp/common.php @@ -777,4 +777,8 @@ $lang = array_merge($lang, array(  	'LOG_WORD_ADD'			=> '<strong>Added word censor</strong><br />» %s',  	'LOG_WORD_DELETE'		=> '<strong>Deleted word censor</strong><br />» %s',  	'LOG_WORD_EDIT'			=> '<strong>Edited word censor</strong><br />» %s', + +	'LOG_EXT_ENABLE'	=> '<strong>Extension enabled</strong><br />» %s', +	'LOG_EXT_DISABLE'	=> '<strong>Extension disabled</strong><br />» %s', +	'LOG_EXT_PURGE'		=> '<strong>Extension’s data deleted</strong><br />» %s',  )); diff --git a/phpBB/phpbb/console/command/extension/command.php b/phpBB/phpbb/console/command/extension/command.php index edde7ce2e2..72325ce768 100644 --- a/phpBB/phpbb/console/command/extension/command.php +++ b/phpBB/phpbb/console/command/extension/command.php @@ -13,9 +13,13 @@ abstract class command extends \phpbb\console\command\command  	/** @var \phpbb\extension\manager */  	protected $manager; -	function __construct(\phpbb\extension\manager $manager) +	/** @var \phpbb\log\log */ +	protected $log; + +	public function __construct(\phpbb\extension\manager $manager, \phpbb\log\log $log)  	{  		$this->manager = $manager; +		$this->log = $log;  		parent::__construct();  	} diff --git a/phpBB/phpbb/console/command/extension/disable.php b/phpBB/phpbb/console/command/extension/disable.php index e4de70ca34..ceaf168108 100644 --- a/phpBB/phpbb/console/command/extension/disable.php +++ b/phpBB/phpbb/console/command/extension/disable.php @@ -40,6 +40,7 @@ class disable extends command  		}  		else  		{ +			$this->log->add('admin', ANONYMOUS, '', 'LOG_EXT_DISABLE', time(), array($name));  			$output->writeln("<info>Successfully disabled extension $name</info>");  			return 0;  		} diff --git a/phpBB/phpbb/console/command/extension/enable.php b/phpBB/phpbb/console/command/extension/enable.php index ee7dae76aa..757f19005e 100644 --- a/phpBB/phpbb/console/command/extension/enable.php +++ b/phpBB/phpbb/console/command/extension/enable.php @@ -35,6 +35,7 @@ class enable extends command  		if ($this->manager->enabled($name))  		{ +			$this->log->add('admin', ANONYMOUS, '', 'LOG_EXTENSION_ENABLE', time(), array($name));  			$output->writeln("<info>Successfully enabled extension $name</info>");  			return 0;  		} diff --git a/phpBB/phpbb/console/command/extension/purge.php b/phpBB/phpbb/console/command/extension/purge.php index c2e1d2928c..0342d116f5 100644 --- a/phpBB/phpbb/console/command/extension/purge.php +++ b/phpBB/phpbb/console/command/extension/purge.php @@ -40,6 +40,7 @@ class purge extends command  		}  		else  		{ +			$this->log->add('admin', ANONYMOUS, '', 'LOG_EXT_PURGE', time(), array($name));  			$output->writeln("<info>Successfully purge extension $name</info>");  			return 0;  		} | 
