diff options
author | Robin Appelman <icewind@owncloud.com> | 2016-01-26 14:40:55 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2016-01-29 14:51:30 +0100 |
commit | d0f56876877d5681a6faf5e8882c4de48a9bd4dc (patch) | |
tree | d806946d478fc5f79cfae219d22ab78bddc34158 /apps/files_external/lib | |
parent | efcf790eff211afc220e298383874733fb907181 (diff) | |
download | nextcloud-server-d0f56876877d5681a6faf5e8882c4de48a9bd4dc.tar.gz nextcloud-server-d0f56876877d5681a6faf5e8882c4de48a9bd4dc.zip |
Dont set null values when validating storage definition
Diffstat (limited to 'apps/files_external/lib')
-rw-r--r-- | apps/files_external/lib/definitionparameter.php | 8 | ||||
-rw-r--r-- | apps/files_external/lib/frontenddefinitiontrait.php | 8 |
2 files changed, 10 insertions, 6 deletions
diff --git a/apps/files_external/lib/definitionparameter.php b/apps/files_external/lib/definitionparameter.php index 85c3dd08ad4..dc7985837f5 100644 --- a/apps/files_external/lib/definitionparameter.php +++ b/apps/files_external/lib/definitionparameter.php @@ -154,6 +154,10 @@ class DefinitionParameter implements \JsonSerializable { return $prefix . $this->getText(); } + public function isOptional() { + return $this->isFlagSet(self::FLAG_OPTIONAL) || $this->isFlagSet(self::FLAG_USER_PROVIDED); + } + /** * Validate a parameter value against this * Convert type as necessary @@ -162,8 +166,6 @@ class DefinitionParameter implements \JsonSerializable { * @return bool success */ public function validateValue(&$value) { - $optional = $this->isFlagSet(self::FLAG_OPTIONAL) || $this->isFlagSet(self::FLAG_USER_PROVIDED); - switch ($this->getType()) { case self::VALUE_BOOLEAN: if (!is_bool($value)) { @@ -180,7 +182,7 @@ class DefinitionParameter implements \JsonSerializable { } break; default: - if (!$value && !$optional) { + if (!$value && !$this->isOptional()) { return false; } break; diff --git a/apps/files_external/lib/frontenddefinitiontrait.php b/apps/files_external/lib/frontenddefinitiontrait.php index eedd433f2d7..fc47a9515f3 100644 --- a/apps/files_external/lib/frontenddefinitiontrait.php +++ b/apps/files_external/lib/frontenddefinitiontrait.php @@ -136,10 +136,12 @@ trait FrontendDefinitionTrait { public function validateStorageDefinition(StorageConfig $storage) { foreach ($this->getParameters() as $name => $parameter) { $value = $storage->getBackendOption($name); - if (!$parameter->validateValue($value)) { - return false; + if (!is_null($value) || !$parameter->isOptional()) { + if (!$parameter->validateValue($value)) { + return false; + } + $storage->setBackendOption($name, $value); } - $storage->setBackendOption($name, $value); } return true; } |