X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;ds=sidebyside;f=plugins%2Ffilters%2Fspamoptions.php;h=015aa178657838e7aa59361ad06fdf1837a41638;hb=1ef78cdd5e87358bcff45a437d43bb97f28dec79;hp=d1492b4e92bff7e79e33ea1a7f64ae1b23dd2c98;hpb=b188caac77ed7dbbc7fd5bf82a800edbd3fc5a74;p=squirrelmail.git
diff --git a/plugins/filters/spamoptions.php b/plugins/filters/spamoptions.php
index d1492b4e..015aa178 100644
--- a/plugins/filters/spamoptions.php
+++ b/plugins/filters/spamoptions.php
@@ -1,183 +1,224 @@
$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 "
".
- '' . _("Spam Filtering") . ' |
'.
- '
';
-
- if ($SpamFilters_YourHop == ' ') {
- echo '
' . _("WARNING! Tell your admin to set the SpamFilters_YourHop variable") . '
';
+/**
+ * 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 '
' .
+ html_tag( 'div', '' .
+ _("WARNING! Tell your admin to set the SpamFilters_YourHop variable") .
+ '' ,
+ 'center' ) .
+ '
';
+}
+
+
+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'];
+ }
}
+ echo '';
+
+}
+
+if (! isset($_GET['action']) || $_GET['action'] != 'spam') {
+
+ echo html_tag( 'p', '', 'center' ) .
+ '[' . _("Edit") . ']' .
+ ' - [' . _("Done") . ']
';
+ printf( _("Spam is sent to %s"), ($filters_spam_folder?$filters_spam_folder:_("[not set yet]") ) );
+ echo '
';
+ printf( _("Spam scan is limited to %s"), (($filters_spam_scan == 'new')?_("New Messages Only"):_("All Messages") ) );
+ echo ''.
+ "";
+
+ $spam_filters = load_spam_filters();
+
+ foreach ($spam_filters as $Key => $Value) {
+ echo html_tag( 'tr' ) .
+ html_tag( 'th', '', 'center' );
+
+ if ($spam_filters[$Key]['enabled']) {
+ echo _("ON");
+ } else {
+ echo _("OFF");
+ }
+
+ echo '' .
+ html_tag( 'td', ' - ', 'left' ) .
+ html_tag( 'td', '', 'left' );
+
+ if ($spam_filters[$Key]['link']) {
+ echo '';
+ }
+
+ echo $spam_filters[$Key]['name'];
+ if ($spam_filters[$Key]['link']) {
+ echo '';
+ }
+ echo "\n";
+ }
+ echo '
';
+}
?>