Skip redundant folder type lookup on folders list

This commit is contained in:
Aleksander Machniak 2017-06-02 15:15:00 +02:00
parent 2d1bb5a23d
commit 17d18bebb1

View file

@ -836,13 +836,7 @@ class kolab_storage
$regexp = '/^' . preg_quote($filter, '/') . '(\..+)?$/'; $regexp = '/^' . preg_quote($filter, '/') . '(\..+)?$/';
// get folders types for all folders // get folders types for all folders
if (!$subscribed || $prefix == '*' || !self::$config->get('kolab_skip_namespace')) { $folderdata = self::folders_typedata($prefix);
$folderdata = self::folders_typedata($prefix);
}
else {
// fetch folder types for the effective list of (subscribed) folders when post-filtering
$folderdata = array();
}
if (!is_array($folderdata)) { if (!is_array($folderdata)) {
return array(); return array();
@ -874,11 +868,6 @@ class kolab_storage
// Filter folders list // Filter folders list
foreach ($folders as $idx => $folder) { foreach ($folders as $idx => $folder) {
// lookup folder type
if (!array_key_exists($folder, $folderdata)) {
$folderdata[$folder] = self::folder_type($folder);
}
$type = $folderdata[$folder]; $type = $folderdata[$folder];
if ($filter == 'mail' && empty($type)) { if ($filter == 'mail' && empty($type)) {