Source for file options.php
Documentation is available at options.php
* Message and Spam Filter Plugin - Filtering 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
* 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: options.php 14840 2020-01-07 07:42:38Z pdontthink $
* @copyright (c) 1999-2020 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* Path for SquirrelMail required files.
/* 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 .
'functions/forms.php');
require_once(SM_PATH .
'plugins/filters/filters.php');
global $AllowSpamFilters;
global $imap_stream_options; // in case not defined in config
if(! isset
($theid) ) $theid =
0;
// FIXME: write human readable error messages
$filter_what =
str_replace(',', '###COMMA###', $filter_what);
$filter_what =
str_replace("\\\\", "\\", $filter_what);
$filter_what =
str_replace('"', '"', $filter_what);
if (empty($filter_what)) {
do_error(_("WARNING! You must enter something to search for."));
if (($filter_where ==
'Header') &&
(strchr($filter_what,':') ==
'')) {
do_error(_("WARNING! Header filters should be of the format "Header: value""));
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') {
} elseif (isset
($action) &&
$action ==
'move_up') {
filter_swap($theid, $theid -
1);
} elseif (isset
($action) &&
$action ==
'move_down') {
filter_swap($theid, $theid +
1);
setPref($data_dir, $username, 'filters_user_scan', $filters_user_scan_set);
echo
'<br /><center><b>'.
_("Saved Scan type").
"</b></center>\n";
$filters =
load_filters();
$filters_user_scan =
getPref($data_dir, $username, 'filters_user_scan');
'<center><b>' .
_("Options") .
' - ' .
_("Message Filtering") .
'</b></center>' ,
'center', '', 'width="95%" border="0" cellpadding="2" cellspacing="0"'
'<br /><form method="post" action="options.php">'.
html_tag( 'table', '', '', '', 'border="0" cellpadding="2" cellspacing="0"' ) .
html_tag( 'th', _("What to Scan:"), 'right', '', 'nowrap' ) .
'<select name="filters_user_scan_set">'.
if ($filters_user_scan ==
'') {
echo
'>' .
_("All messages") .
'</option>'.
if ($filters_user_scan ==
'new') {
echo
'>' .
_("Only unread messages") .
'</option>' .
html_tag( 'td', '<input type="submit" name="user_submit" value="' .
_("Save") .
'" />', 'left' ) .
html_tag( 'div', '[<a href="options.php?action=add">' .
_("New") .
'</a>] - [<a href="'.
SM_PATH.
'src/options.php">' .
_("Done") .
'</a>]' ,
if (isset
($action) &&
($action ==
'add' ||
$action ==
'edit')) {
$imapConnection =
sqimap_login($username, $key, $imapServerAddress, $imapPort, 0, $imap_stream_options);
for ($a =
0, $cnt =
count($boxes); $a <
$cnt; $a++
) {
if (strtolower($boxes[$a]['formatted']) ==
'inbox') {
$theid =
count($filters);
'<form action="options.php" method="post">'.
html_tag( 'table', '', '', '', 'border="0" cellpadding="2" cellspacing="0"' ) .
'<select name="filter_where">';
$L = isset
($filters[$theid]['where']);
$sel =
(($L &&
$filters[$theid]['where'] ==
'From')?
'selected':
'');
echo
"<option value=\"From\" $sel>" .
_("From") .
'</option>';
$sel =
(($L &&
$filters[$theid]['where'] ==
'To')?
'selected':
'');
echo
"<option value=\"To\" $sel>" .
_("To") .
'</option>';
$sel =
(($L &&
$filters[$theid]['where'] ==
'Cc')?
'selected':
'');
echo
"<option value=\"Cc\" $sel>" .
_("Cc") .
'</option>';
$sel =
(($L &&
$filters[$theid]['where'] ==
'To or Cc')?
'selected':
'');
echo
"<option value=\"To or Cc\" $sel>" .
_("To or Cc") .
'</option>';
$sel =
(($L &&
$filters[$theid]['where'] ==
'Subject')?
'selected':
'');
echo
"<option value=\"Subject\" $sel>" .
_("Subject") .
'</option>';
$sel =
(($L &&
$filters[$theid]['where'] ==
'Header')?
'selected':
'');
echo
"<option value=\"Header\" $sel>" .
_("Header") .
'</option>';
'<input type="text" size="32" name="filter_what" value="';
if (isset
($filters[$theid]['what'])) {
'<select name="filter_folder">';
if ( isset
($filters[$theid]['folder']) )
$selected =
array(strtolower($filters[$theid]['folder']));
'<input type="submit" name="filter_submit" value="' .
_("Submit") .
"\" />\n".
echo
html_tag( 'table', '', 'center', '', 'border="0" cellpadding="3" cellspacing="0"' );
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"];
"[<a href=\"options.php?theid=$i&action=edit\">" .
_("Edit") .
'</a>]'.
"[<a href=\"options.php?theid=$i&action=delete\">" .
_("Delete") .
'</a>]'.
echo
html_tag( 'td', '', 'center' ) .
'<small>[';
if (isset
($filters[$i +
1])) {
echo
"<a href=\"options.php?theid=$i&action=move_down\">" .
_("Down") .
'</a>';
echo
"<a href=\"options.php?theid=$i&action=move_up\">" .
_("Up") .
'</a>';
printf( _("If %s contains %s then move to %s"),
'<b>'.
$filters[$i]['where'].
'</b>',
'<b>'.
$filters[$i]['what'].
'</b>',
'center', '', 'width="80%" border="0" cellpadding="2" cellspacing="0"' );
Documentation generated on Mon, 13 Jan 2020 04:25:05 +0100 by phpDocumentor 1.4.3