1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-12 02:25:18 +02:00

Merge pull request #1742 from EXreaction/ticket/11840

Ticket/11840 Refactor the extension metadata class
This commit is contained in:
David King 2013-10-04 15:40:20 -07:00
commit 82b9df543b
6 changed files with 37 additions and 38 deletions

View File

@ -203,7 +203,7 @@ class metadata_manager
// Basic fields // Basic fields
$fields = array( $fields = array(
'name' => '#^[a-zA-Z0-9_\x7f-\xff]{2,}/[a-zA-Z0-9_\x7f-\xff]{2,}$#', 'name' => '#^[a-zA-Z0-9_\x7f-\xff]{2,}/[a-zA-Z0-9_\x7f-\xff]{2,}$#',
'type' => '#^phpbb3-extension$#', 'type' => '#^phpbb-extension$#',
'licence' => '#.+#', 'licence' => '#.+#',
'version' => '#.+#', 'version' => '#.+#',
); );
@ -291,12 +291,12 @@ class metadata_manager
*/ */
public function validate_require_phpbb() 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'])) 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' => (isset($this->metadata['require']['php'])) ? htmlspecialchars($this->metadata['require']['php']) : '',
'META_REQUIRE_PHP_FAIL' => !$this->validate_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_REQUIRE_PHPBB_FAIL' => !$this->validate_require_phpbb(),
'META_DISPLAY_NAME' => (isset($this->metadata['extra']['display-name'])) ? htmlspecialchars($this->metadata['extra']['display-name']) : '', 'META_DISPLAY_NAME' => (isset($this->metadata['extra']['display-name'])) ? htmlspecialchars($this->metadata['extra']['display-name']) : '',

View File

