diff --git a/interface/lib/plugins/mail_user_filter_plugin.inc.php b/interface/lib/plugins/mail_user_filter_plugin.inc.php index ccf58b853c0bb3b9da0224b527558507f4a62ead..4f24042b303bca819da67de91ec4ab6c72933b03 100644 --- a/interface/lib/plugins/mail_user_filter_plugin.inc.php +++ b/interface/lib/plugins/mail_user_filter_plugin.inc.php @@ -137,8 +137,13 @@ class mail_user_filter_plugin { $content = ''; $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(array_shift($parts)); + $page_form->dataRecord["searchterm"] = trim(implode(':',$parts)); + unset($parts); + } + if($page_form->dataRecord["op"] == 'domain') { $content .= 'if address :domain :is "'.strtolower($page_form->dataRecord["source"]).'" "'.$page_form->dataRecord["searchterm"].'" {'."\n"; } elseif ($page_form->dataRecord["op"] == 'localpart') { @@ -152,33 +157,50 @@ class mail_user_filter_plugin { $content .= 'if size :over '.intval($page_form->dataRecord["searchterm"]).$unit.' {'."\n"; } else { - 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); - } + $content .= 'if header :regex "'.strtolower($page_form->dataRecord["source"]).'" ["'; + + # special chars in sieve regex must be escaped with double-backslash + if($page_form->dataRecord["op"] == 'regex') { + # if providing a regex, special chars must already be quoted as intended; + # we will simply try to check for an obviously unquoted double-quote and handle that. + $patterns = array( '/([^\\\\]{2})"/', '/([^\\\\])\\\\"/' ); + $replace = array( '${1}\\\\\\\\"', '${1}\\\\\\\\"' ); + $searchterm = preg_replace( $patterns, $replace, $page_form->dataRecord["searchterm"] ); + } else { + $sieve_regex_escape = array( + '\\' => '\\\\\\', + '+' => '\\\\+', + '*' => '\\\\*', + '?' => '\\\\?', + '[' => '\\\\[', + '^' => '\\\\^', + ']' => '\\\\]', + '$' => '\\\\$', + '(' => '\\\\(', + ')' => '\\\\)', + '{' => '\\\\{', + '}' => '\\\\}', + '|' => '\\\\|', + '.' => '\\\\.', + # these (from preg_quote) should not be needed + #'=' => '\\\\=', + #'!' => '\\\\!', + #'<' => '\\\\<', + #'>' => '\\\\>', + #':' => '\\\\:', + #'-' => '\\\\-', + #'#' => '\\\\#', + ); + $searchterm = strtr( $page_form->dataRecord["searchterm"], $sieve_regex_escape ); - $content .= 'if header :regex ["'.strtolower($page_form->dataRecord["source"]).'"] ["'; - - $searchterm = preg_quote($page_form->dataRecord["searchterm"]); - $searchterm = str_replace( - array( - '"', - '\\[', - '\\]' - ), - array( - '\\"', - '\\\\[', - '\\\\]' - ), $searchterm); + } if($page_form->dataRecord["op"] == 'contains') { $content .= ".*".$searchterm; } elseif ($page_form->dataRecord["op"] == 'is') { $content .= "^".$searchterm."$"; + } elseif ($page_form->dataRecord["op"] == 'regex') { + $content .= $searchterm; } elseif ($page_form->dataRecord["op"] == 'begins') { $content .= "^".$searchterm.""; } elseif ($page_form->dataRecord["op"] == 'ends') { diff --git a/interface/web/mail/form/mail_user_filter.tform.php b/interface/web/mail/form/mail_user_filter.tform.php index b1370ecaa1349548c450bcfdffdf479a53bf41f6..0b10799163044b55e569509d6bab764d606c294a 100644 --- a/interface/web/mail/form/mail_user_filter.tform.php +++ b/interface/web/mail/form/mail_user_filter.tform.php @@ -94,8 +94,7 @@ $form["tabs"]['filter'] = array ( 'datatype' => 'VARCHAR', 'formtype' => 'SELECT', 'default' => '', - //'value' => array('contains'=>'contains_txt','is' => 'Is','begins'=>'Begins with','ends'=>'Ends with') - 'value' => array('contains'=>'contains_txt', 'is' => 'is_txt', 'begins'=>'begins_with_txt', 'ends'=>'ends_with_txt', 'localpart' => 'localpart_txt', 'domain' => 'domain_txt') + 'value' => array('contains'=>'contains_txt', 'is'=>'is_txt', 'begins'=>'begins_with_txt', 'ends'=>'ends_with_txt', 'regex'=>'regex_txt', 'localpart'=>'localpart_txt', 'domain'=>'domain_txt') ), 'searchterm' => array ( 'datatype' => 'VARCHAR', diff --git a/interface/web/mail/lib/lang/ar_mail_user_filter.lng b/interface/web/mail/lib/lang/ar_mail_user_filter.lng index 9a15472e88734a485d954d89d58944a8a72a4516..bed377b2f63593b1f1e0acd926b41ae5761693cf 100644 --- a/interface/web/mail/lib/lang/ar_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/ar_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contains'; $wb['is_txt'] = 'Is'; $wb['begins_with_txt'] = 'Begins with'; $wb['ends_with_txt'] = 'Ends with'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'Delete'; $wb['move_stop_txt'] = 'Move to'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/bg_mail_user_filter.lng b/interface/web/mail/lib/lang/bg_mail_user_filter.lng index 6929752c5afb0a0051fb343bc1946eeedc1dc2d5..ed7d137db0bbcb78f6379d956cf36557fc3a0adf 100644 --- a/interface/web/mail/lib/lang/bg_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/bg_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'ОпиÑание'; $wb['is_txt'] = 'е'; $wb['begins_with_txt'] = 'Ðачало Ñ'; $wb['ends_with_txt'] = 'Край Ñ'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'Изтрий'; $wb['move_stop_txt'] = 'Move to'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/br_mail_user_filter.lng b/interface/web/mail/lib/lang/br_mail_user_filter.lng index 226b7e2722db81b3a60be7f29cfe783bde426f68..560858c7137e8be482926fbd5d41d6831aa8d3f4 100644 --- a/interface/web/mail/lib/lang/br_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/br_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contêm'; $wb['is_txt'] = 'é'; $wb['begins_with_txt'] = 'Iniciando com'; $wb['ends_with_txt'] = 'Terminando com'; +$wb['regex_txt'] = 'Matches Regex'; $wb['move_stop_txt'] = 'Mover para'; $wb['delete_txt'] = 'Remover'; $wb['header_txt'] = 'Cabeçalho'; diff --git a/interface/web/mail/lib/lang/ca_mail_user_filter.lng b/interface/web/mail/lib/lang/ca_mail_user_filter.lng index 8744b2ab79209f4a27b1d36681be930a0bde220a..3aaa7f16657faccd2f240cdbfe7e9419c094cf07 100644 --- a/interface/web/mail/lib/lang/ca_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/ca_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contient'; $wb['is_txt'] = 'Est'; $wb['begins_with_txt'] = 'Commence par'; $wb['ends_with_txt'] = 'Fini par'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'Supprimer'; $wb['move_stop_txt'] = 'Move to'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/cz_mail_user_filter.lng b/interface/web/mail/lib/lang/cz_mail_user_filter.lng index 3f5357f73538dd57536be651102932b17ce7ce21..3d56a9b83900207b529690bb27ba9a88d7c39439 100644 --- a/interface/web/mail/lib/lang/cz_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/cz_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Obsahuje'; $wb['is_txt'] = 'Je'; $wb['begins_with_txt'] = 'ZaÄÃná na'; $wb['ends_with_txt'] = 'KonÄà na'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'Smazat'; $wb['move_stop_txt'] = 'PÅ™esunout'; $wb['header_txt'] = 'HlaviÄka'; diff --git a/interface/web/mail/lib/lang/de_mail_user_filter.lng b/interface/web/mail/lib/lang/de_mail_user_filter.lng index 345b9c4fbb38d3de1c06b7fe074c0f15a9917e2f..579a867e983d631fd2059984a046d2523e7f5fe6 100644 --- a/interface/web/mail/lib/lang/de_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/de_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Enthält'; $wb['is_txt'] = 'Ist'; $wb['begins_with_txt'] = 'Beginnt mit'; $wb['ends_with_txt'] = 'Endet mit'; +$wb['regex_txt'] = 'Matches Regex'; $wb['move_stop_txt'] = 'Verschieben nach'; $wb['delete_txt'] = 'Löschen'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/dk_mail_user_filter.lng b/interface/web/mail/lib/lang/dk_mail_user_filter.lng index ef8be2a0c97f46b8aa3ae9442f41ad8c45db9ea6..8da1a242010f227e89ee15441b73cda9dc2ad432 100644 --- a/interface/web/mail/lib/lang/dk_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/dk_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Indeholder'; $wb['is_txt'] = 'Er'; $wb['begins_with_txt'] = 'Begynder med'; $wb['ends_with_txt'] = 'Slutter med'; +$wb['regex_txt'] = 'Matches Regex'; $wb['move_stop_txt'] = 'Flyt til'; $wb['delete_txt'] = 'Slet'; $wb['header_txt'] = 'Hoved'; diff --git a/interface/web/mail/lib/lang/el_mail_user_filter.lng b/interface/web/mail/lib/lang/el_mail_user_filter.lng index 72710a9f7e72d3435023a6e73ea554ab7831ec83..c3c232362e1a76bda46635d147da6cbf299a5a95 100644 --- a/interface/web/mail/lib/lang/el_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/el_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'ΠεÏιλαμβάνει'; $wb['is_txt'] = 'είναι'; $wb['begins_with_txt'] = 'Ξεκινά με'; $wb['ends_with_txt'] = 'Τελειώνει σε'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'ΔιαγÏαφή'; $wb['move_stop_txt'] = 'Move to'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/en_mail_user_filter.lng b/interface/web/mail/lib/lang/en_mail_user_filter.lng index 462ee6d93653f8fd07abf97f2f7b82d23b053f39..7db2df5a7260bfb401dc79cbd0935c15671fcf9d 100644 --- a/interface/web/mail/lib/lang/en_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/en_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contains'; $wb['is_txt'] = 'Is'; $wb['begins_with_txt'] = 'Begins with'; $wb['ends_with_txt'] = 'Ends with'; +$wb['regex_txt'] = 'Matches Regex'; $wb['move_stop_txt'] = 'Move to'; $wb['delete_txt'] = 'Delete'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/es_mail_user_filter.lng b/interface/web/mail/lib/lang/es_mail_user_filter.lng index ed221d5cb30a702fa181b27ecf4969f43299e045..4e50fbceff012b7a8023d3225eccba999b2c78b6 100644 --- a/interface/web/mail/lib/lang/es_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/es_mail_user_filter.lng @@ -6,6 +6,7 @@ $wb['contains_txt'] = 'Contiene'; $wb['delete_txt'] = 'Borrar'; $wb['domain_txt'] = 'Domain'; $wb['ends_with_txt'] = 'Termina con'; +$wb['regex_txt'] = 'Matches Regex'; $wb['from_txt'] = 'De'; $wb['header_txt'] = 'Cabecera'; $wb['is_txt'] = 'Es'; diff --git a/interface/web/mail/lib/lang/fi_mail_user_filter.lng b/interface/web/mail/lib/lang/fi_mail_user_filter.lng index 1238dc86fd79bc1a85fbf911121b65fabcc04488..5315bc6f1ead437378ec233dc1cb26830a377d93 100644 --- a/interface/web/mail/lib/lang/fi_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/fi_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contains'; $wb['is_txt'] = 'Is'; $wb['begins_with_txt'] = 'Begins with'; $wb['ends_with_txt'] = 'Ends with'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'Delete'; $wb['move_stop_txt'] = 'Move to'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/fr_mail_user_filter.lng b/interface/web/mail/lib/lang/fr_mail_user_filter.lng index b5cacf2e98628f05d922532ef14e023f12d9ee08..324d6f3c781fc0b8e17600a2472a8ce9f9e17503 100644 --- a/interface/web/mail/lib/lang/fr_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/fr_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contient'; $wb['is_txt'] = 'Est'; $wb['begins_with_txt'] = 'Commence par'; $wb['ends_with_txt'] = 'Fini par'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'Supprimer'; $wb['move_stop_txt'] = 'Move to'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/hr_mail_user_filter.lng b/interface/web/mail/lib/lang/hr_mail_user_filter.lng index 33fd0106a8df7502e0c0b4fdb92c7a0f3b1b319b..55e46fab9144aa88b02c347accb2379624270206 100644 --- a/interface/web/mail/lib/lang/hr_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/hr_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Sadrži'; $wb['is_txt'] = 'Is'; $wb['begins_with_txt'] = 'PoÄinje sa'; $wb['ends_with_txt'] = 'ZavrÅ¡ava sa'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'ObriÅ¡i'; $wb['move_stop_txt'] = 'Move to'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/hu_mail_user_filter.lng b/interface/web/mail/lib/lang/hu_mail_user_filter.lng index a3db584920c97c0a95b53a8b05bc10fdb11c4489..8b39c062a6854e3422e8abc067dc8d1dccf4cea2 100644 --- a/interface/web/mail/lib/lang/hu_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/hu_mail_user_filter.lng @@ -14,6 +14,7 @@ $wb['contains_txt'] = 'Tartalmazza'; $wb['is_txt'] = 'Is'; $wb['begins_with_txt'] = 'Begins with'; $wb['ends_with_txt'] = 'Ends with'; +$wb['regex_txt'] = 'Matches Regex'; $wb['target_error_regex'] = 'The target may only contain these characters: a-z, 0-9, -, ., _, and {space}'; $wb['limit_mailfilter_txt'] = 'The max. number of mailfilters is reached.'; $wb['delete_txt'] = 'Delete'; diff --git a/interface/web/mail/lib/lang/id_mail_user_filter.lng b/interface/web/mail/lib/lang/id_mail_user_filter.lng index 93f45979f39348b4af6d623eb201895daee9775e..2a8ec29b459deb785e35a650ab9653bbaec3fff6 100644 --- a/interface/web/mail/lib/lang/id_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/id_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contains'; $wb['is_txt'] = 'Is'; $wb['begins_with_txt'] = 'Begins with'; $wb['ends_with_txt'] = 'Ends with'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'Delete'; $wb['move_stop_txt'] = 'Move to'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/it_mail_user_filter.lng b/interface/web/mail/lib/lang/it_mail_user_filter.lng index 827f906345186d111bb3af2b77e2d494f7f0fb2c..131b7ff6b5711a8f75aa3f2cfd5edba8c07bf4b8 100644 --- a/interface/web/mail/lib/lang/it_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/it_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contiene'; $wb['is_txt'] = 'è'; $wb['begins_with_txt'] = 'Inizia con'; $wb['ends_with_txt'] = 'Termina con'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'Elimina'; $wb['move_stop_txt'] = 'Move to'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/ja_mail_user_filter.lng b/interface/web/mail/lib/lang/ja_mail_user_filter.lng index 8ee3801cc8d146ab6086a6c66f082dc0d5902a14..7354c4026515cab15d3c12ef29ebc56ff8356796 100644 --- a/interface/web/mail/lib/lang/ja_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/ja_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contains'; $wb['is_txt'] = 'Is'; $wb['begins_with_txt'] = 'Begins with'; $wb['ends_with_txt'] = 'Ends with'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'Delete'; $wb['move_stop_txt'] = 'Move to'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/nl_mail_user_filter.lng b/interface/web/mail/lib/lang/nl_mail_user_filter.lng index 050d64aaf98fa3edbb6cc64fa473be7ab5aa16fd..99dd91b58cf08b49f4ce846a5f0c96493fa63d1a 100644 --- a/interface/web/mail/lib/lang/nl_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/nl_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Bevat'; $wb['is_txt'] = 'Is'; $wb['begins_with_txt'] = 'Begint met'; $wb['ends_with_txt'] = 'Eindigt in'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'Verwijderen'; $wb['move_stop_txt'] = 'Verplaatsen naar'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/pl_mail_user_filter.lng b/interface/web/mail/lib/lang/pl_mail_user_filter.lng index d0bc6d6a288d921b8c79b35dd2467b1fb0e951a5..6c86f3e52aa7f501ed119ce3502ad43dcc4ac6e7 100644 --- a/interface/web/mail/lib/lang/pl_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/pl_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Zawiera'; $wb['is_txt'] = 'Jest'; $wb['begins_with_txt'] = 'Zaczyna siÄ™ od'; $wb['ends_with_txt'] = 'KoÅ„czy siÄ™ na'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'UsuÅ„'; $wb['move_stop_txt'] = 'Move to'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/pt_mail_user_filter.lng b/interface/web/mail/lib/lang/pt_mail_user_filter.lng index 906c27ecd2d6e523b6b8ec5c255383e1d065f33e..41235591a7e091e3cd0408be0c9a69aba730b97d 100644 --- a/interface/web/mail/lib/lang/pt_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/pt_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contains'; $wb['is_txt'] = 'Is'; $wb['begins_with_txt'] = 'Begins with'; $wb['ends_with_txt'] = 'Ends with'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'Delete'; $wb['move_stop_txt'] = 'Move to'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/ro_mail_user_filter.lng b/interface/web/mail/lib/lang/ro_mail_user_filter.lng index 22435d9e91524bfa0167dd2a79a4940e828cc404..3ca08e982a5cbe7a57207cbcd18a47700048f279 100644 --- a/interface/web/mail/lib/lang/ro_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/ro_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contains'; $wb['is_txt'] = 'Is'; $wb['begins_with_txt'] = 'Begins with'; $wb['ends_with_txt'] = 'Ends with'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'Delete'; $wb['move_stop_txt'] = 'Move to'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/ru_mail_user_filter.lng b/interface/web/mail/lib/lang/ru_mail_user_filter.lng index 78fac01aee482c71c9f1b4b5c19a272fc22e5475..07e767c245ebddf5952adb401d61f35e13b3bfe4 100644 --- a/interface/web/mail/lib/lang/ru_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/ru_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Содержит'; $wb['is_txt'] = 'Равно'; $wb['begins_with_txt'] = 'ÐачинаетÑÑ Ñ'; $wb['ends_with_txt'] = 'ЗаканчиваетÑÑ Ð½Ð°'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'Удалить'; $wb['move_stop_txt'] = 'ПеремеÑтить в'; $wb['header_txt'] = 'Заголовок'; diff --git a/interface/web/mail/lib/lang/se_mail_user_filter.lng b/interface/web/mail/lib/lang/se_mail_user_filter.lng index 9830059195a097af027fe3310186350ec891395c..f8c2a6154695a6a6c5879bed62ffd337823bc23a 100644 --- a/interface/web/mail/lib/lang/se_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/se_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'InnehÃ¥ller'; $wb['is_txt'] = 'Är'; $wb['begins_with_txt'] = 'Börjar med'; $wb['ends_with_txt'] = 'Slutar med'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'Radera'; $wb['move_stop_txt'] = 'Move to'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/sk_mail_user_filter.lng b/interface/web/mail/lib/lang/sk_mail_user_filter.lng index 7546cd6afa278c1cf57224c389335b9ee147f6dc..966161ed3f7f509bf93c54f69d0f8289a5756b14 100644 --- a/interface/web/mail/lib/lang/sk_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/sk_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Contains'; $wb['is_txt'] = 'Is'; $wb['begins_with_txt'] = 'Begins with'; $wb['ends_with_txt'] = 'Ends with'; +$wb['regex_txt'] = 'Matches Regex'; $wb['delete_txt'] = 'Delete'; $wb['move_stop_txt'] = 'Move to'; $wb['header_txt'] = 'Header'; diff --git a/interface/web/mail/lib/lang/tr_mail_user_filter.lng b/interface/web/mail/lib/lang/tr_mail_user_filter.lng index 6d4e0b8868c128e6a834d7bcd397c49dd0629bd9..816174445b4031f181c79fe477118594c8caea82 100644 --- a/interface/web/mail/lib/lang/tr_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/tr_mail_user_filter.lng @@ -16,6 +16,7 @@ $wb['contains_txt'] = 'Åžunu içeren'; $wb['is_txt'] = 'Åžununla aynı'; $wb['begins_with_txt'] = 'Åžununla baÅŸlayan'; $wb['ends_with_txt'] = 'Åžununla biten'; +$wb['regex_txt'] = 'Matches Regex'; $wb['move_stop_txt'] = 'Åžuraya taşı'; $wb['delete_txt'] = 'Sil'; $wb['header_txt'] = 'BaÅŸlık'; diff --git a/security/ids.whitelist b/security/ids.whitelist index 6a953f45cf4216b4fef56ec565676b4dd2f8990a..d9b0ba70b5bbd06d8e51641597b38e25e8b04a92 100644 --- a/security/ids.whitelist +++ b/security/ids.whitelist @@ -55,4 +55,6 @@ user:/login/index.php:POST.password user:/mail/mail_domain_edit.php:POST.dkim_private user:/mail/mail_domain_edit.php:POST.dkim_public user:/mail/mail_domain_edit.php:POST.dns_record -user:/sites/web_vhost_domain_edit.php:POST.fastcgi_php_version \ No newline at end of file +admin:/mail/mail_user_filter_edit.php:POST.searchterm +user:/mail/mail_user_filter_edit.php:POST.searchterm +admin:/mail/mail_user_edit.php:POST.custom_mailfilter