From e019ceea8f10f9be13be0da0cceb4df8f992d6b6 Mon Sep 17 00:00:00 2001 From: alec Date: Wed, 16 Nov 2011 12:36:35 +0000 Subject: - Fixed import of rules with unsupported tests git-svn-id: https://svn.roundcube.net/trunk@5440 208e9e7b-5314-0410-a742-e7e81cd9613c --- plugins/managesieve/Changelog | 1 + plugins/managesieve/lib/rcube_sieve_script.php | 4 +--- plugins/managesieve/tests/parser.phpt | 24 +++++++++++++++++++++++- 3 files changed, 25 insertions(+), 4 deletions(-) (limited to 'plugins') diff --git a/plugins/managesieve/Changelog b/plugins/managesieve/Changelog index 185510410..a1fcd2268 100644 --- a/plugins/managesieve/Changelog +++ b/plugins/managesieve/Changelog @@ -1,4 +1,5 @@ - Fixed sorting of scripts, scripts including aware of the sort order +- Fixed import of rules with unsupported tests * version 5.0-beta [2011-10-17] ----------------------------------------------------------- diff --git a/plugins/managesieve/lib/rcube_sieve_script.php b/plugins/managesieve/lib/rcube_sieve_script.php index 3c6993dcc..155b40298 100644 --- a/plugins/managesieve/lib/rcube_sieve_script.php +++ b/plugins/managesieve/lib/rcube_sieve_script.php @@ -597,9 +597,7 @@ class rcube_sieve_script } // ...and actions block - if ($tests) { - $actions = $this->_parse_actions($content); - } + $actions = $this->_parse_actions($content); if ($tests && $actions) { $result = array( diff --git a/plugins/managesieve/tests/parser.phpt b/plugins/managesieve/tests/parser.phpt index 308617296..32866335a 100644 --- a/plugins/managesieve/tests/parser.phpt +++ b/plugins/managesieve/tests/parser.phpt @@ -33,8 +33,19 @@ if anyof (true) /* comment } # rule:[reject] if size :over 5000K { - reject "Message over 5MB size limit. Please contact me before sending this."; + reject "Message over 5MB size limit. Please contact me before sending this."; +} +# rule:[false] +if false # size :over 5000K +{ + stop; /* rule disabled */ +} +# rule:[true] +if true +{ + stop; } +fileinto "Test"; '; $s = new rcube_sieve_script($txt); @@ -71,3 +82,14 @@ if size :over 5000K { reject "Message over 5MB size limit. Please contact me before sending this."; } +# rule:[false] +if false # size :over 5000K +{ + stop; +} +# rule:[true] +if true +{ + stop; +} +fileinto "Test"; -- cgit v1.2.3