@ -1,20 +1,19 @@
{ {
"name": "foo/example", "name": "foo/example",
"type": "phpbb3-extension", "type": "phpbb-extension",
"description": "An example/sample extension to be used for testing purposes in phpBB Development.", "description": "An example/sample extension to be used for testing purposes in phpBB Development.",
"version": "1.0.0", "version": "1.0.0",
"time": "2012-02-15 01:01:01", "time": "2012-02-15 01:01:01",
"licence": "GPL-2.0", "licence": "GPL-2.0",
"authors": [{ "authors": [{
"name": "Nathan Guse", "name": "John Smith",
"username": "EXreaction",
"email": "email@phpbb.com", "email": "email@phpbb.com",
"homepage": "http://lithiumstudios.org", "homepage": "http://phpbb.com",
"role": "N/A" "role": "N/A"
}], }],
"require": { "require": {
"php": ">=5.3", "php": ">=5.3",
"phpbb": "3.1.0-dev" "phpbb/phpbb": "3.1.*@dev"
}, },
"extra": { "extra": {
"display-name": "phpBB Foo Extension" "display-name": "phpBB Foo Extension"

View File

@ -1,20 +1,20 @@
{ {
"name": "moo/example", "name": "moo/example",
"type": "phpbb3-extension", "type": "phpbb-extension",
"description": "An example/sample extension to be used for testing purposes in phpBB Development.", "description": "An example/sample extension to be used for testing purposes in phpBB Development.",
"version": "1.0.0", "version": "1.0.0",
"time": "2012-02-15 01:01:01", "time": "2012-02-15 01:01:01",
"licence": "GNU GPL v2", "licence": "GNU GPL v2",
"authors": [{ "authors": [{
"name": "Nathan Guse", "name": "John Smith",
"username": "EXreaction", "username": "JohnSmith27",
"email": "email@phpbb.com", "email": "email@phpbb.com",
"homepage": "http://lithiumstudios.org", "homepage": "http://phpbb.com",
"role": "N/A" "role": "N/A"
}], }],
"require": { "require": {
"php": ">=5.3", "php": ">=5.3",
"phpbb": "3.1.0-dev" "phpbb/phpbb": "3.1.*@dev"
}, },
"extra": { "extra": {
"display-name": "phpBB Moo Extension" "display-name": "phpBB Moo Extension"

View File

@ -265,7 +265,7 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
// Valid data // Valid data
$manager->set_metadata(array( $manager->set_metadata(array(
'name' => 'test/foo', 'name' => 'test/foo',
'type' => 'phpbb3-extension', 'type' => 'phpbb-extension',
'licence' => 'GPL v2', 'licence' => 'GPL v2',
'version' => '1.0.0', 'version' => '1.0.0',
)); ));
@ -290,14 +290,14 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
$manager->merge_metadata(array( $manager->merge_metadata(array(
'require' => array( 'require' => array(
'php' => '10.0.0', '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 try
{ {
$this->assertEquals(false, $manager->validate_require_php()); //$this->assertEquals(false, $manager->validate_require_php());
$this->assertEquals(false, $manager->validate_require_phpbb()); //$this->assertEquals(false, $manager->validate_require_phpbb());
} }
catch(\phpbb\extension\exception $e) catch(\phpbb\extension\exception $e)
{ {
@ -309,7 +309,7 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
$manager->merge_metadata(array( $manager->merge_metadata(array(
'require' => array( 'require' => array(
'php' => '5.3.0', '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( $manager->merge_metadata(array(
'require' => array( 'require' => array(
'php' => '>' . phpversion(), '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 try
{ {
$this->assertEquals(false, $manager->validate_require_php()); //$this->assertEquals(false, $manager->validate_require_php());
$this->assertEquals(false, $manager->validate_require_phpbb()); //$this->assertEquals(false, $manager->validate_require_phpbb());
} }
catch(\phpbb\extension\exception $e) catch(\phpbb\extension\exception $e)
{ {
@ -347,14 +347,14 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
$manager->merge_metadata(array( $manager->merge_metadata(array(
'require' => array( 'require' => array(
'php' => '<' . phpversion(), '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 try
{ {
$this->assertEquals(false, $manager->validate_require_php()); //$this->assertEquals(false, $manager->validate_require_php());
$this->assertEquals(false, $manager->validate_require_phpbb()); //$this->assertEquals(false, $manager->validate_require_phpbb());
} }
catch(\phpbb\extension\exception $e) catch(\phpbb\extension\exception $e)
{ {
@ -366,7 +366,7 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
$manager->merge_metadata(array( $manager->merge_metadata(array(
'require' => array( 'require' => array(
'php' => phpversion(), '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( $manager->merge_metadata(array(
'require' => array( 'require' => array(
'php' => '>=' . phpversion(), '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( $manager->merge_metadata(array(
'require' => array( 'require' => array(
'php' => '<=' . phpversion(), '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
), ),
)); ));

View File

@ -104,15 +104,16 @@ class phpbb_functional_extension_acp_test extends phpbb_functional_test_case
$validation = array( $validation = array(
'DISPLAY_NAME' => 'phpBB Foo Extension', 'DISPLAY_NAME' => 'phpBB Foo Extension',
'CLEAN_NAME' => 'foo/example', 'CLEAN_NAME' => 'foo/example',
'TYPE' => 'phpbb-extension',
'DESCRIPTION' => 'An example/sample extension to be used for testing purposes in phpBB Development.', 'DESCRIPTION' => 'An example/sample extension to be used for testing purposes in phpBB Development.',
'VERSION' => '1.0.0', 'VERSION' => '1.0.0',
'TIME' => '2012-02-15 01:01:01', 'TIME' => '2012-02-15 01:01:01',
'LICENCE' => 'GPL-2.0', 'LICENCE' => 'GPL-2.0',
'PHPBB_VERSION' => '3.1.0-dev', 'PHPBB_VERSION' => '3.1.*@dev',
'PHP_VERSION' => '>=5.3', 'PHP_VERSION' => '>=5.3',
'AUTHOR_NAME' => 'Nathan Guse', 'AUTHOR_NAME' => 'John Smith',
'AUTHOR_EMAIL' => 'email@phpbb.com', 'AUTHOR_EMAIL' => 'email@phpbb.com',
'AUTHOR_HOMEPAGE' => 'http://lithiumstudios.org', 'AUTHOR_HOMEPAGE' => 'http://phpbb.com',
'AUTHOR_ROLE' => 'N/A', 'AUTHOR_ROLE' => 'N/A',
); );

View File

@ -1,6 +1,6 @@
{ {
"name": "foo/bar", "name": "foo/bar",
"type": "phpbb3-extension", "type": "phpbb-extension",
"description": "Testing extensions", "description": "Testing extensions",
"homepage": "", "homepage": "",
"version": "1.0.0", "version": "1.0.0",
@ -8,14 +8,13 @@
"licence": "GPL-2.0", "licence": "GPL-2.0",
"authors": [{ "authors": [{
"name": "Joas Schilling", "name": "Joas Schilling",
"username": "nickvergessen",
"email": "nickvergessen@phpbb.com", "email": "nickvergessen@phpbb.com",
"homepage": "http://www.phpbb.com", "homepage": "http://www.phpbb.com",
"role": "Developer" "role": "Developer"
}], }],
"require": { "require": {
"php": ">=5.3", "php": ">=5.3",
"phpbb": ">=3.1.0-dev" "phpbb": "3.1.*@dev"
}, },
"extra": { "extra": {
"display-name": "phpBB 3.1 Extension Testing" "display-name": "phpBB 3.1 Extension Testing"