Cut off folder type suffix from shared annotation values (#1105); small code cleanup to reduce redundancy
This commit is contained in:
parent
fad8e68fe7
commit
d356302759
2 changed files with 10 additions and 18 deletions
|
@ -337,14 +337,7 @@ class kolab_folders extends rcube_plugin
|
||||||
*/
|
*/
|
||||||
function get_folder_type($folder)
|
function get_folder_type($folder)
|
||||||
{
|
{
|
||||||
$storage = $this->rc->get_storage();
|
return explode('.', (string)kolab_storage::folder_type($folder));
|
||||||
$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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -380,7 +373,7 @@ class kolab_folders extends rcube_plugin
|
||||||
$namespace = $storage->get_namespace();
|
$namespace = $storage->get_namespace();
|
||||||
|
|
||||||
// get all folders of specified type
|
// 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));
|
$folderdata = array_intersect($folderdata, array($type));
|
||||||
|
|
||||||
foreach ($folderdata as $folder => $data) {
|
foreach ($folderdata as $folder => $data) {
|
||||||
|
@ -402,14 +395,6 @@ class kolab_folders extends rcube_plugin
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 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
|
* Returns CSS class name for specified folder type
|
||||||
*
|
*
|
||||||
|
|
|
@ -595,7 +595,14 @@ class kolab_storage
|
||||||
*/
|
*/
|
||||||
static function folder_select_metadata($types)
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue