2 commits - plugins/kolab_folders plugins/libkolab

Thomas Brüderli bruederli at kolabsys.com
Wed Oct 17 12:14:00 CEST 2012


 plugins/kolab_folders/kolab_folders.php |   19 ++-----------------
 plugins/libkolab/lib/kolab_storage.php  |    9 ++++++++-
 2 files changed, 10 insertions(+), 18 deletions(-)

New commits:
commit 58b3ed570df35db961586ee06838c459c6ceadd4
Merge: d356302 c06a949
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Wed Oct 17 12:13:12 2012 +0200

    Merge branch 'master' of ssh://git.kolabsys.com/git/roundcube



commit d356302759bea5fc14d12ae6a5d6638d8a875975
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Wed Oct 17 12:12:45 2012 +0200

    Cut off folder type suffix from shared annotation values (#1105); small code cleanup to reduce redundancy

diff --git a/plugins/kolab_folders/kolab_folders.php b/plugins/kolab_folders/kolab_folders.php
index 3f83847..c8def8f 100644
--- a/plugins/kolab_folders/kolab_folders.php
+++ b/plugins/kolab_folders/kolab_folders.php
@@ -337,14 +337,7 @@ class kolab_folders extends rcube_plugin
      */
     function get_folder_type($folder)
     {
-        $storage    = $this->rc->get_storage();
-        $folderdata = $storage->get_metadata($folder, array(kolab_storage::CTYPE_KEY_PRIVATE, kolab_storage::CTYPE_KEY));
-
-        if (!($ctype = $folderdata[$folder][kolab_storage::CTYPE_KEY_PRIVATE])) {
-            $ctype = $folderdata[$folder][kolab_storage::CTYPE_KEY];
-        }
-
-        return explode('.', $ctype);
+        return explode('.', (string)kolab_storage::folder_type($folder));
     }
 
     /**
@@ -380,7 +373,7 @@ class kolab_folders extends rcube_plugin
         $namespace = $storage->get_namespace();
 
         // get all folders of specified type
-        $folderdata = array_map(array($this, 'folder_select_metadata'), $folderdata);
+        $folderdata = array_map(array('kolab_storage', 'folder_select_metadata'), $folderdata);
         $folderdata = array_intersect($folderdata, array($type));
 
         foreach ($folderdata as $folder => $data) {
@@ -403,14 +396,6 @@ class kolab_folders extends rcube_plugin
     }
 
     /**
-     * Callback for array_map to select the correct annotation value
-     */
-    private function folder_select_metadata($types)
-    {
-        return $types[kolab_storage::CTYPE_KEY_PRIVATE] ?: $types[kolab_storage::CTYPE_KEY];
-    }
-
-    /**
      * Returns CSS class name for specified folder type
      *
      * @param string $type Folder type
diff --git a/plugins/libkolab/lib/kolab_storage.php b/plugins/libkolab/lib/kolab_storage.php
index 57e5491..b29b416 100644
--- a/plugins/libkolab/lib/kolab_storage.php
+++ b/plugins/libkolab/lib/kolab_storage.php
@@ -595,7 +595,14 @@ class kolab_storage
      */
     static function folder_select_metadata($types)
     {
-        return $types[self::CTYPE_KEY_PRIVATE] ?: $types[self::CTYPE_KEY];
+        if (!empty($types[self::CTYPE_KEY_PRIVATE])) {
+            return $types[self::CTYPE_KEY_PRIVATE];
+        }
+        else if (!empty($types[self::CTYPE_KEY])) {
+            list($ctype, $suffix) = explode('.', $types[self::CTYPE_KEY]);
+            return $ctype;
+        }
+        return null;
     }
 
 





More information about the commits mailing list