X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=plugins%2Ffilters%2Foptions.php;h=33aecc752ed3803b2a4faf07da8105c591f05a35;hb=5b4ba967c2353d583ae6f010a3bf51a86febc057;hp=0fde042ad636b77ef8e60fec887ea512fa7b6c87;hpb=2a61e066ebd8b2a3abdfbd0eb8d4f38161b4e658;p=squirrelmail.git diff --git a/plugins/filters/options.php b/plugins/filters/options.php index 0fde042a..33aecc75 100644 --- a/plugins/filters/options.php +++ b/plugins/filters/options.php @@ -3,7 +3,7 @@ /** * Message and Spam Filter Plugin * - * Copyright (c) 1999-2002 The SquirrelMail Project Team + * Copyright (c) 1999-2004 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 @@ -22,61 +22,129 @@ * * Also view plugins/README.plugins for more information. * - * $Id$ + * @version $Id$ + * @package plugins + * @subpackage filters */ - 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($filter_submit)) { - if (!isset($theid)) $theid = 0; - $filter_what = ereg_replace(",", " ", $filter_what); +/** + * 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 . '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); - - 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; + $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"
'); + $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; } elseif (isset($action) && $action == 'delete') { remove_filter($theid); } elseif (isset($action) && $action == 'move_up') { filter_swap($theid, $theid - 1); } elseif (isset($action) && $action == 'move_down') { filter_swap($theid, $theid + 1); + } elseif (isset($_POST['user_submit'])) { + setPref($data_dir, $username, 'filters_user_scan', $_POST['filters_user_scan_set']); + echo '
'._("Saved Scan type")."
\n"; } $filters = load_filters(); - - echo '
' . - ''. - "
". - '
' . _("Options") . ' - ' . _("Message Filtering") . '
'. - '
'. - '
[' . _("New") . - '] - [' . _("Done") . ']

'; + $filters_user_scan = getPref($data_dir, $username, 'filters_user_scan'); + + echo html_tag( 'table', + html_tag( 'tr', + html_tag( 'td', + '
' . _("Options") . ' - ' . _("Message Filtering") . '
' , + 'left', $color[0] ) + ) , + 'center', '', 'width="95%" border="0" cellpadding="2" cellspacing="0"' ) . + + '
'. + '
'. + html_tag( 'table', '', '', '', 'border="0" cellpadding="2" cellspacing="0"' ) . + html_tag( 'tr' ) . + html_tag( 'th', _("What to Scan:"), 'right', '', 'nowrap' ) . + html_tag( 'td', '', 'left' ) . + ''. + ''. + html_tag( 'td', '', 'left' ) . + ''. + '
'. + '
'. + + html_tag( 'div', '[' . _("New") . + '] - [' . _("Done") . ']' , + 'center' ) . '
'; if (isset($action) && ($action == 'add' || $action == 'edit')) { + $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); $boxes = sqimap_mailbox_list($imapConnection); sqimap_logout($imapConnection); if ( !isset($theid) ) { $theid = count($filters); } - echo '
'. + echo html_tag( 'div', '', 'center' ) . '
'. - ''. - ''. - ''. - ''. ''. - ''. - ''. - ''. ''. - ''. - ''. - ''. @@ -138,21 +197,28 @@ ''. "". ''. - ''; + ''; } - echo '
' . _("Match:") . ''. + html_tag( 'table', '', '', '', 'border="0" cellpadding="2" cellspacing="0"' ) . + html_tag( 'tr' ) . + html_tag( 'td', _("Match:"), 'left' ) . + html_tag( 'td', '', 'left' ) . ''. '
'. - _("Contains:"). - ''. + html_tag( 'tr' ) . + html_tag( 'td', _("Contains:"), 'right' ) . + html_tag( 'td', '', 'left' ) . ''. '
'. - _("Move to:"). - ''. + html_tag( 'tr' ) . + html_tag( 'td', _("Move to:"), 'left' ) . + html_tag( 'td', '', 'left' ) . ''. ''. '
'; + echo html_tag( 'table', '', 'center', '', 'border="0" cellpadding="3" cellspacing="0"' ); - for ($i=0; $i < count($filters); $i++) { + for ($i=0, $num = count($filters); $i < $num; $i++) { $clr = (($i % 2)?$color[0]:$color[9]); $fdr = ($folder_prefix)?str_replace($folder_prefix, "", $filters[$i]["folder"]):$filters[$i]["folder"]; - echo "'. + html_tag( 'td', '-', 'left' ) . + html_tag( 'td', '', 'left' ); + printf( _("If %s contains %s then move to %s"), $filters[$i]['where'], $filters[$i]['what'], $fdr ); echo ''; } echo '
". - "[" . _("Edit") . ']'. - ''. - "[" . _("Delete") . ']'. - '['; + echo html_tag( 'tr', '', '', $clr ) . + html_tag( 'td', + '' . + "[" . _("Edit") . ']'. + '' , + 'left' ) . + html_tag( 'td', + '' . + "[" . _("Delete") . ']'. + '' , + 'left' ) . + html_tag( 'td', '', 'center' ) . '['; if (isset($filters[$i + 1])) { echo "" . _("Down") . ''; @@ -163,14 +229,18 @@ if ($i > 0) { echo "" . _("Up") . ''; } - echo ']-'; - printf( _("If %s contains %s then move to %s"), _($filters[$i]['where']), $filters[$i]['what'], $fdr ); + echo ']
'. - ''. - ''. - '
 
'; - -?> + html_tag( 'table', + html_tag( 'tr', + html_tag( 'td', ' ', 'left' ) + ) , + 'center', '', 'width="80%" border="0" cellpadding="2" cellspacing="0"' ); + echo ''; +?> \ No newline at end of file