aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/extension
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/phpbb/extension')
-rw-r--r--phpBB/phpbb/extension/base.php18
-rw-r--r--phpBB/phpbb/extension/exception.php12
-rw-r--r--phpBB/phpbb/extension/extension_interface.php (renamed from phpBB/phpbb/extension/interface.php)10
-rw-r--r--phpBB/phpbb/extension/finder.php67
-rw-r--r--phpBB/phpbb/extension/manager.php72
-rw-r--r--phpBB/phpbb/extension/metadata_manager.php118
-rw-r--r--phpBB/phpbb/extension/provider.php18
7 files changed, 161 insertions, 154 deletions
diff --git a/phpBB/phpbb/extension/base.php b/phpBB/phpbb/extension/base.php
index c4462b64d8..1f871750e0 100644
--- a/phpBB/phpbb/extension/base.php
+++ b/phpBB/phpbb/extension/base.php
@@ -7,13 +7,7 @@
*
*/
-/**
-* @ignore
-*/
-if (!defined('IN_PHPBB'))
-{
- exit;
-}
+namespace phpbb\extension;
use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -22,15 +16,15 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
*
* @package extension
*/
-class phpbb_extension_base implements phpbb_extension_interface
+class base implements \phpbb\extension\extension_interface
{
/** @var ContainerInterface */
protected $container;
- /** @var phpbb_extension_finder */
+ /** @var \phpbb\extension\finder */
protected $finder;
- /** @var phpbb_db_migrator */
+ /** @var \phpbb\db\migrator */
protected $migrator;
/** @var string */
@@ -43,11 +37,11 @@ class phpbb_extension_base implements phpbb_extension_interface
* Constructor
*
* @param ContainerInterface $container Container object
- * @param phpbb_extension_finder $extension_finder
+ * @param \phpbb\extension\finder $extension_finder
* @param string $extension_name Name of this extension (from ext.manager)
* @param string $extension_path Relative path to this extension
*/
- public function __construct(ContainerInterface $container, phpbb_extension_finder $extension_finder, phpbb_db_migrator $migrator, $extension_name, $extension_path)
+ public function __construct(ContainerInterface $container, \phpbb\extension\finder $extension_finder, \phpbb\db\migrator $migrator, $extension_name, $extension_path)
{
$this->container = $container;
$this->extension_finder = $extension_finder;
diff --git a/phpBB/phpbb/extension/exception.php b/phpBB/phpbb/extension/exception.php
index e08a8912ea..82327c9d5e 100644
--- a/phpBB/phpbb/extension/exception.php
+++ b/phpBB/phpbb/extension/exception.php
@@ -7,21 +7,15 @@
*
*/
-/**
-* @ignore
-*/
-if (!defined('IN_PHPBB'))
-{
- exit;
-}
+namespace phpbb\extension;
/**
* Exception class for metadata
*/
-class phpbb_extension_exception extends UnexpectedValueException
+class exception extends \UnexpectedValueException
{
public function __toString()
{
return $this->getMessage();
}
-} \ No newline at end of file
+}
diff --git a/phpBB/phpbb/extension/interface.php b/phpBB/phpbb/extension/extension_interface.php
index 7b36a12bf6..bddff51b5a 100644
--- a/phpBB/phpbb/extension/interface.php
+++ b/phpBB/phpbb/extension/extension_interface.php
@@ -7,13 +7,7 @@
*
*/
-/**
-* @ignore
-*/
-if (!defined('IN_PHPBB'))
-{
- exit;
-}
+namespace phpbb\extension;
/**
* The interface extension meta classes have to implement to run custom code
@@ -21,7 +15,7 @@ if (!defined('IN_PHPBB'))
*
* @package extension
*/
-interface phpbb_extension_interface
+interface extension_interface
{
/**
* enable_step is executed on enabling an extension until it returns false.
diff --git a/phpBB/phpbb/extension/finder.php b/phpBB/phpbb/extension/finder.php
index 155a41cda5..6cc6e1808a 100644
--- a/phpBB/phpbb/extension/finder.php
+++ b/phpBB/phpbb/extension/finder.php
@@ -7,20 +7,14 @@
*
*/
-/**
-* @ignore
-*/
-if (!defined('IN_PHPBB'))
-{
- exit;
-}
+namespace phpbb\extension;
/**
* The extension finder provides a simple way to locate files in active extensions
*
* @package extension
*/
-class phpbb_extension_finder
+class finder
{
protected $extension_manager;
protected $filesystem;
@@ -52,17 +46,17 @@ class phpbb_extension_finder
/**
* Creates a new finder instance with its dependencies
*
- * @param phpbb_extension_manager $extension_manager An extension manager
+ * @param \phpbb\extension\manager $extension_manager An extension manager
* instance that provides the finder with a list of active
* extensions and their locations
- * @param phpbb_filesystem $filesystem Filesystem instance
+ * @param \phpbb\filesystem $filesystem Filesystem instance
* @param string $phpbb_root_path Path to the phpbb root directory
- * @param phpbb_cache_driver_interface $cache A cache instance or null
+ * @param \phpbb\cache\driver\driver_interface $cache A cache instance or null
* @param string $php_ext php file extension
* @param string $cache_name The name of the cache variable, defaults to
* _ext_finder
*/
- public function __construct(phpbb_extension_manager $extension_manager, phpbb_filesystem $filesystem, $phpbb_root_path = '', phpbb_cache_driver_interface $cache = null, $php_ext = 'php', $cache_name = '_ext_finder')
+ public function __construct(\phpbb\extension\manager $extension_manager, \phpbb\filesystem $filesystem, $phpbb_root_path = '', \phpbb\cache\driver\driver_interface $cache = null, $php_ext = 'php', $cache_name = '_ext_finder')
{
$this->extension_manager = $extension_manager;
$this->filesystem = $filesystem;
@@ -88,7 +82,7 @@ class phpbb_extension_finder
* Sets a core path to be searched in addition to extensions
*
* @param string $core_path The path relative to phpbb_root_path
- * @return phpbb_extension_finder This object for chaining calls
+ * @return \phpbb\extension\finder This object for chaining calls
*/
public function core_path($core_path)
{
@@ -104,7 +98,7 @@ class phpbb_extension_finder
* file extension is automatically added to suffixes.
*
* @param string $suffix A filename suffix
- * @return phpbb_extension_finder This object for chaining calls
+ * @return \phpbb\extension\finder This object for chaining calls
*/
public function suffix($suffix)
{
@@ -121,7 +115,7 @@ class phpbb_extension_finder
* file extension is automatically added to suffixes.
*
* @param string $extension_suffix A filename suffix
- * @return phpbb_extension_finder This object for chaining calls
+ * @return \phpbb\extension\finder This object for chaining calls
*/
public function extension_suffix($extension_suffix)
{
@@ -137,7 +131,7 @@ class phpbb_extension_finder
* file extension is automatically added to suffixes.
*
* @param string $core_suffix A filename suffix
- * @return phpbb_extension_finder This object for chaining calls
+ * @return \phpbb\extension\finder This object for chaining calls
*/
public function core_suffix($core_suffix)
{
@@ -149,7 +143,7 @@ class phpbb_extension_finder
* Sets the prefix all files found in extensions and core must match
*
* @param string $prefix A filename prefix
- * @return phpbb_extension_finder This object for chaining calls
+ * @return \phpbb\extension\finder This object for chaining calls
*/
public function prefix($prefix)
{
@@ -162,7 +156,7 @@ class phpbb_extension_finder
* Sets a prefix all files found in extensions must match
*
* @param string $extension_prefix A filename prefix
- * @return phpbb_extension_finder This object for chaining calls
+ * @return \phpbb\extension\finder This object for chaining calls
*/
public function extension_prefix($extension_prefix)
{
@@ -174,7 +168,7 @@ class phpbb_extension_finder
* Sets a prefix all files found in the core path must match
*
* @param string $core_prefix A filename prefix
- * @return phpbb_extension_finder This object for chaining calls
+ * @return \phpbb\extension\finder This object for chaining calls
*/
public function core_prefix($core_prefix)
{
@@ -189,7 +183,7 @@ class phpbb_extension_finder
* the current directory.
*
* @param string $directory
- * @return phpbb_extension_finder This object for chaining calls
+ * @return \phpbb\extension\finder This object for chaining calls
*/
public function directory($directory)
{
@@ -202,7 +196,7 @@ class phpbb_extension_finder
* Sets a directory all files found in extensions must be contained in
*
* @param string $extension_directory
- * @return phpbb_extension_finder This object for chaining calls
+ * @return \phpbb\extension\finder This object for chaining calls
*/
public function extension_directory($extension_directory)
{
@@ -214,7 +208,7 @@ class phpbb_extension_finder
* Sets a directory all files found in the core path must be contained in
*
* @param string $core_directory
- * @return phpbb_extension_finder This object for chaining calls
+ * @return \phpbb\extension\finder This object for chaining calls
*/
public function core_directory($core_directory)
{
@@ -275,9 +269,17 @@ class phpbb_extension_finder
$classes = array();
foreach ($files as $file => $ext_name)
{
- $file = preg_replace('#^(phpbb|includes)/#', '', $file);
-
- $classes[] = 'phpbb_' . str_replace('/', '_', substr($file, 0, -strlen('.' . $this->php_ext)));
+ $class = substr($file, 0, -strlen('.' . $this->php_ext));
+ if ($ext_name === '/' && preg_match('#^includes/#', $file))
+ {
+ $class = preg_replace('#^includes/#', '', $class);
+ $classes[] = 'phpbb_' . str_replace('/', '_', $class);
+ }
+ else
+ {
+ $class = preg_replace('#^ext/#', '', $class);
+ $classes[] = '\\' . str_replace('/', '\\', $class);
+ }
}
return $classes;
}
@@ -473,14 +475,19 @@ class phpbb_extension_finder
}
$directory_pattern = '#' . $directory_pattern . '#';
- $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::SELF_FIRST);
+ $iterator = new \RecursiveIteratorIterator(
+ new \phpbb\recursive_dot_prefix_filter_iterator(
+ new \RecursiveDirectoryIterator(
+ $path,
+ \FilesystemIterator::SKIP_DOTS
+ )
+ ),
+ \RecursiveIteratorIterator::SELF_FIRST
+ );
+
foreach ($iterator as $file_info)
{
$filename = $file_info->getFilename();
- if ($filename == '.' || $filename == '..')
- {
- continue;
- }
if ($file_info->isDir() == $is_dir)
{
diff --git a/phpBB/phpbb/extension/manager.php b/phpBB/phpbb/extension/manager.php
index 4451049d04..b22fbf07a6 100644
--- a/phpBB/phpbb/extension/manager.php
+++ b/phpBB/phpbb/extension/manager.php
@@ -7,13 +7,7 @@
*
*/
-/**
-* @ignore
-*/
-if (!defined('IN_PHPBB'))
-{
- exit;
-}
+namespace phpbb\extension;
use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -22,7 +16,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
*
* @package extension
*/
-class phpbb_extension_manager
+class manager
{
/** @var ContainerInterface */
protected $container;
@@ -40,16 +34,16 @@ class phpbb_extension_manager
* Creates a manager and loads information from database
*
* @param ContainerInterface $container A container
- * @param phpbb_db_driver $db A database connection
- * @param phpbb_config $config phpbb_config
- * @param phpbb_filesystem $filesystem
+ * @param \phpbb\db\driver\driver_interface $db A database connection
+ * @param \phpbb\config\config $config \phpbb\config\config
+ * @param \phpbb\filesystem $filesystem
* @param string $extension_table The name of the table holding extensions
* @param string $phpbb_root_path Path to the phpbb includes directory.
* @param string $php_ext php file extension
- * @param phpbb_cache_driver_interface $cache A cache instance or null
+ * @param \phpbb\cache\driver\driver_interface $cache A cache instance or null
* @param string $cache_name The name of the cache variable, defaults to _ext
*/
- public function __construct(ContainerInterface $container, phpbb_db_driver $db, phpbb_config $config, phpbb_filesystem $filesystem, $extension_table, $phpbb_root_path, $php_ext = 'php', phpbb_cache_driver_interface $cache = null, $cache_name = '_ext')
+ public function __construct(ContainerInterface $container, \phpbb\db\driver\driver_interface $db, \phpbb\config\config $config, \phpbb\filesystem $filesystem, $extension_table, $phpbb_root_path, $php_ext = 'php', \phpbb\cache\driver\driver_interface $cache = null, $cache_name = '_ext')
{
$this->container = $container;
$this->phpbb_root_path = $phpbb_root_path;
@@ -126,12 +120,12 @@ class phpbb_extension_manager
* Instantiates the extension meta class for the extension with the given name
*
* @param string $name The extension name
- * @return phpbb_extension_interface Instance of the extension meta class or
- * phpbb_extension_base if the class does not exist
+ * @return \phpbb\extension\extension_interface Instance of the extension meta class or
+ * \phpbb\extension\base if the class does not exist
*/
public function get_extension($name)
{
- $extension_class_name = 'phpbb_ext_' . str_replace('/', '_', $name) . '_ext';
+ $extension_class_name = str_replace('/', '\\', $name) . '\\ext';
$migrator = $this->container->get('migrator');
@@ -141,7 +135,7 @@ class phpbb_extension_manager
}
else
{
- return new phpbb_extension_base($this->container, $this->get_finder(), $migrator, $name, $this->get_extension_path($name, true));
+ return new \phpbb\extension\base($this->container, $this->get_finder(), $migrator, $name, $this->get_extension_path($name, true));
}
}
@@ -150,11 +144,11 @@ class phpbb_extension_manager
*
* @param string $name The extension name
* @param string $template The template manager
- * @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)
+ public function create_extension_metadata_manager($name, \phpbb\template\template $template)
{
- return new phpbb_extension_metadata_manager($name, $this->config, $this, $template, $this->phpbb_root_path);
+ return new \phpbb\extension\metadata_manager($name, $this->config, $this, $template, $this->phpbb_root_path);
}
/**
@@ -218,6 +212,11 @@ class phpbb_extension_manager
$this->cache->purge();
}
+ if ($active)
+ {
+ $this->config->increment('assets_version', 1);
+ }
+
return !$active;
}
@@ -232,7 +231,9 @@ class phpbb_extension_manager
*/
public function enable($name)
{
+ // @codingStandardsIgnoreStart
while ($this->enable_step($name));
+ // @codingStandardsIgnoreEnd
}
/**
@@ -309,7 +310,9 @@ class phpbb_extension_manager
*/
public function disable($name)
{
+ // @codingStandardsIgnoreStart
while ($this->disable_step($name));
+ // @codingStandardsIgnoreEnd
}
/**
@@ -386,7 +389,9 @@ class phpbb_extension_manager
*/
public function purge($name)
{
+ // @codingStandardsIgnoreStart
while ($this->purge_step($name));
+ // @codingStandardsIgnoreEnd
}
/**
@@ -403,17 +408,32 @@ class phpbb_extension_manager
return $available;
}
- $iterator = new RecursiveIteratorIterator(
- new RecursiveDirectoryIterator($this->phpbb_root_path . 'ext/', FilesystemIterator::NEW_CURRENT_AND_KEY | FilesystemIterator::FOLLOW_SYMLINKS),
- RecursiveIteratorIterator::SELF_FIRST);
+ $iterator = new \RecursiveIteratorIterator(
+ new \RecursiveDirectoryIterator($this->phpbb_root_path . 'ext/', \FilesystemIterator::NEW_CURRENT_AND_KEY | \FilesystemIterator::FOLLOW_SYMLINKS),
+ \RecursiveIteratorIterator::SELF_FIRST);
foreach ($iterator as $file_info)
{
if ($file_info->isFile() && $file_info->getFilename() == 'ext.' . $this->php_ext)
{
$ext_name = $iterator->getInnerIterator()->getSubPath();
+ $composer_file = $iterator->getPath() . '/composer.json';
+ // Ignore the extension if there is no composer.json.
+ if (!is_readable($composer_file) || !($ext_info = file_get_contents($composer_file)))
+ {
+ continue;
+ }
+
+ $ext_info = json_decode($ext_info, true);
$ext_name = str_replace(DIRECTORY_SEPARATOR, '/', $ext_name);
+ // Ignore the extension if directory depth is not correct or if the directory structure
+ // does not match the name value specified in composer.json.
+ if (substr_count($ext_name, '/') !== 1 || !isset($ext_info['name']) || $ext_name != $ext_info['name'])
+ {
+ continue;
+ }
+
$available[$ext_name] = $this->phpbb_root_path . 'ext/' . $ext_name . '/';
}
}
@@ -502,12 +522,12 @@ class phpbb_extension_manager
}
/**
- * Instantiates a phpbb_extension_finder.
+ * Instantiates a \phpbb\extension\finder.
*
- * @return phpbb_extension_finder An extension finder instance
+ * @return \phpbb\extension\finder An extension finder instance
*/
public function get_finder()
{
- return new phpbb_extension_finder($this, $this->filesystem, $this->phpbb_root_path, $this->cache, $this->php_ext, $this->cache_name . '_finder');
+ return new \phpbb\extension\finder($this, $this->filesystem, $this->phpbb_root_path, $this->cache, $this->php_ext, $this->cache_name . '_finder');
}
}
diff --git a/phpBB/phpbb/extension/metadata_manager.php b/phpBB/phpbb/extension/metadata_manager.php
index 14b77c085b..c90445ee09 100644
--- a/phpBB/phpbb/extension/metadata_manager.php
+++ b/phpBB/phpbb/extension/metadata_manager.php
@@ -7,36 +7,30 @@
*
*/
-/**
-* @ignore
-*/
-if (!defined('IN_PHPBB'))
-{
- exit;
-}
+namespace phpbb\extension;
/**
* The extension metadata manager validates and gets meta-data for extensions
*
* @package extension
*/
-class phpbb_extension_metadata_manager
+class metadata_manager
{
/**
* phpBB Config instance
- * @var phpbb_config
+ * @var \phpbb\config\config
*/
protected $config;
/**
* phpBB Extension Manager
- * @var phpbb_extension_manager
+ * @var \phpbb\extension\manager
*/
protected $extension_manager;
/**
* phpBB Template instance
- * @var phpbb_template
+ * @var \phpbb\template\template
*/
protected $template;
@@ -68,12 +62,12 @@ class phpbb_extension_metadata_manager
* Creates the metadata manager
*
* @param string $ext_name Name (including vendor) of the extension
- * @param phpbb_config $config phpBB Config instance
- * @param phpbb_extension_manager $extension_manager An instance of the phpBBb extension manager
- * @param phpbb_template $template phpBB Template instance
+ * @param \phpbb\config\config $config phpBB Config instance
+ * @param \phpbb\extension\manager $extension_manager An instance of the phpBBb extension manager
+ * @param \phpbb\template\template $template phpBB Template instance
* @param string $phpbb_root_path Path to the phpbb includes directory.
*/
- public function __construct($ext_name, phpbb_config $config, phpbb_extension_manager $extension_manager, phpbb_template $template, $phpbb_root_path)
+ public function __construct($ext_name, \phpbb\config\config $config, \phpbb\extension\manager $extension_manager, \phpbb\template\template $template, $phpbb_root_path)
{
$this->config = $config;
$this->extension_manager = $extension_manager;
@@ -145,7 +139,7 @@ class phpbb_extension_metadata_manager
if (!file_exists($this->metadata_file))
{
- throw new phpbb_extension_exception('The required file does not exist: ' . $this->metadata_file);
+ throw new \phpbb\extension\exception('The required file does not exist: ' . $this->metadata_file);
}
}
@@ -158,18 +152,18 @@ class phpbb_extension_metadata_manager
{
if (!file_exists($this->metadata_file))
{
- throw new phpbb_extension_exception('The required file does not exist: ' . $this->metadata_file);
+ throw new \phpbb\extension\exception('The required file does not exist: ' . $this->metadata_file);
}
else
{
if (!($file_contents = file_get_contents($this->metadata_file)))
{
- throw new phpbb_extension_exception('file_get_contents failed on ' . $this->metadata_file);
+ throw new \phpbb\extension\exception('file_get_contents failed on ' . $this->metadata_file);
}
- if (($metadata = json_decode($file_contents, true)) === NULL)
+ if (($metadata = json_decode($file_contents, true)) === null)
{
- throw new phpbb_extension_exception('json_decode failed on ' . $this->metadata_file);
+ throw new \phpbb\extension\exception('json_decode failed on ' . $this->metadata_file);
}
$this->metadata = $metadata;
@@ -197,50 +191,50 @@ class phpbb_extension_metadata_manager
* @return Bool True if valid, throws an exception if invalid
*/
public function validate($name = 'display')
- {
- // Basic fields
- $fields = array(
- 'name' => '#^[a-zA-Z0-9_\x7f-\xff]{2,}/[a-zA-Z0-9_\x7f-\xff]{2,}$#',
- 'type' => '#^phpbb3-extension$#',
- 'licence' => '#.+#',
- 'version' => '#.+#',
- );
-
- switch ($name)
- {
- case 'all':
- $this->validate('display');
+ {
+ // Basic fields
+ $fields = array(
+ 'name' => '#^[a-zA-Z0-9_\x7f-\xff]{2,}/[a-zA-Z0-9_\x7f-\xff]{2,}$#',
+ 'type' => '#^phpbb-extension$#',
+ 'license' => '#.+#',
+ 'version' => '#.+#',
+ );
+
+ switch ($name)
+ {
+ case 'all':
+ $this->validate('display');
$this->validate_enable();
- break;
+ break;
- case 'display':
- foreach ($fields as $field => $data)
+ case 'display':
+ foreach ($fields as $field => $data)
{
$this->validate($field);
}
$this->validate_authors();
- break;
-
- default:
- if (isset($fields[$name]))
- {
- if (!isset($this->metadata[$name]))
- {
- throw new phpbb_extension_exception("Required meta field '$name' has not been set.");
+ break;
+
+ default:
+ if (isset($fields[$name]))
+ {
+ if (!isset($this->metadata[$name]))
+ {
+ throw new \phpbb\extension\exception("Required meta field '$name' has not been set.");
}
if (!preg_match($fields[$name], $this->metadata[$name]))
{
- throw new phpbb_extension_exception("Meta field '$name' is invalid.");
+ throw new \phpbb\extension\exception("Meta field '$name' is invalid.");
}
}
break;
}
return true;
- }
+ }
/**
* Validates the contents of the authors field
@@ -251,14 +245,14 @@ class phpbb_extension_metadata_manager
{
if (empty($this->metadata['authors']))
{
- throw new phpbb_extension_exception("Required meta field 'authors' has not been set.");
+ throw new \phpbb\extension\exception("Required meta field 'authors' has not been set.");
}
foreach ($this->metadata['authors'] as $author)
{
if (!isset($author['name']))
{
- throw new phpbb_extension_exception("Required meta field 'author name' has not been set.");
+ throw new \phpbb\extension\exception("Required meta field 'author name' has not been set.");
}
}
@@ -272,8 +266,8 @@ class phpbb_extension_metadata_manager
*/
public function validate_enable()
{
- // Check for phpBB, PHP versions
- if (!$this->validate_require_phpbb() || !$this->validate_require_php())
+ // Check for valid directory & phpBB, PHP versions
+ if (!$this->validate_dir() || !$this->validate_require_phpbb() || !$this->validate_require_php())
{
return false;
}
@@ -281,6 +275,16 @@ class phpbb_extension_metadata_manager
return true;
}
+ /**
+ * Validates the most basic directory structure to ensure it follows <vendor>/<ext> convention.
+ *
+ * @return boolean True when passes validation
+ */
+ public function validate_dir()
+ {
+ return (substr_count($this->ext_name, '/') === 1 && $this->ext_name == $this->get_metadata('name'));
+ }
+
/**
* Validates the contents of the phpbb requirement field
@@ -289,12 +293,12 @@ class phpbb_extension_metadata_manager
*/
public function validate_require_phpbb()
{
- if (!isset($this->metadata['require']['phpbb']))
+ if (!isset($this->metadata['require']['phpbb/phpbb']))
{
- return true;
+ return false;
}
- return $this->_validate_version($this->metadata['require']['phpbb'], $this->config['version']);
+ return true;
}
/**
@@ -306,10 +310,10 @@ class phpbb_extension_metadata_manager
{
if (!isset($this->metadata['require']['php']))
{
- return true;
+ return false;
}
- return $this->_validate_version($this->metadata['require']['php'], phpversion());
+ return true;
}
/**
@@ -347,12 +351,12 @@ class phpbb_extension_metadata_manager
'META_HOMEPAGE' => (isset($this->metadata['homepage'])) ? $this->metadata['homepage'] : '',
'META_VERSION' => (isset($this->metadata['version'])) ? htmlspecialchars($this->metadata['version']) : '',
'META_TIME' => (isset($this->metadata['time'])) ? htmlspecialchars($this->metadata['time']) : '',
- 'META_LICENCE' => htmlspecialchars($this->metadata['licence']),
+ 'META_LICENSE' => htmlspecialchars($this->metadata['license']),
'META_REQUIRE_PHP' => (isset($this->metadata['require']['php'])) ? htmlspecialchars($this->metadata['require']['php']) : '',
'META_REQUIRE_PHP_FAIL' => !$this->validate_require_php(),
- 'META_REQUIRE_PHPBB' => (isset($this->metadata['require']['phpbb'])) ? htmlspecialchars($this->metadata['require']['phpbb']) : '',
+ 'META_REQUIRE_PHPBB' => (isset($this->metadata['require']['phpbb/phpbb'])) ? htmlspecialchars($this->metadata['require']['phpbb/phpbb']) : '',
'META_REQUIRE_PHPBB_FAIL' => !$this->validate_require_phpbb(),
'META_DISPLAY_NAME' => (isset($this->metadata['extra']['display-name'])) ? htmlspecialchars($this->metadata['extra']['display-name']) : '',
diff --git a/phpBB/phpbb/extension/provider.php b/phpBB/phpbb/extension/provider.php
index 45b55e5cab..bfdc2b66b9 100644
--- a/phpBB/phpbb/extension/provider.php
+++ b/phpBB/phpbb/extension/provider.php
@@ -7,13 +7,7 @@
*
*/
-/**
-* @ignore
-*/
-if (!defined('IN_PHPBB'))
-{
- exit;
-}
+namespace phpbb\extension;
/**
* Provides a set of items found in extensions.
@@ -28,7 +22,7 @@ if (!defined('IN_PHPBB'))
*
* @package extension
*/
-abstract class phpbb_extension_provider implements IteratorAggregate
+abstract class provider implements \IteratorAggregate
{
/**
* Array holding all found items
@@ -38,16 +32,16 @@ abstract class phpbb_extension_provider implements IteratorAggregate
/**
* An extension manager to search for items in extensions
- * @var phpbb_extension_manager
+ * @var \phpbb\extension\manager
*/
protected $extension_manager;
/**
* Constructor. Loads all available items.
*
- * @param phpbb_extension_manager $extension_manager phpBB extension manager
+ * @param \phpbb\extension\manager $extension_manager phpBB extension manager
*/
- public function __construct(phpbb_extension_manager $extension_manager)
+ public function __construct(\phpbb\extension\manager $extension_manager)
{
$this->extension_manager = $extension_manager;
}
@@ -71,6 +65,6 @@ abstract class phpbb_extension_provider implements IteratorAggregate
$this->items = $this->find();
}
- return new ArrayIterator($this->items);
+ return new \ArrayIterator($this->items);
}
}