- /**
- ** Message and Spam Filter Plugin
- **
- ** Copyright (c) 1999-2001 The Squirrelmail Development 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.
- **
- **/
-
- chdir ('..');
- require_once('../src/validate.php');
- require_once('../functions/page_header.php');
- require_once('../functions/imap.php');
- require_once('../src/load_prefs.php');
-
- global $AllowSpamFilters;
-
- displayPageHeader($color, 'None');
-
- if (isset($spam_submit)) {
- $spam_filters = load_spam_filters();
- setPref($data_dir, $username, 'filters_spam_folder', $filters_spam_folder_set);
- setPref($data_dir, $username, 'filters_spam_scan', $filters_spam_scan_set);
- foreach ($spam_filters as $Key => $Value) {
- $input = $spam_filters[$Key]['prefname'] . '_set';
- setPref($data_dir, $username, $spam_filters[$Key]['prefname'],
- $$input);
- }
- }
-
- $filters_spam_folder = getPref($data_dir, $username, 'filters_spam_folder');
- $filters_spam_scan = getPref($data_dir, $username, 'filters_spam_scan');
- $filters = load_filters();
-
- echo "<table width=95% align=center border=0 cellpadding=2 cellspacing=0 bgcolor=\"$color[0]\">".
- '<tr><th align=center>' . _("Spam Filtering") . '</th></tr>'.
- '</table>';
-
- if ($SpamFilters_YourHop == ' ') {
- echo '<BR><center><b>' . _("WARNING! Tell your admin to set the SpamFilters_YourHop variable") . '</b></center><BR>';
+/**
+ * Message and Spam Filter Plugin
+ *
+ * Copyright (c) 1999-2002 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$
+ */
+
+/* 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 . 'include/load_prefs.php');
+require_once(SM_PATH . 'functions/html.php');
+require_once(SM_PATH . 'plugins/filters/filters.php');
+global $AllowSpamFilters;
+
+$username = $_SESSION['username'];
+$key = $_COOKIE['key'];
+$onetimepad = $_SESSION['onetimepad'];
+$delimiter = $_SESSION['delimiter'];
+
+if (isset($_GET['action'])) {
+ $action = $_GET['action'];
+}
+
+displayPageHeader($color, 'None');
+
+if (isset($_POST['spam_submit'])) {
+ $spam_filters = load_spam_filters();
+ setPref($data_dir, $username, 'filters_spam_folder', $_POST['filters_spam_folder_set']);
+ setPref($data_dir, $username, 'filters_spam_scan', $_POST['filters_spam_scan_set']);
+ foreach ($spam_filters as $Key => $Value) {
+ $input = $spam_filters[$Key]['prefname'] . '_set';
+ if ( isset( $_POST[$input] ) ) {
+ setPref( $data_dir, $username, $spam_filters[$Key]['prefname'],
+ $_POST[$input]);
+ } else {
+ removePref($data_dir, $username, $spam_filters[$Key]['prefname']);
+ }
+ }
+}
+
+$filters_spam_folder = getPref($data_dir, $username, 'filters_spam_folder');
+$filters_spam_scan = getPref($data_dir, $username, 'filters_spam_scan');
+$filters = load_filters();
+
+echo html_tag( 'table',
+ html_tag( 'tr',
+ html_tag( 'th', _("Spam Filtering"), 'center' )
+ ) ,
+ 'center', $color[0], 'width="95%" border="0" cellpadding="2" cellspacing="0"' );
+
+if ($SpamFilters_YourHop == ' ') {
+ echo '<br>' .
+ html_tag( 'div', '<b>' .
+ _("WARNING! Tell your admin to set the SpamFilters_YourHop variable") .
+ '</b>' ,
+ 'center' ) .
+ '<br>';
+}
+
+
+if (isset($action) && $action == 'spam') {
+ $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
+ $boxes = sqimap_mailbox_list($imapConnection);
+ sqimap_logout($imapConnection);
+ $numboxes = count($boxes);
+
+ for ($i = 0; $i < $numboxes && $filters_spam_folder == ''; $i++) {
+ if ((isset($boxes[$i]['flags'][0]) && $boxes[$i]['flags'][0] != 'noselect') &&
+ (isset($boxes[$i]['flags'][1]) && $boxes[$i]['flags'][1] != 'noselect') &&
+ (isset($boxes[$i]['flags'][2]) && $boxes[$i]['flags'][2] != 'noselect')) {
+ $filters_spam_folder = $boxes[$i]['unformatted'];
+ }