+/**
+ * Message and Spam Filter Plugin
+ *
+ * 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$
+ * @package plugins
+ * @subpackage filters
+ */
+
+/** Path for SquirrelMail required files. */
+define('SM_PATH','../../');
+
+/* SquirrelMail required files. */
+require_once(SM_PATH . 'include/validate.php');
+require_once(SM_PATH . 'functions/page_header.php');
+require_once(SM_PATH . 'functions/imap.php');
+require_once(SM_PATH . 'functions/imap_mailbox.php');
+require_once(SM_PATH . 'include/load_prefs.php');
+require_once(SM_PATH . 'plugins/filters/filters.php');
+
+global $AllowSpamFilters;
+
+displayPageHeader($color, 'None');
+
+/* get globals */
+sqgetGlobalVar('username', $username, SQ_SESSION);
+sqgetGlobalVar('key', $key, SQ_COOKIE);
+sqgetGlobalVar('onetimepad', $onetimepad, SQ_SESSION);
+sqgetGlobalVar('delimiter', $delimiter, SQ_SESSION);
+
+sqgetGlobalVar('theid', $theid);
+sqgetGlobalVar('action', $action, SQ_GET);
+
+// FIXME: use sqgetGlobalVar below.
+
+ if (isset($_POST['filter_submit'])) {
+ if(isset($_GET['theid'])) {
+ $theid = $_GET['theid'];
+ } elseif (isset($_POST['theid'])) {
+ $theid = $_POST['theid'];
+ } else {
+ $theid = 0;
+ }
+ $filter_what = $_POST['filter_what'];
+ $filter_where = $_POST['filter_where'];
+ $filter_folder = $_POST['filter_folder'];
+
+ $filter_what = str_replace(',', ' ', $filter_what);
+ $filter_what = str_replace("\\\\", "\\", $filter_what);
+ $filter_what = str_replace("\\\"", '"', $filter_what);
+ $filter_what = str_replace('"', '"', $filter_what);
+
+ if (($filter_where == 'Header') && (strchr($filter_what,':') == '')) {
+ print ('WARNING! Header filters should be of the format "Header: value"<BR>');
+ $action = 'edit';
+ }
+ setPref($data_dir, $username, 'filter'.$theid, $filter_where.','.$filter_what.','.$filter_folder);
+ $filters[$theid]['where'] = $filter_where;
+ $filters[$theid]['what'] = $filter_what;
+ $filters[$theid]['folder'] = $filter_folder;