<?php
+
/**
* Message and Spam Filter Plugin - Filtering Functions
*
- * @version $Id$
- * @copyright (c) 1999-2005 The SquirrelMail Project Team
+ * @copyright © 1999-2005 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @version $Id$
* @package plugins
* @subpackage filters
*/
-/** load config */
-if (file_exists(SM_PATH . 'plugins/filters/config.php'))
+/** @ignore */
+if (! defined('SM_PATH')) define('SM_PATH','../../');
+
+/** load globals */
+global $UseSeparateImapConnection,
+ $AllowSpamFilters, $SpamFilters_YourHop, $SpamFilters_ShowCommercial,
+ $SpamFilters_DNScache, $SpamFilters_BulkQuery, $SpamFilters_SharedCache,
+ $SpamFilters_CacheTTL;
+
+/** load default config */
+if (file_exists(SM_PATH . 'plugins/filters/config_default.php')) {
+ include_once (SM_PATH . 'plugins/filters/config_default.php');
+} else {
+ // default config was removed.
+ $UseSeparateImapConnection = false;
+ $AllowSpamFilters = true;
+ $SpamFilters_YourHop = ' ';
+ $SpamFilters_ShowCommercial = false;
+ $SpamFilters_DNScache = array();
+ $SpamFilters_BulkQuery = '';
+ $SpamFilters_SharedCache = true;
+ $SpamFilters_CacheTTL = 7200;
+}
+
+if (file_exists(SM_PATH . 'config/filters_config.php')) {
+ include_once (SM_PATH . 'config/filters_config.php');
+} elseif (file_exists(SM_PATH . 'plugins/filters/config.php')) {
include_once (SM_PATH . 'plugins/filters/config.php');
+}
/**
* Init Hooks
*/
function filters_init_hooks () {
global $squirrelmail_plugin_hooks;
- if (!file_exists(SM_PATH . 'plugins/filters/config.php')) return;
- if (sqgetGlobalVar('mailbox',$mailbox,SQ_FORM)) {
- sqgetGlobalVar('mailbox',$mailbox,SQ_FORM);
- } else {
+
+ if (! sqgetGlobalVar('mailbox',$mailbox,SQ_FORM)) {
$mailbox = 'INBOX';
}
*/
function filters_optpage_register_block() {
global $optpage_blocks, $AllowSpamFilters;
- if (!file_exists(SM_PATH . 'plugins/filters/config.php')) return;
$optpage_blocks[] = array(
'name' => _("Message 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)) ||
$search_str .= ' ' . $where . ' ' . $what;
} else {
$search_str .= ' ' . $where . ' {' . strlen($what) . "}\r\n"
- . $what . "\r\n";
+ . $what;
}
/* read data back from IMAP */
*/
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];
echo "</font></p>\n";
}
-?>
\ No newline at end of file
+?>