aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/extension
diff options
context:
space:
mode:
authorNathan Guse <nathaniel.guse@gmail.com>2012-07-28 14:59:55 -0500
committerUnknown Bliss <m@michaelcullum.com>2012-09-01 15:05:47 +0100
commit500879520c40a71f0b83799ab3e59c86c12a801a (patch)
tree48730f977cf9c079b76be7d1f063994dcbf4d680 /phpBB/includes/extension
parent8c5786636a534baf28b4820a730f85948c3dccf4 (diff)
downloadforums-500879520c40a71f0b83799ab3e59c86c12a801a.tar
forums-500879520c40a71f0b83799ab3e59c86c12a801a.tar.gz
forums-500879520c40a71f0b83799ab3e59c86c12a801a.tar.bz2
forums-500879520c40a71f0b83799ab3e59c86c12a801a.tar.xz
forums-500879520c40a71f0b83799ab3e59c86c12a801a.zip
[ticket/10631] Metadata manager tests
PHPBB3-10631
Diffstat (limited to 'phpBB/includes/extension')
-rw-r--r--phpBB/includes/extension/metadata_manager.php59
1 files changed, 30 insertions, 29 deletions
diff --git a/phpBB/includes/extension/metadata_manager.php b/phpBB/includes/extension/metadata_manager.php
index 27b04d4c08..c7f52b7c02 100644
--- a/phpBB/includes/extension/metadata_manager.php
+++ b/phpBB/includes/extension/metadata_manager.php
@@ -178,36 +178,37 @@ class phpbb_extension_metadata_manager
'version' => '#.+#',
);
- if (isset($fields[$name]))
+ switch ($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.");
- }
- }
-
- // Validate all fields
- if ($name == 'all')
- {
- $this->validate('display');
+ case 'all':
+ $this->validate('display');
- $this->validate_enable();
- }
+ $this->validate_enable();
+ break;
- // Validate display fields
- if ($name == 'display')
- {
- foreach ($fields as $field => $data)
- {
- $this->validate($field);
- }
+ case 'display':
+ foreach ($fields as $field => $data)
+ {
+ $this->validate($field);
+ }
- $this->validate_authors();
+ $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.");
+ }
+
+ if (!preg_match($fields[$name], $this->metadata[$name]))
+ {
+ throw new phpbb_extension_exception("Meta field '$name' is invalid.");
+ }
+ }
+ break;
}
return true;
@@ -218,7 +219,7 @@ class phpbb_extension_metadata_manager
*
* @return boolean True when passes validation, throws exception if invalid
*/
- private function validate_authors()
+ public function validate_authors()
{
if (empty($this->metadata['authors']))
{
@@ -258,7 +259,7 @@ class phpbb_extension_metadata_manager
*
* @return boolean True when passes validation
*/
- private function validate_require_phpbb()
+ public function validate_require_phpbb()
{
if (!isset($this->metadata['require']['phpbb']))
{
@@ -273,7 +274,7 @@ class phpbb_extension_metadata_manager
*
* @return boolean True when passes validation
*/
- private function validate_require_php()
+ public function validate_require_php()
{
if (!isset($this->metadata['require']['php']))
{