From 23ebba1b7991f97e1b644e0c42bb9b88cb8543fa Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Thu, 28 Jul 2011 14:08:44 -0700 Subject: [PATCH] Make charset default more sensible https://sourceforge.net/tracker/?func=detail&atid=117457&aid=3380730&group_id=17457 --- filter/edit.cgi | 6 ++++-- filter/edit_auto.cgi | 16 +++++++++++++--- filter/lang/en | 2 ++ filter/save_auto.cgi | 5 ++++- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/filter/edit.cgi b/filter/edit.cgi index ed9f017ac..24ee3f22e 100755 --- a/filter/edit.cgi +++ b/filter/edit.cgi @@ -227,6 +227,8 @@ else { $text{'index_noperiod'})." ".$text{'index_mins'}. " \n"; } +$cs = !$in{'new'} ? $r->{'charset'} : + &get_charset() eq $default_charset ? undef : &get_charset(); print &ui_table_row( &ui_oneradio("amode", 6, $text{'edit_amode6'}, $amode == 6), &ui_textarea("reply", $filter->{'reply'}->{'autotext'}, 5, 60)."
". @@ -241,8 +243,8 @@ print &ui_table_row( "dend", "mend", "yend")." ". &date_chooser_button("dend", "mend", "yend")." \n". " $text{'index_charset'} ". - "".&ui_opt_textbox("charset", $r->{'charset'}, 20, - $text{'default'}." (iso-8859-1)")." \n". + "".&ui_opt_textbox("charset", $cs, 20, + $text{'default'}." ($default_charset)")." \n". "", undef, \@tds); diff --git a/filter/edit_auto.cgi b/filter/edit_auto.cgi index 4dc6bcda0..2c04039b7 100755 --- a/filter/edit_auto.cgi +++ b/filter/edit_auto.cgi @@ -25,13 +25,23 @@ print &ui_table_row($text{'auto_enabled'}, # Message print &ui_table_row($text{'auto_reply'}, - &ui_textarea("reply", $filter->{'reply'}->{'autotext'}, 5, 80, + &ui_textarea("reply", + $filter ? $filter->{'reply'}->{'autotext'} : "", 5, 80, undef, $dis)); # Character set +$cs = $filter ? $filter->{'reply'}->{'charset'} : + &get_charset() eq $default_charset ? undef : &get_charset(); +$csmode = $cs eq &get_charset() ? 2 : + $cs ? 0 : 1; print &ui_table_row($text{'auto_charset'}, - &ui_opt_textbox("charset", $filter->{'reply'}->{'charset'}, 20, - $text{'default'}." (iso-8859-1)")); + &ui_radio("charset_def", $csmode, + [ [ 1, $text{'default'}." ($default_charset)" ], + &get_charset() eq $default_charset ? ( ) : + ( [ 2, $text{'auto_charsetdef'}. + " (".&get_charset().")" ] ), + [ 0, $text{'auto_charsetother'} ] ])." ". + &ui_textbox("charset", $csmode == 0 ? $cs : "", 20)); # Period if (!$config{'reply_force'}) { diff --git a/filter/lang/en b/filter/lang/en index 1b3253968..9abac55e8 100644 --- a/filter/lang/en +++ b/filter/lang/en @@ -105,6 +105,8 @@ auto_header=Automatic email reply options auto_enabled=Automatic response enabled? auto_reply=Reply message auto_charset=Message character set +auto_charsetdef=From current language +auto_charsetother=Other character set auto_period=Minimum interval between replies auto_err=Failed to save automatic reply diff --git a/filter/save_auto.cgi b/filter/save_auto.cgi index 6dff3fedf..c0946b56f 100755 --- a/filter/save_auto.cgi +++ b/filter/save_auto.cgi @@ -63,9 +63,12 @@ elsif ($in{'enabled'}) { } # Save character set - if ($in{'charset_def'}) { + if ($in{'charset_def'} == 1) { delete($filter->{'reply'}->{'charset'}); } + elsif ($in{'charset_def'} == 2) { + $filter->{'reply'}->{'charset'} = &get_charset(); + } else { $in{'charset'} =~ /^[a-z0-9\.\-\_]+$/i || error($text{'save_echarset'});