From 71bb89206306bb3cd842ab9acdbbd759ce9fa2cf Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Wed, 07 Jan 2015 06:45:28 -0500
Subject: [PATCH] Set 'mainaction' class on Save button in ACL dialog
---
program/lib/Roundcube/rcube_imap.php | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/program/lib/Roundcube/rcube_imap.php b/program/lib/Roundcube/rcube_imap.php
index ec961c8..a1fd874 100644
--- a/program/lib/Roundcube/rcube_imap.php
+++ b/program/lib/Roundcube/rcube_imap.php
@@ -1384,7 +1384,7 @@
public function index_direct($folder, $sort_field = null, $sort_order = null, $search = null)
{
if (!empty($search)) {
- $search = $this->search_set->get_compressed();
+ $search = $search->get_compressed();
}
// use message index sort as default sorting
@@ -3165,6 +3165,16 @@
$result = $this->conn->createFolder($folder, $type ? array("\\" . ucfirst($type)) : null);
+ // it's quite often situation that we're trying to create and subscribe
+ // a folder that already exist, but is unsubscribed
+ if (!$result) {
+ if ($this->get_response_code() == rcube_storage::ALREADYEXISTS
+ || preg_match('/already exists/i', $this->get_error_str())
+ ) {
+ $result = true;
+ }
+ }
+
// try to subscribe it
if ($result) {
// clear cache
@@ -3942,7 +3952,9 @@
// @TODO: Honor MAXSIZE and DEPTH options
foreach ($queries as $attrib => $entry) {
if ($result = $this->conn->getAnnotation($folder, $entry, $attrib)) {
- $res = array_merge_recursive($res, $result);
+ foreach ($result as $fldr => $data) {
+ $res[$fldr] = array_merge((array) $res[$fldr], $data);
+ }
}
}
}
--
Gitblit v1.9.1