mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-27 12:00:26 +02:00
[ticket/14938] Inconsistency in ext_mgr all_available vs is_available
Made is_available much more strict, in line with the checks in all_available Refactor all_available to use is_available, saving duplicate code. Further simplify is_available by using metadata_manager. Make optional the template object on metadata_manager creation. PHPBB3-14938
This commit is contained in:
@@ -149,10 +149,10 @@ class manager
|
|||||||
* Instantiates the metadata manager for the extension with the given name
|
* Instantiates the metadata manager for the extension with the given name
|
||||||
*
|
*
|
||||||
* @param string $name The extension name
|
* @param string $name The extension name
|
||||||
* @param \phpbb\template\template $template The template manager
|
* @param \phpbb\template\template $template The template manager or null
|
||||||
* @return \phpbb\extension\metadata_manager Instance of the metadata manager
|
* @return \phpbb\extension\metadata_manager Instance of the metadata manager
|
||||||
*/
|
*/
|
||||||
public function create_extension_metadata_manager($name, \phpbb\template\template $template)
|
public function create_extension_metadata_manager($name, \phpbb\template\template $template = null)
|
||||||
{
|
{
|
||||||
return new \phpbb\extension\metadata_manager($name, $this->config, $this, $template, $this->user, $this->phpbb_root_path);
|
return new \phpbb\extension\metadata_manager($name, $this->config, $this, $template, $this->user, $this->phpbb_root_path);
|
||||||
}
|
}
|
||||||
@@ -510,7 +510,7 @@ class manager
|
|||||||
*/
|
*/
|
||||||
public function is_available($name)
|
public function is_available($name)
|
||||||
{
|
{
|
||||||
$md_manager = $this->create_extension_metadata_manager($name, $this->container->get('template'));
|
$md_manager = $this->create_extension_metadata_manager($name);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return $md_manager->get_metadata('all') && $md_manager->validate_enable();
|
return $md_manager->get_metadata('all') && $md_manager->validate_enable();
|
||||||
|
@@ -72,11 +72,11 @@ class metadata_manager
|
|||||||
* @param string $ext_name Name (including vendor) of the extension
|
* @param string $ext_name Name (including vendor) of the extension
|
||||||
* @param \phpbb\config\config $config phpBB Config instance
|
* @param \phpbb\config\config $config phpBB Config instance
|
||||||
* @param \phpbb\extension\manager $extension_manager An instance of the phpBB extension manager
|
* @param \phpbb\extension\manager $extension_manager An instance of the phpBB extension manager
|
||||||
* @param \phpbb\template\template $template phpBB Template instance
|
* @param \phpbb\template\template $template phpBB Template instance or null
|
||||||
* @param \phpbb\user $user User instance
|
* @param \phpbb\user $user User instance
|
||||||
* @param string $phpbb_root_path Path to the phpbb includes directory.
|
* @param string $phpbb_root_path Path to the phpbb includes directory.
|
||||||
*/
|
*/
|
||||||
public function __construct($ext_name, \phpbb\config\config $config, \phpbb\extension\manager $extension_manager, \phpbb\template\template $template, \phpbb\user $user, $phpbb_root_path)
|
public function __construct($ext_name, \phpbb\config\config $config, \phpbb\extension\manager $extension_manager, \phpbb\template\template $template = null, \phpbb\user $user, $phpbb_root_path)
|
||||||
{
|
{
|
||||||
$this->config = $config;
|
$this->config = $config;
|
||||||
$this->extension_manager = $extension_manager;
|
$this->extension_manager = $extension_manager;
|
||||||
|
Reference in New Issue
Block a user