diff --git a/plugins/calendar/.gitignore b/plugins/calendar/.gitignore index 93262bcd..7c2f14c7 100644 --- a/plugins/calendar/.gitignore +++ b/plugins/calendar/.gitignore @@ -4,4 +4,5 @@ *~ config.inc.php skins/* -!skins/default \ No newline at end of file +!skins/default +!skins/larry \ No newline at end of file diff --git a/plugins/calendar/skins/larry/calendar.css b/plugins/calendar/skins/larry/calendar.css index e5152b34..54849aaf 100644 --- a/plugins/calendar/skins/larry/calendar.css +++ b/plugins/calendar/skins/larry/calendar.css @@ -1242,7 +1242,11 @@ fieldset #calendarcategories div { /* Invitation UI in mail */ #messagemenu li a.calendarlink span.calendar { +<<<<<<< HEAD background-position: 0 -1949px; +======= + background-position: 0px -1948px; +>>>>>>> e666187312ca04384a28a77bf1836db79a97ca52 } div.calendar-invitebox { diff --git a/plugins/kolab_folders/kolab_folders.php b/plugins/kolab_folders/kolab_folders.php index ab84c24c..e1b2e634 100644 --- a/plugins/kolab_folders/kolab_folders.php +++ b/plugins/kolab_folders/kolab_folders.php @@ -94,6 +94,9 @@ class kolab_folders extends rcube_plugin // Get folders list if ($args['mode'] == 'LIST') { + if (!$storage->check_connection()) { + return $args; + } $args['folders'] = $storage->conn->listMailboxes($args['root'], $args['name']); } else { @@ -405,18 +408,22 @@ class kolab_folders extends rcube_plugin { $storage = $this->rc->get_storage(); + if (!$storage->check_connection()) { + return null; + } + // Code copied from rcube_imap::_list_mailboxes() // Server supports LIST-EXTENDED, we can use selection options // #1486225: Some dovecot versions returns wrong result using LIST-EXTENDED - if (!$this->rc->config->get('imap_force_lsub') && $storage->get_capability('LIST-EXTENDED')) { + if (!$this->rc->config->get('imap_force_lsub') && $imap->get_capability('LIST-EXTENDED')) { // This will also set mailbox options, LSUB doesn't do that $a_folders = $storage->conn->listMailboxes($root, $name, NULL, array('SUBSCRIBED')); // remove non-existent folders - if (is_array($a_folders) && $name = '*') { + if (is_array($a_folders) && $name = '*' && !empty($storage->conn->data['LIST'])) { foreach ($a_folders as $idx => $folder) { - if ($storage->conn->data['LIST'] && ($opts = $storage->conn->data['LIST'][$folder]) + if (($opts = $storage->conn->data['LIST'][$folder]) && in_array('\\NonExistent', $opts) ) { $storage->conn->unsubscribe($folder); @@ -430,10 +437,10 @@ class kolab_folders extends rcube_plugin $a_folders = $storage->conn->listSubscribed($root, $name); // unsubscribe non-existent folders, remove from the list - if (is_array($a_folders) && $name == '*') { + if (is_array($a_folders) && $name == '*' && !empty($storage->conn->data['LIST'])) { foreach ($a_folders as $idx => $folder) { - if ($storage->conn->data['LIST'] && ($opts = $storage->conn->data['LIST'][$folder]) - && in_array('\\Noselect', $opts) + if (!isset($storage->conn->data['LIST'][$folder]) + || in_array('\\Noselect', $storage->conn->data['LIST'][$folder]) ) { // Some servers returns \Noselect for existing folders if (!$storage->folder_exists($folder)) { diff --git a/plugins/kolab_zpush/localization/en_US.inc b/plugins/kolab_zpush/localization/en_US.inc index 5160d91c..2537d4d5 100644 --- a/plugins/kolab_zpush/localization/en_US.inc +++ b/plugins/kolab_zpush/localization/en_US.inc @@ -18,6 +18,7 @@ $labels['contact'] = 'Address Books'; $labels['event'] = 'Calendars'; $labels['task'] = 'Tasks'; $labels['note'] = 'Notes'; +$labels['configuration'] = 'Configuration'; $labels['deletedevice'] = 'Delete device'; $labels['imageformat'] = 'Image format'; $labels['laxpiclabel'] = 'Allow PNG and GIF images'; diff --git a/plugins/owncloud/owncloud.php b/plugins/owncloud/owncloud.php index 2b05f3fc..d847cc3d 100644 --- a/plugins/owncloud/owncloud.php +++ b/plugins/owncloud/owncloud.php @@ -39,18 +39,13 @@ class owncloud extends rcube_plugin // add taskbar button $this->add_button(array( - 'name' => 'owncloud', + 'command' => 'owncloud', 'class' => 'button-owncloud', + 'classsel' => 'button-owncloud button-selected', + 'innerclass' => 'button-inner', 'label' => 'owncloud.owncloud', - 'href' => './?_task=owncloud', - 'onclick' => sprintf("return %s.command('owncloud')", JS_OBJECT_NAME) ), 'taskbar'); - $rcmail->output->add_script( - JS_OBJECT_NAME . ".enable_command('owncloud', true);\n" . - JS_OBJECT_NAME . ".owncloud = function () { location.href = './?_task=owncloud'; }", - 'head'); - $skin = $rcmail->config->get('skin'); if (!file_exists($this->home."/skins/$skin/owncloud.css")) { $skin = 'default'; diff --git a/plugins/owncloud/skins/larry/cloud.png b/plugins/owncloud/skins/larry/cloud.png new file mode 100644 index 00000000..7ad3cd96 Binary files /dev/null and b/plugins/owncloud/skins/larry/cloud.png differ diff --git a/plugins/owncloud/skins/larry/owncloud.css b/plugins/owncloud/skins/larry/owncloud.css new file mode 100644 index 00000000..1e9aa891 --- /dev/null +++ b/plugins/owncloud/skins/larry/owncloud.css @@ -0,0 +1,14 @@ +/***** ownCloud plugin styles *****/ + +#taskbar a.button-owncloud span.button-inner +{ + background: url(cloud.png) 5px 5px no-repeat; + height: 14px; +} + +#taskbar a.button-owncloud:hover span.button-inner, +#taskbar a.button-owncloud.button-selected span.button-inner +{ + background: url(cloud.png) 5px -16px no-repeat; + height: 14px; +} diff --git a/plugins/owncloud/skins/larry/templates/owncloud.html b/plugins/owncloud/skins/larry/templates/owncloud.html new file mode 100644 index 00000000..8b3f470a --- /dev/null +++ b/plugins/owncloud/skins/larry/templates/owncloud.html @@ -0,0 +1,20 @@ + + + +<roundcube:object name="pagetitle" /> + + + + + + + + +
+ +
+ + + + +