summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas B <roundcube@gmail.com>2012-05-08 06:36:07 (GMT)
committerThomas B <roundcube@gmail.com>2012-05-08 06:36:07 (GMT)
commit86743991882236ea1dfe14c1dccda95032b50265 (patch)
treefcddac6f06be87b6e45df59466ff51797ed1e262
parent8a7eb6a6c34d1ef35a2a3b677eda1184478b84f6 (diff)
parentd5c5194dc5112cfd72b40a31209722a756590e99 (diff)
downloadroundcubemail-plugins-kolab-86743991882236ea1dfe14c1dccda95032b50265.tar.gz
Merge branch 'master' of ssh://git.kolabsys.com/git/roundcube
-rw-r--r--plugins/calendar/calendar.php2
-rw-r--r--plugins/calendar/drivers/kolab/kolab_driver.php2
-rw-r--r--plugins/calendar/skins/larry/calendar.css2
-rw-r--r--plugins/kolab_addressbook/kolab_addressbook.php2
-rw-r--r--plugins/kolab_folders/kolab_folders.php19
-rw-r--r--plugins/kolab_zpush/localization/en_US.inc1
-rw-r--r--plugins/owncloud/owncloud.php11
-rw-r--r--plugins/owncloud/skins/larry/cloud.pngbin0 -> 1844 bytes
-rw-r--r--plugins/owncloud/skins/larry/owncloud.css14
-rw-r--r--plugins/owncloud/skins/larry/templates/owncloud.html20
10 files changed, 55 insertions, 18 deletions
diff --git a/plugins/calendar/calendar.php b/plugins/calendar/calendar.php
index 7eb9dee..312a51e 100644
--- a/plugins/calendar/calendar.php
+++ b/plugins/calendar/calendar.php
@@ -2403,7 +2403,7 @@ class calendar extends rcube_plugin
$default_port = 80;
if (rcube_https_check()) {
$schema = 'https';
- $default_port = 143;
+ $default_port = 443;
}
$url = $schema . '://' . $_SERVER['HTTP_HOST'];
if ($_SERVER['SERVER_PORT'] != $default_port)
diff --git a/plugins/calendar/drivers/kolab/kolab_driver.php b/plugins/calendar/drivers/kolab/kolab_driver.php
index 0dd4877..c337592 100644
--- a/plugins/calendar/drivers/kolab/kolab_driver.php
+++ b/plugins/calendar/drivers/kolab/kolab_driver.php
@@ -292,7 +292,7 @@ class kolab_driver extends calendar_driver
if (strlen($parent) && (!strlen($oldfolder) || $oldfolder != $folder)) {
$parent_opts = $storage->folder_info($parent);
if ($parent_opts['namespace'] != 'personal'
- && (empty($parent_opts['rights']) || !preg_match('/[ck]/', implode($parent_opts)))
+ && (empty($parent_opts['rights']) || !preg_match('/[ck]/', implode($parent_opts['rights'])))
) {
$this->last_error = 'No permission to create folder';
return false;
diff --git a/plugins/calendar/skins/larry/calendar.css b/plugins/calendar/skins/larry/calendar.css
index ad646df..488f37c 100644
--- a/plugins/calendar/skins/larry/calendar.css
+++ b/plugins/calendar/skins/larry/calendar.css
@@ -1244,7 +1244,7 @@ fieldset #calendarcategories div {
/* Invitation UI in mail */
#messagemenu li a.calendarlink span.calendar {
-/* background-position: 7px -109px; */
+ background-position: 0px -1948px;
}
div.calendar-invitebox {
diff --git a/plugins/kolab_addressbook/kolab_addressbook.php b/plugins/kolab_addressbook/kolab_addressbook.php
index 5a47657..c03c426 100644
--- a/plugins/kolab_addressbook/kolab_addressbook.php
+++ b/plugins/kolab_addressbook/kolab_addressbook.php
@@ -465,7 +465,7 @@ class kolab_addressbook extends rcube_plugin
if (strlen($path) && (!strlen($oldfolder) || $oldfolder != $folder)) {
$parent_opts = $storage->folder_info($path);
if ($parent_opts['namespace'] != 'personal'
- && (empty($parent_opts['rights']) || !preg_match('/[ck]/', implode($parent_opts)))
+ && (empty($parent_opts['rights']) || !preg_match('/[ck]/', implode($parent_opts['rights'])))
) {
$error = rcube_label('parentnotwritable');
}
diff --git a/plugins/kolab_folders/kolab_folders.php b/plugins/kolab_folders/kolab_folders.php
index ab84c24..e1b2e63 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 5160d91..2537d4d 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 2b05f3f..d847cc3 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 0000000..7ad3cd9
--- /dev/null
+++ b/plugins/owncloud/skins/larry/cloud.png
Binary files differ
diff --git a/plugins/owncloud/skins/larry/owncloud.css b/plugins/owncloud/skins/larry/owncloud.css
new file mode 100644
index 0000000..1e9aa89
--- /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 0000000..8b3f470
--- /dev/null
+++ b/plugins/owncloud/skins/larry/templates/owncloud.html
@@ -0,0 +1,20 @@
+<roundcube:object name="doctype" value="html5" />
+<html>
+<head>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+<link rel="stylesheet" type="text/css" href="/this/owncloud.css" />
+<link rel="stylesheet" type="text/css" href="/settings.css" />
+</head>
+<body class="noscroll">
+
+<roundcube:include file="/includes/header.html" />
+
+<div id="mainscreen" class="offset uibox" style="overflow: hidden">
+ <roundcube:object name="owncloudframe" />
+</div>
+
+<roundcube:include file="/includes/footer.html" />
+
+</body>
+</html>