ConfigForm: Use transformEmptyValuesToNull() also in onSuccess()

refs #2751
This commit is contained in:
Eric Lippmann 2017-11-09 09:07:15 +01:00
parent 9791e6ffb8
commit 9ed5685849
1 changed files with 8 additions and 8 deletions

View File

@ -57,11 +57,7 @@ class ConfigForm extends Form
public function onSuccess()
{
$sections = array();
foreach ($this->getValues() as $sectionAndPropertyName => $value) {
if ($value === '' || $value === false || $value === []) {
$value = null; // Causes the config writer to unset it
}
foreach (static::transformEmptyValuesToNull($this->getValues()) as $sectionAndPropertyName => $value) {
list($section, $property) = explode('_', $sectionAndPropertyName, 2);
$sections[$section][$property] = $value;
}
@ -137,8 +133,12 @@ class ConfigForm extends Form
*/
public static function transformEmptyValuesToNull(array $values)
{
return array_map(function ($v) {
return ($v === '' || $v === false || $v === []) ? null : $v;
}, $values);
array_walk($values, function (&$v) {
if ($v === '' || $v === false || $v === array()) {
$v = null;
}
});
return $values;
}
}