diff options
| author | Marc Alexander <admin@m-a-styles.de> | 2019-10-03 11:06:58 +0200 | 
|---|---|---|
| committer | Marc Alexander <admin@m-a-styles.de> | 2019-10-03 11:06:58 +0200 | 
| commit | 1eed2f98c30210d02b8ca3bf5b167fae67dc64dd (patch) | |
| tree | 7364da57623f9bb48fe25a9dccc80426040a73e7 /phpBB/includes | |
| parent | b6c230753ee17fe65b43929d4fc10248ea2a23bf (diff) | |
| parent | e54aa94e7714483f0f5ef8c18e21317a1f0524f6 (diff) | |
| download | forums-1eed2f98c30210d02b8ca3bf5b167fae67dc64dd.tar forums-1eed2f98c30210d02b8ca3bf5b167fae67dc64dd.tar.gz forums-1eed2f98c30210d02b8ca3bf5b167fae67dc64dd.tar.bz2 forums-1eed2f98c30210d02b8ca3bf5b167fae67dc64dd.tar.xz forums-1eed2f98c30210d02b8ca3bf5b167fae67dc64dd.zip | |
Merge pull request #5555 from senky/ticket/15257
[ticket/15257] Provide extension not enableable messages
Diffstat (limited to 'phpBB/includes')
| -rw-r--r-- | phpBB/includes/acp/acp_extensions.php | 36 | 
1 files changed, 28 insertions, 8 deletions
| diff --git a/phpBB/includes/acp/acp_extensions.php b/phpBB/includes/acp/acp_extensions.php index 2929de3c4f..6ac70ce3a8 100644 --- a/phpBB/includes/acp/acp_extensions.php +++ b/phpBB/includes/acp/acp_extensions.php @@ -172,10 +172,8 @@ class acp_extensions  				}  				$extension = $this->ext_manager->get_extension($ext_name); -				if (!$extension->is_enableable()) -				{ -					trigger_error($this->user->lang['EXTENSION_NOT_ENABLEABLE'] . adm_back_link($this->u_action), E_USER_WARNING); -				} + +				$this->check_is_enableable($extension);  				if ($this->ext_manager->is_enabled($ext_name))  				{ @@ -209,10 +207,8 @@ class acp_extensions  				}  				$extension = $this->ext_manager->get_extension($ext_name); -				if (!$extension->is_enableable()) -				{ -					trigger_error($this->user->lang['EXTENSION_NOT_ENABLEABLE'] . adm_back_link($this->u_action), E_USER_WARNING); -				} + +				$this->check_is_enableable($extension);  				try  				{ @@ -727,4 +723,28 @@ class acp_extensions  			));  		}  	} + +	/** +	* Checks whether the extension can be enabled. Triggers error if not. +	* Error message can be set by the extension. +	* +	* @param \phpbb\extension\extension_interface $extension Extension to check +	*/ +	protected function check_is_enableable(\phpbb\extension\extension_interface $extension) +	{ +		$message = $extension->is_enableable(); +		if ($message !== true) +		{ +			if (empty($message)) +			{ +				$message = $this->user->lang('EXTENSION_NOT_ENABLEABLE'); +			} +			else if (is_array($message)) +			{ +				$message = implode('<br>', $message); +			} + +			trigger_error($message . adm_back_link($this->u_action), E_USER_WARNING); +		} +	}  } | 
