X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=plugins%2Ffilters%2Foptions.php;h=40bff9c12b9d2fbb02fa293851a5db58b8b98fb1;hb=ddc94fcb79bf871503fd28902bfe3bba9388e387;hp=3d2f60ae6e72b170bc015429ba33369d393a8a0a;hpb=dcc1cc825e550711d0207a737f9ea3ac2b38e923;p=squirrelmail.git diff --git a/plugins/filters/options.php b/plugins/filters/options.php index 3d2f60ae..40bff9c1 100644 --- a/plugins/filters/options.php +++ b/plugins/filters/options.php @@ -1,10 +1,6 @@ '); - $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') { +if (sqgetGlobalVar('filter_submit',$filter_submit,SQ_POST)) { + + if(! isset($theid) ) $theid = 0; + + $complete_post=true; + + // FIXME: write human readable error messages + sqgetGlobalVar('filter_what', $filter_what, SQ_POST); + if (!sqgetGlobalVar('filter_what', $filter_what, SQ_POST)) { + do_error("Post error"); + $complete_post=false; + } + + sqgetGlobalVar('filter_where', $filter_where, SQ_POST); + if (!sqgetGlobalVar('filter_where', $filter_where, SQ_POST)) { + do_error("Post error"); + $complete_post=false; + } + + sqgetGlobalVar('filter_folder', $filter_folder, SQ_POST); + if (!sqgetGlobalVar('filter_folder', $filter_folder, SQ_POST)) { + do_error("Post error"); + $complete_post=false; + } + + if ($complete_post) { + $filter_what = str_replace(',', ' ', $filter_what); + $filter_what = str_replace("\\\\", "\\", $filter_what); + $filter_what = str_replace("\\\"", '"', $filter_what); + $filter_what = str_replace('"', '"', $filter_what); + + if (($filter_where == 'Header') && (strchr($filter_what,':') == '')) { + do_error(_("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') { +} elseif (isset($action) && $action == 'move_up') { filter_swap($theid, $theid - 1); - } elseif (isset($action) && $action == 'move_down') { +} 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"; - } +} elseif (sqgetGlobalVar('user_submit',$user_submit,SQ_POST)) { + sqgetGlobalVar('filters_user_scan_set',$filters_user_scan_set,SQ_POST); + setPref($data_dir, $username, 'filters_user_scan', $filters_user_scan_set); + echo '
'._("Saved Scan type")."
\n"; +} $filters = load_filters(); $filters_user_scan = getPref($data_dir, $username, 'filters_user_scan'); @@ -95,12 +111,13 @@ sqgetGlobalVar('action', $action, SQ_GET); 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"' ) . - - '
'. + '
' . _("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' ) . @@ -119,14 +136,14 @@ sqgetGlobalVar('action', $action, SQ_GET); echo '>' . _("Only unread messages") . '' . ''. ''. - html_tag( 'td', '', 'left' ) . + html_tag( 'td', '', 'left' ) . ''. '
'. '
'. html_tag( 'div', '[' . _("New") . '] - [' . _("Done") . ']' , - 'center' ) . '
'; + 'center' ) . '
'; if (isset($action) && ($action == 'add' || $action == 'edit')) { @@ -137,32 +154,32 @@ sqgetGlobalVar('action', $action, SQ_GET); $theid = count($filters); } echo html_tag( 'div', '', 'center' ) . - '
'. + ''. html_tag( 'table', '', '', '', 'border="0" cellpadding="2" cellspacing="0"' ) . html_tag( 'tr' ) . html_tag( 'td', _("Match:"), 'left' ) . html_tag( 'td', '', 'left' ) . - ''; $L = isset($filters[$theid]['where']); $sel = (($L && $filters[$theid]['where'] == 'From')?'selected':''); - echo "'; + echo "'; $sel = (($L && $filters[$theid]['where'] == 'To')?'selected':''); - echo "'; + echo "'; $sel = (($L && $filters[$theid]['where'] == 'Cc')?'selected':''); - echo "'; + echo "'; $sel = (($L && $filters[$theid]['where'] == 'To or Cc')?'selected':''); - echo "'; + echo "'; $sel = (($L && $filters[$theid]['where'] == 'Subject')?'selected':''); - echo "'; + echo "'; $sel = (($L && $filters[$theid]['where'] == 'Header')?'selected':''); - echo "'; + echo "'; echo ''. ''. @@ -170,18 +187,18 @@ sqgetGlobalVar('action', $action, SQ_GET); html_tag( 'tr' ) . html_tag( 'td', _("Contains:"), 'right' ) . html_tag( 'td', '', 'left' ) . - ''. + echo '" />'. ''. ''. html_tag( 'tr' ) . html_tag( 'td', _("Move to:"), 'left' ) . html_tag( 'td', '', 'left' ) . ''. - ''; $selected = 0; if ( isset($filters[$theid]['folder']) ) $selected = array(strtolower($filters[$theid]['folder'])); @@ -191,14 +208,14 @@ sqgetGlobalVar('action', $action, SQ_GET); ''. ''. ''. - ''. - "". + '\n". + addHidden('theid', $theid). ''. ''; } - echo html_tag( 'table', '', 'center', '', 'border="0" cellpadding="3" cellspacing="0"' ); + echo html_tag( 'table', '', 'center', '', 'border="0" cellpadding="3" cellspacing="0"' ); for ($i=0, $num = count($filters); $i < $num; $i++) { @@ -207,29 +224,34 @@ sqgetGlobalVar('action', $action, SQ_GET); echo html_tag( 'tr', '', '', $clr ) . html_tag( 'td', '' . - "[" . _("Edit") . ']'. + "[" . _("Edit") . ']'. '' , 'left' ) . html_tag( 'td', '' . - "[" . _("Delete") . ']'. + "[" . _("Delete") . ']'. '' , - 'left' ) . - html_tag( 'td', '', 'center' ) . '['; + 'left' ); - if (isset($filters[$i + 1])) { - echo "" . _("Down") . ''; + if ($num > 1) { + echo html_tag( 'td', '', 'center' ) . '['; + if (isset($filters[$i + 1])) { + echo "" . _("Down") . ''; + if ($i > 0) { + echo ' | '; + } + } if ($i > 0) { - echo ' | '; + echo "" . _("Up") . ''; } + echo ']'; } - if ($i > 0) { - echo "" . _("Up") . ''; - } - 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 html_tag( 'td', '-', 'left' ) . + html_tag( 'td', '', 'left' ); + printf( _("If %s contains %s then move to %s"), + ''.$filters[$i]['where'].'', + ''.$filters[$i]['what'].'', + ''.imap_utf7_decode_local($fdr).''); echo ''; } @@ -240,4 +262,4 @@ sqgetGlobalVar('action', $action, SQ_GET); ) , 'center', '', 'width="80%" border="0" cellpadding="2" cellspacing="0"' ); echo ''; -?> \ No newline at end of file +?>