Skip to content
Snippets Groups Projects
Commit e4b1db2e authored by Marius Cramer's avatar Marius Cramer
Browse files

Fixed missing escape of " in sieve rules

parent d90ab94f
No related branches found
No related tags found
No related merge requests found
...@@ -141,13 +141,22 @@ class mail_user_filter_plugin { ...@@ -141,13 +141,22 @@ class mail_user_filter_plugin {
$content .= 'if header :regex ["'.strtolower($page_form->dataRecord["source"]).'"] ["'; $content .= 'if header :regex ["'.strtolower($page_form->dataRecord["source"]).'"] ["';
$searchterm = preg_quote($page_form->dataRecord["searchterm"]); $searchterm = preg_quote($page_form->dataRecord["searchterm"]);
$searchterm = str_replace('\\[', '\\\\[', $searchterm); $searchterm = str_replace(
$searchterm = str_replace('\\]', '\\\\]', $searchterm); array(
'"',
'\\[',
'\\]'
),
array(
'\\"',
'\\\\[',
'\\\\]'
), $searchterm);
if($page_form->dataRecord["op"] == 'contains') { if($page_form->dataRecord["op"] == 'contains') {
$content .= ".*".$searchterm; $content .= ".*".$searchterm;
} elseif ($page_form->dataRecord["op"] == 'is') { } elseif ($page_form->dataRecord["op"] == 'is') {
$content .= $searchterm."$"; $content .= "^".$searchterm."$";
} elseif ($page_form->dataRecord["op"] == 'begins') { } elseif ($page_form->dataRecord["op"] == 'begins') {
$content .= " ".$searchterm.""; $content .= " ".$searchterm."";
} elseif ($page_form->dataRecord["op"] == 'ends') { } elseif ($page_form->dataRecord["op"] == 'ends') {
......
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