summaryrefslogtreecommitdiff
path: root/program
diff options
context:
space:
mode:
Diffstat (limited to 'program')
-rw-r--r--program/include/rcmail.php8
-rw-r--r--program/js/app.js4
-rw-r--r--program/js/treelist.js9
-rw-r--r--program/lib/Roundcube/rcube.php3
-rw-r--r--program/lib/Roundcube/rcube_db.php1
-rw-r--r--program/lib/Roundcube/rcube_imap.php6
-rw-r--r--program/steps/mail/func.inc8
7 files changed, 21 insertions, 18 deletions
diff --git a/program/include/rcmail.php b/program/include/rcmail.php
index ece0606ae..e1a62767d 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -116,11 +116,13 @@ class rcmail extends rcube
$_SESSION['task'] = $this->task;
}
- // init output class
- if (!empty($_REQUEST['_remote']))
+ // init output class (not in CLI mode)
+ if (!empty($_REQUEST['_remote'])) {
$GLOBALS['OUTPUT'] = $this->json_init();
- else
+ }
+ else if ($_SERVER['REMOTE_ADDR']) {
$GLOBALS['OUTPUT'] = $this->load_gui(!empty($_REQUEST['_framed']));
+ }
// load plugins
$this->plugins->init($this, $this->task);
diff --git a/program/js/app.js b/program/js/app.js
index e5a70c9f1..3ace0b0b0 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -1660,7 +1660,7 @@ function rcube_webmail()
}
skip = obj.data('parent');
}
- }, 10);
+ }, 10, e);
};
// global keypress event handler
@@ -6902,7 +6902,7 @@ function rcube_webmail()
// truncate stack down to the one containing the ref link
for (var i = this.menu_stack.length - 1; stack && i >= 0; i--) {
if (!$(ref).parents('#'+this.menu_stack[i]).length)
- this.hide_menu(this.menu_stack[i]);
+ this.hide_menu(this.menu_stack[i], event);
}
if (stack && this.menu_stack.length) {
obj.data('parent', $.last(this.menu_stack));
diff --git a/program/js/treelist.js b/program/js/treelist.js
index a7cd7cd43..c034f77b8 100644
--- a/program/js/treelist.js
+++ b/program/js/treelist.js
@@ -458,6 +458,10 @@ function rcube_treelist_widget(node, p)
node.deleted = true;
delete indexbyid[id];
+ if (search_active) {
+ id2dom(id, false).remove();
+ }
+
return true;
}
@@ -477,7 +481,7 @@ function rcube_treelist_widget(node, p)
*/
function update_dom(node)
{
- var li = id2dom(node.id);
+ var li = id2dom(node.id, true);
li.attr('aria-expanded', node.collapsed ? 'false' : 'true');
li.children('ul').first()[(node.collapsed ? 'hide' : 'show')]();
li.children('div.treetoggle').removeClass('collapsed expanded').addClass(node.collapsed ? 'collapsed' : 'expanded');
@@ -698,7 +702,8 @@ function rcube_treelist_widget(node, p)
node.childlistclass = sublist.attr('class');
}
if (node.children.length) {
- node.collapsed = sublist.css('display') == 'none';
+ if (node.collapsed === undefined)
+ node.collapsed = sublist.css('display') == 'none';
// apply saved state
state = get_state(node.id, node.collapsed);
diff --git a/program/lib/Roundcube/rcube.php b/program/lib/Roundcube/rcube.php
index eedc46c7a..3ab650cb1 100644
--- a/program/lib/Roundcube/rcube.php
+++ b/program/lib/Roundcube/rcube.php
@@ -1280,6 +1280,9 @@ class rcube
exit(1);
}
+ else if ($cli) {
+ fwrite(STDERR, 'ERROR: ' . $arg['message']);
+ }
}
diff --git a/program/lib/Roundcube/rcube_db.php b/program/lib/Roundcube/rcube_db.php
index a46df97d3..100afd530 100644
--- a/program/lib/Roundcube/rcube_db.php
+++ b/program/lib/Roundcube/rcube_db.php
@@ -68,6 +68,7 @@ class rcube_db
'sybase' => 'mssql',
'dblib' => 'mssql',
'mysqli' => 'mysql',
+ 'oci' => 'oracle',
);
$driver = isset($driver_map[$driver]) ? $driver_map[$driver] : $driver;
diff --git a/program/lib/Roundcube/rcube_imap.php b/program/lib/Roundcube/rcube_imap.php
index 44a79c8e6..a1fd87442 100644
--- a/program/lib/Roundcube/rcube_imap.php
+++ b/program/lib/Roundcube/rcube_imap.php
@@ -1384,7 +1384,7 @@ class rcube_imap extends rcube_storage
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
@@ -3952,8 +3952,8 @@ class rcube_imap extends rcube_storage
// @TODO: Honor MAXSIZE and DEPTH options
foreach ($queries as $attrib => $entry) {
if ($result = $this->conn->getAnnotation($folder, $entry, $attrib)) {
- foreach ($result as $folder => $data) {
- $res[$folder] = array_merge((array) $res[$folder], $data);
+ foreach ($result as $fldr => $data) {
+ $res[$fldr] = array_merge((array) $res[$fldr], $data);
}
}
}
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index 25f2e3175..cbeeb05fb 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -652,14 +652,6 @@ function rcmail_messagecontent_frame($attrib)
if (empty($attrib['id']))
$attrib['id'] = 'rcmailcontentwindow';
- $attrib['name'] = $attrib['id'];
-
- if ($RCMAIL->config->get('preview_pane')) {
- $OUTPUT->set_env('contentframe', $attrib['id']);
- }
-
- $OUTPUT->set_env('blankpage', $attrib['src'] ? $OUTPUT->abs_url($attrib['src']) : 'program/resources/blank.gif');
-
return $OUTPUT->frame($attrib, true);
}