plugins/libkolab
Aleksander Machniak
machniak at kolabsys.com
Tue Oct 9 19:18:33 CEST 2012
plugins/libkolab/lib/kolab_storage.php | 23 +++++++++++++++++++++++
plugins/libkolab/lib/kolab_storage_folder.php | 8 +-------
2 files changed, 24 insertions(+), 7 deletions(-)
New commits:
commit 745f743e5f5250f83dcbc6e08c03f2bfc55a74f7
Author: Aleksander Machniak <machniak at kolabsys.com>
Date: Tue Oct 9 19:18:09 2012 +0200
Added kolab_storage::folder_type() method
diff --git a/plugins/libkolab/lib/kolab_storage.php b/plugins/libkolab/lib/kolab_storage.php
index 318a7db..e14156d 100644
--- a/plugins/libkolab/lib/kolab_storage.php
+++ b/plugins/libkolab/lib/kolab_storage.php
@@ -598,4 +598,27 @@ class kolab_storage
return $types[self::CTYPE_KEY_PRIVATE] ?: $types[self::CTYPE_KEY];
}
+
+ /**
+ * Returns type of IMAP folder
+ *
+ * @param string $folder Folder name (UTF7-IMAP)
+ *
+ * @return string Folder type
+ */
+ static function folder_type($folder)
+ {
+ $metadata = self::$imap->get_metadata($folder, array(self::CTYPE_KEY, self::CTYPE_KEY_PRIVATE));
+
+ if (!is_array($metadata)) {
+ return null;
+ }
+
+ if (!empty($metadata[$folder])) {
+ return self::folder_select_metadata($metadata[$folder]);
+ }
+
+ return 'mail';
+ }
+
}
diff --git a/plugins/libkolab/lib/kolab_storage_folder.php b/plugins/libkolab/lib/kolab_storage_folder.php
index daa988f..08bf669 100644
--- a/plugins/libkolab/lib/kolab_storage_folder.php
+++ b/plugins/libkolab/lib/kolab_storage_folder.php
@@ -75,13 +75,7 @@ class kolab_storage_folder
*/
public function set_folder($name, $ftype = null)
{
- if (!$ftype) {
- $metadata = $this->imap->get_metadata($name, array(kolab_storage::CTYPE_KEY, kolab_storage::CTYPE_KEY_PRIVATE));
- $this->type_annotation = $metadata[$name][kolab_storage::CTYPE_KEY_PRIVATE] ?: $metadata[$name][kolab_storage::CTYPE_KEY];
- }
- else {
- $this->type_annotation = $ftype;
- }
+ $this->type_annotation = $ftype ? $ftype : kolab_storage::folder_type($name);
list($this->type, $suffix) = explode('.', $this->type_annotation);
$this->default = $suffix == 'default';
More information about the commits
mailing list