From f5f056e7f213666d9e9556092795b07df8e8354d Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Tue, 5 Aug 2014 14:08:17 +0200 Subject: Fix default vacation status (#1490019) - improve error message Conflicts: plugins/managesieve/Changelog --- plugins/managesieve/Changelog | 1 + plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php | 5 +++-- plugins/managesieve/localization/en_US.inc | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) (limited to 'plugins') diff --git a/plugins/managesieve/Changelog b/plugins/managesieve/Changelog index 2ce1c5fc9..c10fdeb53 100644 --- a/plugins/managesieve/Changelog +++ b/plugins/managesieve/Changelog @@ -1,4 +1,5 @@ - Fix missing css/js scripts in filter form in mail task +- Fix default vacation status (#1490019) - Fix bug where non-existing (or unsubscribed) folder wasn't listed in folder selector (#1489956) - Added optional separate interface for out-of-office management (#1488266) - Fix disabled "create filter" action diff --git a/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php b/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php index aa65966c4..405a8a02c 100644 --- a/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php +++ b/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php @@ -107,8 +107,9 @@ class rcube_sieve_vacation extends rcube_sieve_engine } if ($vacation_action['reason'] == '') { - $error = 'managesieve.cannotbeempty'; + $error = 'managesieve.emptyvacationbody'; } + if ($vacation_action[$interval_type] && !preg_match('/^[0-9]+$/', $vacation_action[$interval_type])) { $error = 'managesieve.forbiddenchars'; } @@ -276,7 +277,7 @@ class rcube_sieve_vacation extends rcube_sieve_engine } $table->add('title', html::label('vacation_status', $this->plugin->gettext('vacation.status'))); - $table->add(null, $status->show($this->vacation['disabled'] ? 'off' : 'on')); + $table->add(null, $status->show(!isset($this->vacation['disabled']) || $this->vacation['disabled'] ? 'off' : 'on')); $out .= html::tag('fieldset', $class, html::tag('legend', null, $this->plugin->gettext('vacation.reply')) . $table->show($attrib)); diff --git a/plugins/managesieve/localization/en_US.inc b/plugins/managesieve/localization/en_US.inc index 1ea7d969e..091c96f3e 100644 --- a/plugins/managesieve/localization/en_US.inc +++ b/plugins/managesieve/localization/en_US.inc @@ -213,5 +213,6 @@ $messages['nodata'] = 'At least one position must be selected!'; $messages['invaliddateformat'] = 'Invalid date or date part format'; $messages['saveerror'] = 'Unable to save data. Server error occurred.'; $messages['vacationsaved'] = 'Vacation data saved successfully.'; +$messages['emptyvacationbody'] = 'Body of vacation message is required!'; ?> -- cgit v1.2.3