From 962eff7dfe2456c32d08587d0c413155842578eb Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 20 Sep 2013 02:34:55 -0400
Subject: [PATCH] Fix bug where at least one additional address of vacation message was required (#1489345)
---
plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php | 7 ++++++-
plugins/managesieve/Changelog | 2 ++
2 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/plugins/managesieve/Changelog b/plugins/managesieve/Changelog
index e660ee1..491a484 100644
--- a/plugins/managesieve/Changelog
+++ b/plugins/managesieve/Changelog
@@ -1,3 +1,5 @@
+- Fix bug where at least one additional address of vacation message was required (#1489345)
+
* version 7.0 [2013-09-09]
-----------------------------------------------------------
- Add vacation-seconds extension support (RFC 6131)
diff --git a/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php b/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php
index e4efef5..685a66a 100644
--- a/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php
+++ b/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php
@@ -871,7 +871,12 @@
// @TODO: vacation :mime, :from, :handle
foreach ((array)$this->form['actions'][$i]['addresses'] as $aidx => $address) {
- if (!rcube_utils::check_email($address)) {
+ $this->form['actions'][$i]['addresses'][$aidx] = $address = trim($address);
+
+ if (empty($address)) {
+ unset($this->form['actions'][$i]['addresses'][$aidx]);
+ }
+ else if (!rcube_utils::check_email($address)) {
$this->errors['actions'][$i]['addresses'] = $this->plugin->gettext('noemailwarning');
break;
}
--
Gitblit v1.9.1