diff --git a/src/Base/Models/CustomField/MultiSelectField.php b/src/Base/Models/CustomField/MultiSelectField.php index fea1e40..d37d356 100644 --- a/src/Base/Models/CustomField/MultiSelectField.php +++ b/src/Base/Models/CustomField/MultiSelectField.php @@ -59,7 +59,7 @@ public function setValues(Array $values) $values = array_unique(array_merge($this->getValues(), $values)); $enums = []; foreach($values as $value) { - $enum = array_search($value, (array)$this->field->enums); + $enum = array_search($value, get_object_vars($this->field->enums)); if ($enum === false) { throw new \Exception('Invalid value: "'.$value.'" for cfield "'.$this->name.'" (enum not found)'); } @@ -86,6 +86,9 @@ public function setEnums(Array $enums) $enums = array_unique(array_merge($this->getEnums(), $enums)); $new_values = []; foreach ($enums as $enum) { + if (!array_key_exists($enum, get_object_vars($this->field->enums))) { + throw new \Exception('Invalid enum: "'.$enum.'" for cfield "'.$this->name.'" (not found)'); + } $new_values[$enum]= (object)[ 'enum' => $enum, 'value' => $this->field->enums->{$enum} diff --git a/src/Base/Models/CustomField/SelectField.php b/src/Base/Models/CustomField/SelectField.php index 5ba7d7a..254376d 100644 --- a/src/Base/Models/CustomField/SelectField.php +++ b/src/Base/Models/CustomField/SelectField.php @@ -24,7 +24,7 @@ public function getEnum() */ public function setValue($value) { - $enum = array_search($value, (array)$this->field->enums); + $enum = array_search($value, get_object_vars($this->field->enums)); if ($enum === false) { throw new \Exception('Invalid value: "'.$value.'" for cfield "'.$this->name.'" (enum not found)'); } @@ -40,7 +40,7 @@ public function setValue($value) */ public function setEnum($enum) { - if (!array_key_exists($enum, (array)$this->field->enums)) { + if (!array_key_exists($enum, get_object_vars($this->field->enums))) { throw new \Exception('Invalid enum: "'.$enum.'" for cfield "'.$this->name.'" (not found)'); } $this->values = [