From ac6c82c75bc1bbbf94cc75f077f9396f92e77d3a Mon Sep 17 00:00:00 2001 From: Gunnar Wrobel
Date: Tue, 7 Apr 2009 18:21:32 +0200 Subject: [PATCH] Correctly handle empty values. --- framework/Kolab_Server/lib/Horde/Kolab/Server/Object.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object.php index 6e36cf85e..d390633b8 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object.php @@ -545,7 +545,8 @@ class Horde_Kolab_Server_Object if (!$this->exists()) { foreach ($this->attribute_map['required'] as $key) { - if (!in_array($key, array_keys($info)) || $info[$key] === null) { + if (!in_array($key, array_keys($info)) || $info[$key] === null + || $info[$key] === '') { if (empty($this->attributes[$key]['default'])) { throw new Horde_Kolab_Server_Exception(sprintf(_("The value for \"%s\" is empty but required!"), $key)); @@ -557,7 +558,7 @@ class Horde_Kolab_Server_Object $submitted = $info; foreach ($submitted as $key => $value) { - if ($value === null) { + if ($value === null || $info[$key] === '') { unset($info[$key]); } } @@ -570,7 +571,7 @@ class Horde_Kolab_Server_Object * stored or the value is locked. If there is an old value we * must assume the value was removed. */ - if ($value === null + if (($value === null || $info[$key] === '') && (!isset($this->_cache[$key]) || in_array($key, $this->attribute_map['locked']))) { -- 2.11.0