- * Copyright (c) 1999-2003 The SquirrelMail Project Team
- * Licensed under the GNU GPL. For full terms see the file COPYING.
- *
- * This plugin filters your inbox into different folders based upon given
- * criteria. It is most useful for people who are subscibed to mailing lists
- * to help organize their messages. The argument stands that filtering is
- * not the place of the client, which is why this has been made a plugin for
- * SquirrelMail. You may be better off using products such as Sieve or
- * Procmail to do your filtering so it happens even when SquirrelMail isn't
- * running.
- *
- * If you need help with this, or see improvements that can be made, please
- * email me directly at the address above. I definately welcome suggestions
- * and comments. This plugin, as is the case with all SquirrelMail plugins,
- * is not directly supported by the developers. Please come to me off the
- * mailing list if you have trouble with it.
- *
- * Also view plugins/README.plugins for more information.
- *
- * $Id$
+ * @copyright © 1999-2005 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @version $Id$
+ * @package plugins
+ * @subpackage filters
+ */
+
+/** @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
+ * @access private
+ */
+function filters_init_hooks () {
+ global $squirrelmail_plugin_hooks;
+
+ if (! sqgetGlobalVar('mailbox',$mailbox,SQ_FORM)) {
+ $mailbox = 'INBOX';
+ }
+
+ $squirrelmail_plugin_hooks['left_main_before']['filters'] = 'start_filters_hook';
+ if (isset($mailbox) && $mailbox == 'INBOX') {
+ $squirrelmail_plugin_hooks['right_main_after_header']['filters'] = 'start_filters_hook';
+ }
+ $squirrelmail_plugin_hooks['optpage_register_block']['filters'] = 'filters_optpage_register_block_hook';
+ $squirrelmail_plugin_hooks['special_mailbox']['filters'] = 'filters_special_mailbox';
+ $squirrelmail_plugin_hooks['rename_or_delete_folder']['filters'] = 'update_for_folder_hook';
+ $squirrelmail_plugin_hooks['webmail_bottom']['filters'] = 'start_filters_hook';
+}
+
+/**
+ * Register option blocks
+ * @access private