X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;ds=sidebyside;f=plugins%2Ffilters%2Ffilters.php;h=0882e4fe873e840b1e863dd08eb3a6a05cb9a489;hb=9a43a06b84a80b2e58df29095bcaed16ffd53e4f;hp=c326a1f5a7942b1f2cc85f5e044b507455c21d9e;hpb=f8a1ed5aa365d515e4e2ac3602f900bfb9447fce;p=squirrelmail.git diff --git a/plugins/filters/filters.php b/plugins/filters/filters.php index c326a1f5..0882e4fe 100644 --- a/plugins/filters/filters.php +++ b/plugins/filters/filters.php @@ -1,17 +1,44 @@ _("Message Filters"), @@ -165,11 +189,29 @@ function start_filters() { global $imapServerAddress, $imapPort, $imap_stream, $imapConnection, $UseSeparateImapConnection, $AllowSpamFilters; - if (!file_exists(SM_PATH . 'plugins/filters/config.php')) return; - sqgetGlobalVar('username', $username, SQ_SESSION); sqgetGlobalVar('key', $key, SQ_COOKIE); + $filters = load_filters(); + + // No point running spam filters if there aren't any to run // + if ($AllowSpamFilters) { + $spamfilters = load_spam_filters(); + + $AllowSpamFilters = false; + foreach($spamfilters as $key=>$value) { + if ($value['enabled'] == 'yes') { + $AllowSpamFilters = true; + break; + } + } + } + + if (!$AllowSpamFilters && empty($filters)) { + return; + } + + // Detect if we have already connected to IMAP or not. // Also check if we are forced to use a separate IMAP connection if ((!isset($imap_stream) && !isset($imapConnection)) || @@ -293,7 +335,7 @@ function filter_search_and_delete($imap_stream, $where, $what, $where_to, $user_ $search_str .= ' ' . $where . ' ' . $what; } else { $search_str .= ' ' . $where . ' {' . strlen($what) . "}\r\n" - . $what . "\r\n"; + . $what; } /* read data back from IMAP */ @@ -822,8 +864,6 @@ function filter_swap($id1, $id2) { */ function update_for_folder ($args) { - if (!file_exists(SM_PATH . 'plugins/filters/config.php')) return; - $old_folder = $args[0]; $new_folder = $args[2]; $action = $args[1]; @@ -863,4 +903,4 @@ function do_error($string) { echo "

\n"; } -?> \ No newline at end of file +?>