From 4d52ee03a19864e537e3aa384ffbff2e33d6beef Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Mon, 28 Jul 2014 05:13:46 -0400
Subject: [PATCH] Fix missing css/js scripts in filter form in mail task

---
 plugins/managesieve/Changelog       |    2 ++
 plugins/managesieve/managesieve.php |   11 +++++++----
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/plugins/managesieve/Changelog b/plugins/managesieve/Changelog
index 52fe492..5af9ad6 100644
--- a/plugins/managesieve/Changelog
+++ b/plugins/managesieve/Changelog
@@ -1,3 +1,5 @@
+- Fix missing css/js scripts in filter form in mail task
+
 * version 8.0 [2014-07-16]
 -----------------------------------------------------------
 - Fix bug where non-existing (or unsubscribed) folder wasn't listed in folder selector (#1489956)
diff --git a/plugins/managesieve/managesieve.php b/plugins/managesieve/managesieve.php
index 3610998..60be9bd 100644
--- a/plugins/managesieve/managesieve.php
+++ b/plugins/managesieve/managesieve.php
@@ -54,7 +54,9 @@
             $this->add_hook('message_headers_output', array($this, 'mail_headers'));
 
             // inject Create Filter popup stuff
-            if (empty($this->rc->action) || $this->rc->action == 'show') {
+            if (empty($this->rc->action) || $this->rc->action == 'show'
+                || strpos($this->rc->action, 'plugin.managesieve') === 0
+            ) {
                 $this->mail_task_handler();
             }
         }
@@ -72,13 +74,15 @@
         // load localization
         $this->add_texts('localization/');
 
-        if ($this->rc->task == 'mail' || strpos($this->rc->action, 'plugin.managesieve') === 0) {
+        $sieve_action = strpos($this->rc->action, 'plugin.managesieve') === 0;
+
+        if ($this->rc->task == 'mail' || $sieve_action) {
             $this->include_script('managesieve.js');
         }
 
         // include styles
         $skin_path = $this->local_skin_path();
-        if ($this->rc->task == 'settings') {
+        if ($this->rc->task == 'settings' || $sieve_action) {
             if (is_file($this->home . "/$skin_path/managesieve.css")) {
                 $this->include_stylesheet("$skin_path/managesieve.css");
             }
@@ -88,7 +92,6 @@
                 $this->include_stylesheet("$skin_path/managesieve_mail.css");
             }
         }
-
 
         $this->ui_initialized = true;
     }

--
Gitblit v1.9.1