@@ -137,8 +137,14 @@ private function mail_user_filter_get_rule($page_form) {
137137 $ content = '' ;
138138 $ content .= '### BEGIN FILTER_ID: ' .$ page_form ->id ."\n" ;
139139
140- //$content .= 'require ["fileinto", "regex", "vacation"];'."\n";
141-
140+ if ($ page_form ->dataRecord ["source " ] == 'Header ' ) {
141+ $ parts = explode (': ' ,trim ($ page_form ->dataRecord ["searchterm " ]));
142+ $ page_form ->dataRecord ["source " ] = trim ($ parts [0 ]);
143+ unset($ parts [0 ]);
144+ $ page_form ->dataRecord ["searchterm " ] = trim (implode (': ' ,$ parts ));
145+ unset($ parts );
146+ }
147+
142148 if ($ page_form ->dataRecord ["op " ] == 'domain ' ) {
143149 $ content .= 'if address :domain :is " ' .strtolower ($ page_form ->dataRecord ["source " ]).'" " ' .$ page_form ->dataRecord ["searchterm " ].'" { ' ."\n" ;
144150 } elseif ($ page_form ->dataRecord ["op " ] == 'localpart ' ) {
@@ -152,15 +158,7 @@ private function mail_user_filter_get_rule($page_form) {
152158 $ content .= 'if size :over ' .intval ($ page_form ->dataRecord ["searchterm " ]).$ unit .' { ' ."\n" ;
153159 } else {
154160
155- if ($ page_form ->dataRecord ["source " ] == 'Header ' ) {
156- $ parts = explode (': ' ,trim ($ page_form ->dataRecord ["searchterm " ]));
157- $ page_form ->dataRecord ["source " ] = trim ($ parts [0 ]);
158- unset($ parts [0 ]);
159- $ page_form ->dataRecord ["searchterm " ] = trim (implode (': ' ,$ parts ));
160- unset($ parts );
161- }
162-
163- $ content .= 'if header :regex [" ' .strtolower ($ page_form ->dataRecord ["source " ]).'"] [" ' ;
161+ $ content .= 'if header :regex " ' .strtolower ($ page_form ->dataRecord ["source " ]).'" [" ' ;
164162
165163 # special chars in sieve regex must be escaped with double-backslash
166164 if ($ page_form ->dataRecord ["op " ] == 'regex ' ) {
0 commit comments