Branch 'dev/kolab3' - plugins/calendar plugins/kolab_addressbook plugins/libkolab
Aleksander Machniak
machniak at kolabsys.com
Thu May 17 15:57:49 CEST 2012
plugins/calendar/drivers/kolab/kolab_driver.php | 2 -
plugins/kolab_addressbook/kolab_addressbook.php | 2 -
plugins/libkolab/lib/kolab_storage.php | 27 ++++++++++++++----------
3 files changed, 18 insertions(+), 13 deletions(-)
New commits:
commit cb61bf76a1084b13b5e2d8ebb1c6aed7b986a3d8
Author: Aleksander Machniak <alec at alec.pl>
Date: Thu May 17 15:57:23 2012 +0200
Improved folder_create() method
diff --git a/plugins/calendar/drivers/kolab/kolab_driver.php b/plugins/calendar/drivers/kolab/kolab_driver.php
index b97d2e1..c00f45f 100644
--- a/plugins/calendar/drivers/kolab/kolab_driver.php
+++ b/plugins/calendar/drivers/kolab/kolab_driver.php
@@ -307,7 +307,7 @@ class kolab_driver extends calendar_driver
}
// create new folder
else {
- if (!($result = kolab_storage::folder_create($folder, 'event', false)))
+ if (!($result = kolab_storage::folder_create($folder, 'event')))
$this->last_error = kolab_storage::$last_error;
}
diff --git a/plugins/kolab_addressbook/kolab_addressbook.php b/plugins/kolab_addressbook/kolab_addressbook.php
index 3e1d200..5fd45b7 100644
--- a/plugins/kolab_addressbook/kolab_addressbook.php
+++ b/plugins/kolab_addressbook/kolab_addressbook.php
@@ -497,7 +497,7 @@ class kolab_addressbook extends rcube_plugin
$folder = $plugin['name'];
if (!$plugin['abort']) {
- $result = kolab_storage::folder_create($folder, 'contact', false);
+ $result = kolab_storage::folder_create($folder, 'contact');
}
else {
$result = $plugin['result'];
diff --git a/plugins/libkolab/lib/kolab_storage.php b/plugins/libkolab/lib/kolab_storage.php
index 62b7796..5924530 100644
--- a/plugins/libkolab/lib/kolab_storage.php
+++ b/plugins/libkolab/lib/kolab_storage.php
@@ -173,25 +173,30 @@ class kolab_storage
/**
* Creates IMAP folder
*
- * @param string $name Folder name (UTF7-IMAP)
- * @param string $type Folder type
- * @param bool $default True if older is default (for specified type)
+ * @param string $name Folder name (UTF7-IMAP)
+ * @param string $type Folder type
+ * @param bool $subscribed Sets folder subscription
*
* @return bool True on success, false on failure
*/
- public static function folder_create($name, $type=null, $default=false)
+ public static function folder_create($name, $type = null, $subscribed = false)
{
self::setup();
- if (self::$imap->create_folder($name)) {
+ if ($saved = self::$imap->create_folder($name, $subscribed)) {
// set metadata for folder type
- $ctype = $type . ($default ? '.default' : '');
- $saved = self::$imap->set_metadata($name, array(self::CTYPE_KEY => $ctype));
+ if ($type) {
+ $saved = self::$imap->set_metadata($name, array(self::CTYPE_KEY => $type));
+
+ // revert if metadata could not be set
+ if (!$saved) {
+ self::$imap->delete_folder($name);
+ }
+ }
+ }
- if ($saved)
- return true;
- else // revert if metadata could not be set
- self::$imap->delete_folder($name);
+ if ($saved) {
+ return true;
}
self::$last_error = self::$imap->get_error_str();
More information about the commits
mailing list