From 698f06edebab5ae9a8ef25a57ecec5256770672b Mon Sep 17 00:00:00 2001 From: Andrew Nicols Date: Wed, 7 Dec 2022 12:24:31 +0800 Subject: [PATCH] MDL-76583 core_external: Migrate external_function_parameters class --- lib/external/classes/external_api.php | 1 - .../classes/external_function_parameters.php | 50 +++++++++++++++++++ lib/externallib.php | 35 +------------ 3 files changed, 51 insertions(+), 35 deletions(-) create mode 100644 lib/external/classes/external_function_parameters.php diff --git a/lib/external/classes/external_api.php b/lib/external/classes/external_api.php index 00f44ae17bf..fe1bfc9bcbe 100644 --- a/lib/external/classes/external_api.php +++ b/lib/external/classes/external_api.php @@ -23,7 +23,6 @@ use context_system; use core_component; use core_php_time_limit; use external_description; -use external_function_parameters; use external_single_structure; use external_value; use invalid_parameter_exception; diff --git a/lib/external/classes/external_function_parameters.php b/lib/external/classes/external_function_parameters.php new file mode 100644 index 00000000000..0c0c41bbaa0 --- /dev/null +++ b/lib/external/classes/external_function_parameters.php @@ -0,0 +1,50 @@ +. + +namespace core_external; + +/** + * Description of top level - PHP function parameters. + * + * @package core_external + * @copyright 2009 Petr Skodak + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class external_function_parameters extends external_single_structure { + /** + * Constructor - does extra checking to prevent top level optional parameters. + * + * @param array $keys + * @param string $desc + * @param int $required + * @param array $default + */ + public function __construct(array $keys, $desc = '', $required = VALUE_REQUIRED, $default = null) { + global $CFG; + + if ($CFG->debugdeveloper) { + foreach ($keys as $key => $value) { + if ($value instanceof external_value) { + if ($value->required == VALUE_OPTIONAL) { + debugging('External function parameters: invalid OPTIONAL value specified.', DEBUG_DEVELOPER); + break; + } + } + } + } + parent::__construct($keys, $desc, $required, $default); + } +} diff --git a/lib/externallib.php b/lib/externallib.php index dd48056946d..a2d4e1e786c 100644 --- a/lib/externallib.php +++ b/lib/externallib.php @@ -49,41 +49,8 @@ class_alias(\core_external\external_description::class, 'external_description'); class_alias(\core_external\external_value::class, 'external_value'); class_alias(\core_external\external_single_structure::class, 'external_single_structure'); class_alias(\core_external\external_multiple_structure::class, 'external_multiple_structure'); +class_alias(\core_external\external_function_parameters::class, 'external_function_parameters'); -/** - * Description of top level - PHP function parameters. - * - * @package core_webservice - * @copyright 2009 Petr Skodak - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - * @since Moodle 2.0 - */ -class external_function_parameters extends external_single_structure { - - /** - * Constructor - does extra checking to prevent top level optional parameters. - * - * @param array $keys - * @param string $desc - * @param bool $required - * @param array $default - */ - public function __construct(array $keys, $desc='', $required=VALUE_REQUIRED, $default=null) { - global $CFG; - - if ($CFG->debugdeveloper) { - foreach ($keys as $key => $value) { - if ($value instanceof external_value) { - if ($value->required == VALUE_OPTIONAL) { - debugging('External function parameters: invalid OPTIONAL value specified.', DEBUG_DEVELOPER); - break; - } - } - } - } - parent::__construct($keys, $desc, $required, $default); - } -} /** * Generate a token