Minor bugfixes and visual enhancements for new folder navigation
This commit is contained in:
parent
36248fb468
commit
709bd16016
5 changed files with 17 additions and 8 deletions
|
@ -52,7 +52,7 @@ class kolab_calendar extends kolab_storage_folder_api
|
|||
$imap = $calendar->rc->get_storage();
|
||||
$imap_folder = kolab_storage::id_decode($id);
|
||||
$info = $imap->folder_info($imap_folder, true);
|
||||
if (empty($info) || $info['noselect'] || kolab_storage::folder_type($imap_folder) != 'event') {
|
||||
if (empty($info) || $info['noselect'] || strpos(kolab_storage::folder_type($imap_folder), 'event') !== 0) {
|
||||
return new kolab_user_calendar($imap_folder, $calendar);
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -117,8 +117,9 @@ class kolab_driver extends calendar_driver
|
|||
}
|
||||
}
|
||||
|
||||
$delim = $this->rc->get_storage()->get_hierarchy_delimiter();
|
||||
$folders = $this->filter_calendars(false, $active, $personal);
|
||||
$calendars = $names = array();
|
||||
$calendars = array();
|
||||
|
||||
// include virtual folders for a full folder tree
|
||||
if (!is_null($tree))
|
||||
|
@ -127,14 +128,19 @@ class kolab_driver extends calendar_driver
|
|||
foreach ($folders as $id => $cal) {
|
||||
$fullname = $cal->get_name();
|
||||
$listname = $cal->get_foldername();
|
||||
$imap_path = explode('/', $cal->name);
|
||||
$imap_path = explode($delim, $cal->name);
|
||||
|
||||
// find parent
|
||||
do {
|
||||
array_pop($imap_path);
|
||||
$parent_id = kolab_storage::folder_id(join('/', $imap_path));
|
||||
$parent_id = kolab_storage::folder_id(join($delim, $imap_path));
|
||||
}
|
||||
while (count($imap_path) > 1 && !$this->calendars[$parent_id]);
|
||||
|
||||
// restore "real" parent ID
|
||||
if ($parent_id && !$this->calendars[$parent_id]) {
|
||||
$parent_id = kolab_storage::folder_id($cal->get_parent());
|
||||
}
|
||||
while (count($imap_path) > 0 && !$this->calendars[$parent_id]);
|
||||
|
||||
// turn a kolab_storage_folder object into a kolab_calendar
|
||||
if ($cal instanceof kolab_storage_folder) {
|
||||
|
@ -360,9 +366,9 @@ class kolab_driver extends calendar_driver
|
|||
if ($prop['id'] && ($cal = $this->get_calendar($prop['id']))) {
|
||||
$ret = false;
|
||||
if (isset($prop['permanent']))
|
||||
$ret |= $cal->storage->subscribe($prop['permanent']);
|
||||
$ret |= $cal->storage->subscribe(intval($prop['permanent']));
|
||||
if (isset($prop['active']))
|
||||
$ret |= $cal->storage->activate($prop['active']);
|
||||
$ret |= $cal->storage->activate(intval($prop['active']));
|
||||
return $ret;
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -273,7 +273,7 @@ class calendar_ui
|
|||
/**
|
||||
* Helper method to build a calendar list item (HTML content and js data)
|
||||
*/
|
||||
public function calendar_list_item($id, $prop, &$jsenv, $activeonly)
|
||||
public function calendar_list_item($id, $prop, &$jsenv, $activeonly = false)
|
||||
{
|
||||
// enrich calendar properties with settings from the driver
|
||||
if (!$prop['virtual']) {
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 3.3 KiB |
|
@ -256,6 +256,9 @@ $(document).ready(function(e){
|
|||
if (box.is(':visible')) {
|
||||
box.find('input[type=text]').focus();
|
||||
}
|
||||
else {
|
||||
$('#calendarlistsearch-reset').click();
|
||||
}
|
||||
// TODO: save state in localStorage
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Add table
Reference in a new issue