diff --git a/plugins/libkolab/lib/kolab_format_journal.php b/plugins/libkolab/lib/kolab_format_journal.php new file mode 100644 index 00000000..46a59db0 --- /dev/null +++ b/plugins/libkolab/lib/kolab_format_journal.php @@ -0,0 +1,108 @@ + + * + * Copyright (C) 2012, Kolab Systems AG + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +class kolab_format_journal extends kolab_format +{ + public $CTYPE = 'application/calendar+xml'; + + protected $read_func = 'kolabformat::readJournal'; + protected $write_func = 'kolabformat::writeJournal'; + + + function __construct($xmldata = null) + { + $this->obj = new Journal; + $this->xmldata = $xmldata; + } + + /** + * Set properties to the kolabformat object + * + * @param array Object data as hash array + */ + public function set(&$object) + { + $this->init(); + + // set some automatic values if missing + if (!empty($object['uid'])) + $this->obj->setUid($object['uid']); + + // TODO: set object propeties + + // cache this data + $this->data = $object; + unset($this->data['_formatobj']); + } + + /** + * + */ + public function is_valid() + { + return $this->data || (is_object($this->obj) && $this->obj->isValid()); + } + + /** + * Load data from old Kolab2 format + */ + public function fromkolab2($record) + { + $object = array( + 'uid' => $record['uid'], + 'changed' => $record['last-modification-date'], + ); + + // TODO: implement this + + $this->data = $object; + } + + /** + * Convert the Configuration object into a hash array data structure + * + * @return array Config object data as hash array + */ + public function to_array() + { + // return cached result + if (!empty($this->data)) + return $this->data; + + $this->init(); + + // read object properties + $object = array( + 'uid' => $this->obj->uid(), + 'changed' => $this->obj->lastModified(), + ); + + + // TODO: read object properties + + $this->data = $object; + return $this->data; + } + +} diff --git a/plugins/libkolab/lib/kolab_format_note.php b/plugins/libkolab/lib/kolab_format_note.php new file mode 100644 index 00000000..1eafa72d --- /dev/null +++ b/plugins/libkolab/lib/kolab_format_note.php @@ -0,0 +1,107 @@ + + * + * Copyright (C) 2012, Kolab Systems AG + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +class kolab_format_note extends kolab_format +{ + public $CTYPE = 'application/x-vnd.kolab.note'; + + protected $read_func = 'kolabformat::readNote'; + protected $write_func = 'kolabformat::writeNote'; + + + function __construct($xmldata = null) + { + $this->obj = new Note; + $this->xmldata = $xmldata; + } + + /** + * Set properties to the kolabformat object + * + * @param array Object data as hash array + */ + public function set(&$object) + { + $this->init(); + + // set some automatic values if missing + if (!empty($object['uid'])) + $this->obj->setUid($object['uid']); + + // TODO: set object propeties + + // cache this data + $this->data = $object; + unset($this->data['_formatobj']); + } + + /** + * + */ + public function is_valid() + { + return $this->data || (is_object($this->obj) && $this->obj->isValid()); + } + + /** + * Load data from old Kolab2 format + */ + public function fromkolab2($record) + { + $object = array( + 'uid' => $record['uid'], + 'changed' => $record['last-modification-date'], + ); + + + $this->data = $object; + } + + /** + * Convert the Configuration object into a hash array data structure + * + * @return array Config object data as hash array + */ + public function to_array() + { + // return cached result + if (!empty($this->data)) + return $this->data; + + $this->init(); + + // read object properties + $object = array( + 'uid' => $this->obj->uid(), + 'changed' => $this->obj->lastModified(), + ); + + + // TODO: read object properties + + $this->data = $object; + return $this->data; + } + +} diff --git a/plugins/libkolab/lib/kolab_format_task.php b/plugins/libkolab/lib/kolab_format_task.php new file mode 100644 index 00000000..a8b497fe --- /dev/null +++ b/plugins/libkolab/lib/kolab_format_task.php @@ -0,0 +1,108 @@ + + * + * Copyright (C) 2012, Kolab Systems AG + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +class kolab_format_task extends kolab_format +{ + public $CTYPE = 'application/calendar+xml'; + + protected $read_func = 'kolabformat::readTodo'; + protected $write_func = 'kolabformat::writeTodo'; + + + function __construct($xmldata = null) + { + $this->obj = new Todo; + $this->xmldata = $xmldata; + } + + /** + * Set properties to the kolabformat object + * + * @param array Object data as hash array + */ + public function set(&$object) + { + $this->init(); + + // set some automatic values if missing + if (!empty($object['uid'])) + $this->obj->setUid($object['uid']); + + // TODO: set object propeties + + // cache this data + $this->data = $object; + unset($this->data['_formatobj']); + } + + /** + * + */ + public function is_valid() + { + return $this->data || (is_object($this->obj) && $this->obj->isValid()); + } + + /** + * Load data from old Kolab2 format + */ + public function fromkolab2($record) + { + $object = array( + 'uid' => $record['uid'], + 'changed' => $record['last-modification-date'], + ); + + // TODO: implement this + + $this->data = $object; + } + + /** + * Convert the Configuration object into a hash array data structure + * + * @return array Config object data as hash array + */ + public function to_array() + { + // return cached result + if (!empty($this->data)) + return $this->data; + + $this->init(); + + // read object properties + $object = array( + 'uid' => $this->obj->uid(), + 'changed' => $this->obj->lastModified(), + ); + + + // TODO: read object properties + + $this->data = $object; + return $this->data; + } + +} diff --git a/plugins/libkolab/lib/kolab_storage_folder.php b/plugins/libkolab/lib/kolab_storage_folder.php index 3d4c168e..6683879f 100644 --- a/plugins/libkolab/lib/kolab_storage_folder.php +++ b/plugins/libkolab/lib/kolab_storage_folder.php @@ -764,81 +764,5 @@ class kolab_storage_folder return true; } - - /* Legacy methods to keep compatibility with the old Horde Kolab_Storage classes */ - - /** - * Compatibility method - */ - public function getOwner() - { - PEAR::raiseError("Call to deprecated method kolab_storage_folder::getOwner()"); - return $this->get_owner(); - } - - /** - * Get IMAP ACL information for this folder - */ - public function getMyRights() - { - PEAR::raiseError("Call to deprecated method kolab_storage_folder::getMyRights()"); - return $this->get_myrights(); - } - - /** - * NOP to stay compatible with the formerly used Horde classes - */ - public function getData() - { - PEAR::raiseError("Call to deprecated method kolab_storage_folder::getData()"); - return $this; - } - - /** - * List all Kolab objects of the given type - */ - public function getObjects($type = null) - { - PEAR::raiseError("Call to deprecated method kolab_storage_folder::getObjects()"); - return $this->get_objects($type); - } - - /** - * Getter for a single Kolab object, identified by its UID - */ - public function getObject($uid) - { - PEAR::raiseError("Call to deprecated method kolab_storage_folder::getObject()"); - return $this->get_object($uid); - } - - /** - * - */ - public function getAttachment($key) - { - PEAR::raiseError("Call to deprecated method not returning anything."); - return null; - } - - /** - * Alias function of delete() - */ - public function deleteMessage($id, $trigger = true, $expunge = true) - { - PEAR::raiseError("Call to deprecated method kolab_storage_folder::deleteMessage()"); - return $this->delete(array('_msguid' => $id), $trigger, $expunge); - } - - /** - * - */ - public function deleteAll() - { - PEAR::raiseError("Call to deprecated method kolab_storage_folder::deleteAll()"); - return $this->delete_all(); - } - - }