summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php5
-rw-r--r--plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php4
2 files changed, 6 insertions, 3 deletions
diff --git a/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php b/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php
index 860b40e61..d412e17db 100644
--- a/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php
+++ b/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php
@@ -2105,7 +2105,10 @@ class rcube_sieve_engine
foreach ($rules['actions'] as $action) {
if ($action['type'] == 'include' && empty($action['global'])) {
$name = preg_replace($filename_regex, '', $action['target']);
- $this->active[] = $name;
+ // make sure the script exist
+ if (in_array($name, $this->list)) {
+ $this->active[] = $name;
+ }
}
}
}
diff --git a/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php b/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php
index 3d3db9a20..28fd80125 100644
--- a/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php
+++ b/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php
@@ -124,7 +124,7 @@ class rcube_sieve_vacation extends rcube_sieve_engine
private function vacation_rule()
{
- if ($this->script_name === null || !$this->sieve->load($this->script_name)) {
+ if ($this->script_name === false || $this->script_name === null || !$this->sieve->load($this->script_name)) {
return;
}
@@ -556,7 +556,7 @@ class rcube_sieve_vacation extends rcube_sieve_engine
protected function save_vacation_script($rule)
{
// if script does not exist create a new one
- if ($this->script_name === null) {
+ if ($this->script_name === null || $this->script_name === false) {
$this->script_name = $this->rc->config->get('managesieve_script_name');
if (empty($this->script_name)) {
$this->script_name = 'roundcube';