summaryrefslogtreecommitdiff
path: root/plugins/managesieve/lib
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/managesieve/lib')
-rw-r--r--plugins/managesieve/lib/rcube_sieve.php8
1 files changed, 5 insertions, 3 deletions
diff --git a/plugins/managesieve/lib/rcube_sieve.php b/plugins/managesieve/lib/rcube_sieve.php
index 1f0b21bb6..1ed0da9ab 100644
--- a/plugins/managesieve/lib/rcube_sieve.php
+++ b/plugins/managesieve/lib/rcube_sieve.php
@@ -405,7 +405,8 @@ class rcube_sieve_script
'copy', // RFC3894
'vacation', // RFC5230
'relational', // RFC3431
- // TODO: (most wanted first) body, imapflags, notify, regex
+ 'regex', // draft-ietf-sieve-regex-01
+ // TODO: (most wanted first) body, imapflags, notify
);
/**
@@ -533,8 +534,9 @@ class rcube_sieve_script
array_push($exts, 'comparator-i;ascii-numeric');
$tests[$i] .= 'header :' . $m[1] . ' "' . $m[2] . '" :comparator "i;ascii-numeric"';
}
- else
+ else {
$tests[$i] .= 'header :' . $test['type'];
+ }
$tests[$i] .= ' ' . self::escape_string($test['arg1']);
$tests[$i] .= ' ' . self::escape_string($test['arg2']);
@@ -749,7 +751,7 @@ class rcube_sieve_script
else if (!is_array($tokens[$i]) && preg_match('/^:(count|value)$/i', $tokens[$i])) {
$header['type'] = strtolower(substr($tokens[$i], 1)) . '-' . $tokens[++$i];
}
- else if (!is_array($tokens[$i]) && preg_match('/^:(is|contains|matches)$/i', $tokens[$i])) {
+ else if (!is_array($tokens[$i]) && preg_match('/^:(is|contains|matches|regex)$/i', $tokens[$i])) {
$header['type'] = strtolower(substr($tokens[$i], 1));
}
else {