From: Gunnar Wrobel
Date: Thu, 9 Apr 2009 09:20:30 +0000 (+0200) Subject: Support deletion of objects. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=de228e1161a92dc150fea624d94e4ea52fcc38c9;p=horde.git Support deletion of objects. --- diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server.php b/framework/Kolab_Server/lib/Horde/Kolab/Server.php index aedbd64b8..9ff6fefa8 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server.php @@ -179,7 +179,7 @@ abstract class Horde_Kolab_Server $sparam = $server_params; $sparam['pass'] = isset($sparam['pass']) ? md5($sparam['pass']) : ''; ksort($sparam); - $signature = serialize(array($driver, $sparam)); + $signature = serialize(array($driver, $sparam)); if (empty($instances[$signature])) { $instances[$signature] = &Horde_Kolab_Server::factory($driver, $server_params); @@ -633,6 +633,17 @@ abstract class Horde_Kolab_Server abstract public function save($uid, $data, $exists = false); /** + * Delete an object. + * + * @param string $uid The UID of the object to be deleted. + * + * @return boolean True if saving succeeded. + * + * @throws Horde_Kolab_Server_Exception + */ + abstract public function delete($uid); + + /** * List all objects of a specific type * * @param string $type The type of the objects to be listed diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Test.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Test.php index b525b88dd..86c9b1952 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Test.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Test.php @@ -540,10 +540,34 @@ class Horde_Kolab_Server_Test extends Horde_Kolab_Server_Ldap array('dn' => $uid)), ); } + Horde::logMessage(sprintf('The object \"%s\" has been successfully saved!', + $uid), + __FILE__, __LINE__, PEAR_LOG_DEBUG); $this->store(); } /** + * Delete an object. + * + * @param string $uid The UID of the object to be deleted. + * + * @return boolean True if saving succeeded. + * + * @throws Horde_Kolab_Server_Exception + */ + public function delete($uid) + { + if (isset($this->data[$uid])) { + unset($this->data[$uid]); + } + $this->store(); + Horde::logMessage(sprintf('The object \"%s\" has been successfully deleted!', + $uid), + __FILE__, __LINE__, PEAR_LOG_DEBUG); + return true; + } + + /** * Return the schema for the given objectClass. * * @param string $objectclass Fetch the schema for this objectClass.