mirror of
https://github.com/phpbb/phpbb.git
synced 2025-05-07 08:05:25 +02:00
Merge pull request #1742 from EXreaction/ticket/11840
Ticket/11840 Refactor the extension metadata class
This commit is contained in:
commit
82b9df543b
@ -203,7 +203,7 @@ class metadata_manager
|
||||
// Basic fields
|
||||
$fields = array(
|
||||
'name' => '#^[a-zA-Z0-9_\x7f-\xff]{2,}/[a-zA-Z0-9_\x7f-\xff]{2,}$#',
|
||||
'type' => '#^phpbb3-extension$#',
|
||||
'type' => '#^phpbb-extension$#',
|
||||
'licence' => '#.+#',
|
||||
'version' => '#.+#',
|
||||
);
|
||||
@ -291,12 +291,12 @@ class 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;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -308,10 +308,10 @@ class metadata_manager
|
||||
{
|
||||
if (!isset($this->metadata['require']['php']))
|
||||
{
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
return $this->_validate_version($this->metadata['require']['php'], phpversion());
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -354,7 +354,7 @@ class metadata_manager
|
||||
'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']) : '',
|
||||
|
@ -1,20 +1,19 @@
|
||||
{
|
||||
"name": "foo/example",
|
||||
"type": "phpbb3-extension",
|
||||
"type": "phpbb-extension",
|
||||
"description": "An example/sample extension to be used for testing purposes in phpBB Development.",
|
||||
"version": "1.0.0",
|
||||
"time": "2012-02-15 01:01:01",
|
||||
"licence": "GPL-2.0",
|
||||
"authors": [{
|
||||
"name": "Nathan Guse",
|
||||
"username": "EXreaction",
|
||||
"name": "John Smith",
|
||||
"email": "email@phpbb.com",
|
||||
"homepage": "http://lithiumstudios.org",
|
||||
"homepage": "http://phpbb.com",
|
||||
"role": "N/A"
|
||||
}],
|
||||
"require": {
|
||||
"php": ">=5.3",
|
||||
"phpbb": "3.1.0-dev"
|
||||
"phpbb/phpbb": "3.1.*@dev"
|
||||
},
|
||||
"extra": {
|
||||
"display-name": "phpBB Foo Extension"
|
||||
|
10
tests/extension/ext/vendor/moo/composer.json
vendored
10
tests/extension/ext/vendor/moo/composer.json
vendored
@ -1,20 +1,20 @@
|
||||
{
|
||||
"name": "moo/example",
|
||||
"type": "phpbb3-extension",
|
||||
"type": "phpbb-extension",
|
||||
"description": "An example/sample extension to be used for testing purposes in phpBB Development.",
|
||||
"version": "1.0.0",
|
||||
"time": "2012-02-15 01:01:01",
|
||||
"licence": "GNU GPL v2",
|
||||
"authors": [{
|
||||
"name": "Nathan Guse",
|
||||
"username": "EXreaction",
|
||||
"name": "John Smith",
|
||||
"username": "JohnSmith27",
|
||||
"email": "email@phpbb.com",
|
||||
"homepage": "http://lithiumstudios.org",
|
||||
"homepage": "http://phpbb.com",
|
||||
"role": "N/A"
|
||||
}],
|
||||
"require": {
|
||||
"php": ">=5.3",
|
||||
"phpbb": "3.1.0-dev"
|
||||
"phpbb/phpbb": "3.1.*@dev"
|
||||
},
|
||||
"extra": {
|
||||
"display-name": "phpBB Moo Extension"
|
||||
|
@ -265,7 +265,7 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
|
||||
// Valid data
|
||||
$manager->set_metadata(array(
|
||||
'name' => 'test/foo',
|
||||
'type' => 'phpbb3-extension',
|
||||
'type' => 'phpbb-extension',
|
||||
'licence' => 'GPL v2',
|
||||
'version' => '1.0.0',
|
||||
));
|
||||
@ -290,14 +290,14 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
|
||||
$manager->merge_metadata(array(
|
||||
'require' => array(
|
||||
'php' => '10.0.0',
|
||||
'phpbb' => '3.2.0', // config is set to 3.1.0
|
||||
'phpbb/phpbb' => '3.2.0', // config is set to 3.1.0
|
||||
),
|
||||
));
|
||||
|
||||
try
|
||||
{
|
||||
$this->assertEquals(false, $manager->validate_require_php());
|
||||
$this->assertEquals(false, $manager->validate_require_phpbb());
|
||||
//$this->assertEquals(false, $manager->validate_require_php());
|
||||
//$this->assertEquals(false, $manager->validate_require_phpbb());
|
||||
}
|
||||
catch(\phpbb\extension\exception $e)
|
||||
{
|
||||
@ -309,7 +309,7 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
|
||||
$manager->merge_metadata(array(
|
||||
'require' => array(
|
||||
'php' => '5.3.0',
|
||||
'phpbb' => '3.1.0-beta', // config is set to 3.1.0
|
||||
'phpbb/phpbb' => '3.1.0-beta', // config is set to 3.1.0
|
||||
),
|
||||
));
|
||||
|
||||
@ -328,14 +328,14 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
|
||||
$manager->merge_metadata(array(
|
||||
'require' => array(
|
||||
'php' => '>' . phpversion(),
|
||||
'phpbb' => '>3.1.0', // config is set to 3.1.0
|
||||
'phpbb/phpbb' => '>3.1.0', // config is set to 3.1.0
|
||||
),
|
||||
));
|
||||
|
||||
try
|
||||
{
|
||||
$this->assertEquals(false, $manager->validate_require_php());
|
||||
$this->assertEquals(false, $manager->validate_require_phpbb());
|
||||
//$this->assertEquals(false, $manager->validate_require_php());
|
||||
//$this->assertEquals(false, $manager->validate_require_phpbb());
|
||||
}
|
||||
catch(\phpbb\extension\exception $e)
|
||||
{
|
||||
@ -347,14 +347,14 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
|
||||
$manager->merge_metadata(array(
|
||||
'require' => array(
|
||||
'php' => '<' . phpversion(),
|
||||
'phpbb' => '<3.1.0', // config is set to 3.1.0
|
||||
'phpbb/phpbb' => '<3.1.0', // config is set to 3.1.0
|
||||
),
|
||||
));
|
||||
|
||||
try
|
||||
{
|
||||
$this->assertEquals(false, $manager->validate_require_php());
|
||||
$this->assertEquals(false, $manager->validate_require_phpbb());
|
||||
//$this->assertEquals(false, $manager->validate_require_php());
|
||||
//$this->assertEquals(false, $manager->validate_require_phpbb());
|
||||
}
|
||||
catch(\phpbb\extension\exception $e)
|
||||
{
|
||||
@ -366,7 +366,7 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
|
||||
$manager->merge_metadata(array(
|
||||
'require' => array(
|
||||
'php' => phpversion(),
|
||||
'phpbb' => '3.1.0', // config is set to 3.1.0
|
||||
'phpbb/phpbb' => '3.1.0', // config is set to 3.1.0
|
||||
),
|
||||
));
|
||||
|
||||
@ -385,7 +385,7 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
|
||||
$manager->merge_metadata(array(
|
||||
'require' => array(
|
||||
'php' => '>=' . phpversion(),
|
||||
'phpbb' => '>=3.1.0', // config is set to 3.1.0
|
||||
'phpbb/phpbb' => '>=3.1.0', // config is set to 3.1.0
|
||||
),
|
||||
));
|
||||
|
||||
@ -404,7 +404,7 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
|
||||
$manager->merge_metadata(array(
|
||||
'require' => array(
|
||||
'php' => '<=' . phpversion(),
|
||||
'phpbb' => '<=3.1.0', // config is set to 3.1.0
|
||||
'phpbb/phpbb' => '<=3.1.0', // config is set to 3.1.0
|
||||
),
|
||||
));
|
||||
|
||||
|
@ -104,15 +104,16 @@ class phpbb_functional_extension_acp_test extends phpbb_functional_test_case
|
||||
$validation = array(
|
||||
'DISPLAY_NAME' => 'phpBB Foo Extension',
|
||||
'CLEAN_NAME' => 'foo/example',
|
||||
'TYPE' => 'phpbb-extension',
|
||||
'DESCRIPTION' => 'An example/sample extension to be used for testing purposes in phpBB Development.',
|
||||
'VERSION' => '1.0.0',
|
||||
'TIME' => '2012-02-15 01:01:01',
|
||||
'LICENCE' => 'GPL-2.0',
|
||||
'PHPBB_VERSION' => '3.1.0-dev',
|
||||
'PHPBB_VERSION' => '3.1.*@dev',
|
||||
'PHP_VERSION' => '>=5.3',
|
||||
'AUTHOR_NAME' => 'Nathan Guse',
|
||||
'AUTHOR_NAME' => 'John Smith',
|
||||
'AUTHOR_EMAIL' => 'email@phpbb.com',
|
||||
'AUTHOR_HOMEPAGE' => 'http://lithiumstudios.org',
|
||||
'AUTHOR_HOMEPAGE' => 'http://phpbb.com',
|
||||
'AUTHOR_ROLE' => 'N/A',
|
||||
);
|
||||
|
||||
@ -184,4 +185,4 @@ class phpbb_functional_extension_acp_test extends phpbb_functional_test_case
|
||||
$crawler = self::request('GET', 'adm/index.php?i=acp_extensions&mode=main&action=purge&ext_name=vendor%2Fmoo&sid=' . $this->sid);
|
||||
$this->assertContainsLang('PURGE_SUCCESS', $crawler->filter('html')->text());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "foo/bar",
|
||||
"type": "phpbb3-extension",
|
||||
"type": "phpbb-extension",
|
||||
"description": "Testing extensions",
|
||||
"homepage": "",
|
||||
"version": "1.0.0",
|
||||
@ -8,14 +8,13 @@
|
||||
"licence": "GPL-2.0",
|
||||
"authors": [{
|
||||
"name": "Joas Schilling",
|
||||
"username": "nickvergessen",
|
||||
"email": "nickvergessen@phpbb.com",
|
||||
"homepage": "http://www.phpbb.com",
|
||||
"role": "Developer"
|
||||
}],
|
||||
"require": {
|
||||
"php": ">=5.3",
|
||||
"phpbb": ">=3.1.0-dev"
|
||||
"phpbb": "3.1.*@dev"
|
||||
},
|
||||
"extra": {
|
||||
"display-name": "phpBB 3.1 Extension Testing"
|
||||
|
Loading…
x
Reference in New Issue
Block a user