Skip to content
Snippets Groups Projects
Commit 478726a4 authored by Jesse Norell's avatar Jesse Norell
Browse files

sieve filter: allow 'Header' source for domain/localpart address tests

parent 3682b5f0
No related branches found
No related tags found
No related merge requests found
...@@ -137,8 +137,14 @@ class mail_user_filter_plugin { ...@@ -137,8 +137,14 @@ class mail_user_filter_plugin {
$content = ''; $content = '';
$content .= '### BEGIN FILTER_ID:'.$page_form->id."\n"; $content .= '### BEGIN FILTER_ID:'.$page_form->id."\n";
//$content .= 'require ["fileinto", "regex", "vacation"];'."\n"; if($page_form->dataRecord["source"] == 'Header') {
$parts = explode(':',trim($page_form->dataRecord["searchterm"]));
$page_form->dataRecord["source"] = trim($parts[0]);
unset($parts[0]);
$page_form->dataRecord["searchterm"] = trim(implode(':',$parts));
unset($parts);
}
if($page_form->dataRecord["op"] == 'domain') { if($page_form->dataRecord["op"] == 'domain') {
$content .= 'if address :domain :is "'.strtolower($page_form->dataRecord["source"]).'" "'.$page_form->dataRecord["searchterm"].'" {'."\n"; $content .= 'if address :domain :is "'.strtolower($page_form->dataRecord["source"]).'" "'.$page_form->dataRecord["searchterm"].'" {'."\n";
} elseif ($page_form->dataRecord["op"] == 'localpart') { } elseif ($page_form->dataRecord["op"] == 'localpart') {
...@@ -152,15 +158,7 @@ class mail_user_filter_plugin { ...@@ -152,15 +158,7 @@ class mail_user_filter_plugin {
$content .= 'if size :over '.intval($page_form->dataRecord["searchterm"]).$unit.' {'."\n"; $content .= 'if size :over '.intval($page_form->dataRecord["searchterm"]).$unit.' {'."\n";
} else { } else {
if($page_form->dataRecord["source"] == 'Header') { $content .= 'if header :regex "'.strtolower($page_form->dataRecord["source"]).'" ["';
$parts = explode(':',trim($page_form->dataRecord["searchterm"]));
$page_form->dataRecord["source"] = trim($parts[0]);
unset($parts[0]);
$page_form->dataRecord["searchterm"] = trim(implode(':',$parts));
unset($parts);
}
$content .= 'if header :regex ["'.strtolower($page_form->dataRecord["source"]).'"] ["';
# special chars in sieve regex must be escaped with double-backslash # special chars in sieve regex must be escaped with double-backslash
if($page_form->dataRecord["op"] == 'regex') { if($page_form->dataRecord["op"] == 'regex') {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment