X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=plugins%2Ffilters%2Fspamoptions.php;h=730086cf6bc788496d49cbcb4862a7ec4e4f6aca;hp=06790a758348968d6faf7318cacc746acb2ceaec;hb=595848f9dbf9fda650ca1809f94702043dbc0f79;hpb=63277aaab639531ac0c8166676db7da838d68adc
diff --git a/plugins/filters/spamoptions.php b/plugins/filters/spamoptions.php
index 06790a75..730086cf 100644
--- a/plugins/filters/spamoptions.php
+++ b/plugins/filters/spamoptions.php
@@ -1,179 +1,239 @@
$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 (isset($action) && $action == 'spam') {
- $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
- $boxes = sqimap_mailbox_list($imapConnection);
- sqimap_logout($imapConnection);
- for ($i = 0; $i < count($boxes) && $filters_spam_folder == ''; $i++) {
- if ($boxes[$i]['flags'][0] != 'noselect' &&
- $boxes[$i]['flags'][1] != 'noselect' &&
- $boxes[$i]['flags'][2] != 'noselect') {
- $filters_spam_folder = $boxes[$i]['unformatted'];
- }
- }
-
- echo '';
-
- sqimap_logout($imapConnection);
- }
-
- if (! isset($action) || $action != 'spam') {
-
- echo '[' . _("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 '
'.
- "';
- }
-
+/**
+ * Message and Spam Filter Plugin - Spam Options
+ *
+ * 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.
+ *
+ * @version $Id$
+ * @copyright (c) 1999-2004 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @package plugins
+ * @subpackage filters
+ */
+
+/**
+ * Path for SquirrelMail required files.
+ * @ignore
+ */
+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;
+
+/* get globals */
+sqgetGlobalVar('username', $username, SQ_SESSION);
+sqgetGlobalVar('key', $key, SQ_COOKIE);
+sqgetGlobalVar('onetimepad', $onetimepad, SQ_SESSION);
+sqgetGlobalVar('delimiter', $delimiter, SQ_SESSION);
+
+sqgetGlobalVar('action', $action, SQ_GET);
+/* end globals */
+
+displayPageHeader($color, 'None');
+
+if (sqgetGlobalVar('spam_submit',$spam_submit,SQ_POST)) {
+ $spam_filters = load_spam_filters();
+
+ // setting spam folder
+ sqgetGlobalVar('filters_spam_folder_set',$filters_spam_folder_set,SQ_POST);
+ if (isset($filters_spam_folder_set)) {
+ setPref($data_dir, $username, 'filters_spam_folder', $filters_spam_folder_set);
+ } else {
+ echo _("You must select spam folder.");
+ }
+
+ // setting scan type
+ sqgetGlobalVar('filters_spam_scan_set',$filters_spam_scan_set,SQ_POST);
+ if (isset($filters_spam_scan_set)) {
+ setPref($data_dir, $username, 'filters_spam_scan', $filters_spam_scan_set);
+ } else {
+ echo _("You must select scan type.");
+ }
+
+ foreach ($spam_filters as $Key => $Value) {
+ $input = $spam_filters[$Key]['prefname'] . '_set';
+ if ( sqgetGlobalVar($input,$input_key,SQ_POST) ) {
+ setPref( $data_dir, $username, $spam_filters[$Key]['prefname'],$input_key);
+ } 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', '' .
+ sprintf(_("WARNING! Tell your admin to set the %s variable"),'SpamFilters_YourHop') .
+ '' ,
+ '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 '';
+} else {
+ // action is not set or action is not spam
+ echo html_tag( 'p', '', 'center' ) .
+ '[' . _("Edit") . ']' .
+ ' - [' . _("Done") . ']
';
+ printf( _("Spam is sent to %s"), ($filters_spam_folder?''.imap_utf7_decode_local($filters_spam_folder).'':'['._("not set yet").']' ) );
+ echo '
';
+ printf( _("Spam scan is limited to %s"), (($filters_spam_scan == 'new')?_("New Messages Only"):_("All Messages") ) );
+ echo ''.
+ '\n";
+
+ $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 '
';
+}
?>
+