MDL-75085 core_external: Validate $required param
Make sure that the $required param for external_description and its subclasses are either VALUE_DEFAULT, VALUE_REQUIRED, or VALUE_OPTIONAL.
This commit is contained in:
+9
-1
@@ -37,10 +37,18 @@ abstract class external_description {
|
||||
* Contructor.
|
||||
*
|
||||
* @param string $desc Description of element
|
||||
* @param int $required Whethe the element value is required
|
||||
* @param int $required Whether the element value is required. Valid values are VALUE_DEFAULT, VALUE_REQUIRED, VALUE_OPTIONAL.
|
||||
* @param mixed $default The default value
|
||||
*/
|
||||
public function __construct($desc, $required, $default) {
|
||||
if (!in_array($required, [VALUE_DEFAULT, VALUE_REQUIRED, VALUE_OPTIONAL], true)) {
|
||||
$requiredstr = $required;
|
||||
if (is_array($required)) {
|
||||
$requiredstr = "Array: " . implode(" ", $required);
|
||||
}
|
||||
debugging("Invalid \$required parameter value: '{$requiredstr}'.
|
||||
It must be either VALUE_DEFAULT, VALUE_REQUIRED, or VALUE_OPTIONAL", DEBUG_DEVELOPER);
|
||||
}
|
||||
$this->desc = $desc;
|
||||
$this->required = $required;
|
||||
$this->default = $default;
|
||||
|
||||
Reference in New Issue
Block a user