From: Gunnar Wrobel Date: Wed, 22 Apr 2009 20:59:40 +0000 (+0200) Subject: Move the Kolab server configuration one level up as it represents a real object class. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=6d24e089ab8852a6838af8b7dba0c59a36d1999a;p=horde.git Move the Kolab server configuration one level up as it represents a real object class. --- diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab.php new file mode 100644 index 000000000..dab4ef856 --- /dev/null +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab.php @@ -0,0 +1,95 @@ + + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + * @link http://pear.horde.org/index.php?package=Kolab_Server + */ + +/** + * This class provides methods to deal with the Kolab server configuration + * object. + * + * Copyright 2008-2009 The Horde Project (http://www.horde.org/) + * + * See the enclosed file COPYING for license information (LGPL). If you + * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html. + * + * @category Kolab + * @package Kolab_Server + * @author Gunnar Wrobel + * @license http://www.fsf.org/copyleft/lgpl.html LGPL + * @link http://pear.horde.org/index.php?package=Kolab_Server + */ +class Horde_Kolab_Server_Object_Kolab extends Horde_Kolab_Server_Object_Groupofnames +{ + /** Define attributes specific to this object type */ + + /** The name attribute for this type of object class */ + const ATTRIBUTE_K = 'k'; + + /** + * How many days into the past should the free/busy data on the server be + * calculated? + */ + const ATTRIBUTE_FBPAST = 'kolabFreeBusyPast'; + + /** The specific object class of this object type */ + const OBJECTCLASS_KOLAB = 'kolab'; + + /** + * A structure to initialize the attribute structure for this class. + * + * @var array + */ + static public $init_attributes = array( + 'defined' => array( + self::ATTRIBUTE_K, + self::ATTRIBUTE_FBPAST, + ), + 'object_classes' => array( + self::OBJECTCLASS_KOLAB, + ), + ); + + /** + * Return the filter string to retrieve this object type. + * + * @static + * + * @return string The filter to retrieve this object type from the server + * database. + */ + public static function getFilter() + { + $criteria = array('AND' => array( + array('field' => self::ATTRIBUTE_K, + 'op' => '=', + 'test' => 'kolab'), + array('field' => self::ATTRIBUTE_OC, + 'op' => '=', + 'test' => self::OBJECTCLASS_KOLAB), + ), + ); + return $criteria; + } + + /** + * Generates an ID for the given information. + * + * @param array $info The data of the object. + * + * @static + * + * @return string|PEAR_Error The ID. + */ + public function generateId($info) + { + return self::ATTRIBUTE_K . '=kolab'; + } +} diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab/Server.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab/Server.php deleted file mode 100644 index cfe86da65..000000000 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab/Server.php +++ /dev/null @@ -1,54 +0,0 @@ - - * @license http://www.fsf.org/copyleft/lgpl.html LGPL - * @link http://pear.horde.org/index.php?package=Kolab_Server - */ - -/** - * This class provides methods to deal with Kolab server configuration. - * - * Copyright 2008-2009 The Horde Project (http://www.horde.org/) - * - * See the enclosed file COPYING for license information (LGPL). If you - * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html. - * - * @category Kolab - * @package Kolab_Server - * @author Gunnar Wrobel - * @license http://www.fsf.org/copyleft/lgpl.html LGPL - * @link http://pear.horde.org/index.php?package=Kolab_Server - */ -class Horde_Kolab_Server_Object_Kolab_Server extends Horde_Kolab_Server_Object -{ - - const ATTRIBUTE_FBPAST = 'kolabFreeBusyPast'; - - /** - * The attributes supported by this class - * - * @var array - */ - public $supported_attributes = array( - self::ATTRIBUTE_FBPAST, - ); - - /** - * Return the filter string to retrieve this object type. - * - * @static - * - * @return string The filter to retrieve this object type from the server - * database. - */ - public static function getFilter() - { - return '(&((k=kolab))(objectclass=kolab))'; - } -} \ No newline at end of file