summaryrefslogtreecommitdiff
path: root/plugins/managesieve
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/managesieve')
-rw-r--r--plugins/managesieve/Changelog1
-rw-r--r--plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php9
-rw-r--r--plugins/managesieve/managesieve.js33
-rw-r--r--plugins/managesieve/managesieve.php2
-rw-r--r--plugins/managesieve/skins/classic/templates/managesieve.html8
5 files changed, 26 insertions, 27 deletions
diff --git a/plugins/managesieve/Changelog b/plugins/managesieve/Changelog
index afdafed28..00aaf53bf 100644
--- a/plugins/managesieve/Changelog
+++ b/plugins/managesieve/Changelog
@@ -1,4 +1,5 @@
- Added optional separate interface for out-of-office management (#1488266)
+- Fix disabled "create filter" action
* version 7.2 [2014-02-14]
-----------------------------------------------------------
diff --git a/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php b/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php
index a1bcc86ca..4b57f760d 100644
--- a/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php
+++ b/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php
@@ -352,14 +352,13 @@ class rcube_sieve_engine
header("Content-Type: application/octet-stream");
header("Content-Length: ".strlen($script));
- if ($browser->ie)
+ if ($browser->ie) {
header("Content-Type: application/force-download");
- if ($browser->ie && $browser->ver < 7)
- $filename = rawurlencode(abbreviate_string($script_name, 55));
- else if ($browser->ie)
$filename = rawurlencode($script_name);
- else
+ }
+ else {
$filename = addcslashes($script_name, '\\"');
+ }
header("Content-Disposition: attachment; filename=\"$filename.txt\"");
echo $script;
diff --git a/plugins/managesieve/managesieve.js b/plugins/managesieve/managesieve.js
index 7fcd9d9c6..22d57e159 100644
--- a/plugins/managesieve/managesieve.js
+++ b/plugins/managesieve/managesieve.js
@@ -72,22 +72,25 @@ if (window.rcmail) {
if (rcmail.gui_objects.filterslist) {
rcmail.filters_list = new rcube_list_widget(rcmail.gui_objects.filterslist,
{multiselect:false, draggable:true, keyboard:false});
- rcmail.filters_list.addEventListener('select', function(e) { p.managesieve_select(e); });
- rcmail.filters_list.addEventListener('dragstart', function(e) { p.managesieve_dragstart(e); });
- rcmail.filters_list.addEventListener('dragend', function(e) { p.managesieve_dragend(e); });
- rcmail.filters_list.row_init = function (row) {
- row.obj.onmouseover = function() { p.managesieve_focus_filter(row); };
- row.obj.onmouseout = function() { p.managesieve_unfocus_filter(row); };
- };
- rcmail.filters_list.init();
- rcmail.filters_list.focus();
+
+ rcmail.filters_list
+ .addEventListener('select', function(e) { p.managesieve_select(e); })
+ .addEventListener('dragstart', function(e) { p.managesieve_dragstart(e); })
+ .addEventListener('dragend', function(e) { p.managesieve_dragend(e); })
+ .addEventListener('initrow', function(row) {
+ row.obj.onmouseover = function() { p.managesieve_focus_filter(row); };
+ row.obj.onmouseout = function() { p.managesieve_unfocus_filter(row); };
+ })
+ .init().focus();
}
if (rcmail.gui_objects.filtersetslist) {
- rcmail.filtersets_list = new rcube_list_widget(rcmail.gui_objects.filtersetslist, {multiselect:false, draggable:false, keyboard:false});
- rcmail.filtersets_list.addEventListener('select', function(e) { p.managesieve_setselect(e); });
- rcmail.filtersets_list.init();
- rcmail.filtersets_list.focus();
+ rcmail.filtersets_list = new rcube_list_widget(rcmail.gui_objects.filtersetslist,
+ {multiselect:false, draggable:false, keyboard:false});
+
+ rcmail.filtersets_list
+ .addEventListener('select', function(e) { p.managesieve_setselect(e); })
+ .init().focus();
if (set != null) {
set = rcmail.managesieve_setid(set);
@@ -884,8 +887,8 @@ rcube_webmail.prototype.managesieve_create = function(force)
// show dialog window
dialog.dialog({
modal: false,
- resizable: !bw.ie6,
- closeOnEscape: (!bw.ie6 && !bw.ie7), // disable for performance reasons
+ resizable: true,
+ closeOnEscape: !bw.ie7, // disable for performance reasons
title: this.gettext('managesieve.newfilter'),
close: function() { rcmail.managesieve_dialog_close(); },
buttons: buttons,
diff --git a/plugins/managesieve/managesieve.php b/plugins/managesieve/managesieve.php
index aba34251c..6adba4e2d 100644
--- a/plugins/managesieve/managesieve.php
+++ b/plugins/managesieve/managesieve.php
@@ -72,7 +72,7 @@ class managesieve extends rcube_plugin
// load localization
$this->add_texts('localization/');
- if (strpos($this->rc->action, 'plugin.managesieve') === 0) {
+ if ($this->rc->task == 'mail' || strpos($this->rc->action, 'plugin.managesieve') === 0) {
$this->include_script('managesieve.js');
}
diff --git a/plugins/managesieve/skins/classic/templates/managesieve.html b/plugins/managesieve/skins/classic/templates/managesieve.html
index 5ed099419..6489d23b4 100644
--- a/plugins/managesieve/skins/classic/templates/managesieve.html
+++ b/plugins/managesieve/skins/classic/templates/managesieve.html
@@ -8,13 +8,9 @@
<style type="text/css">
#filterslistbox { width: <roundcube:exp expression="!empty(cookie:sieveviewsplitter) ? cookie:sieveviewsplitter-5 : 210" />px; }
-#filter-box { left: <roundcube:exp expression="!empty(cookie:sieveviewsplitter) ? cookie:sieveviewsplitter+5 : 220" />px;
-<roundcube:exp expression="browser:ie ? ('width:expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:sieveviewsplitter) ? cookie:sieveviewsplitter+5 : 220).')+\\'px\\');') : ''" />
-}
+#filter-box { left: <roundcube:exp expression="!empty(cookie:sieveviewsplitter) ? cookie:sieveviewsplitter+5 : 220" />px; }
#filtersetslistbox { width: <roundcube:exp expression="!empty(cookie:sieveviewsplitter2) ? cookie:sieveviewsplitter2-5 : 175" />px; }
-#filtersscreen { left: <roundcube:exp expression="!empty(cookie:sieveviewsplitter2) ? cookie:sieveviewsplitter2+5 : 185" />px;
-<roundcube:exp expression="browser:ie ? ('width:expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:sieveviewsplitter2) ? cookie:sieveviewsplitter2+5 : 185).')+\\'px\\');') : ''" />
-}
+#filtersscreen { left: <roundcube:exp expression="!empty(cookie:sieveviewsplitter2) ? cookie:sieveviewsplitter2+5 : 185" />px; }
</style>
</head>