--- loncom/interface/lonpreferences.pm 2003/08/29 03:08:18 1.27 +++ loncom/interface/lonpreferences.pm 2003/09/16 22:40:25 1.28 @@ -1,7 +1,7 @@ # The LearningOnline Network # Preferences # -# $Id: lonpreferences.pm,v 1.27 2003/08/29 03:08:18 bowersj2 Exp $ +# $Id: lonpreferences.pm,v 1.28 2003/09/16 22:40:25 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -101,6 +101,82 @@ sub des_decrypt { ################################################################ ################################################################ +# Language Change Subroutines # +################################################################ +sub languagechanger { + my $r = shift; + my $user = $ENV{'user.name'}; + my $domain = $ENV{'user.domain'}; + my %userenv = &Apache::lonnet::get + ('environment',['language','translator']); + my $language=$userenv{'language'}; + my $translator=$userenv{'translator'}; + my $bodytag=&Apache::loncommon::bodytag( + 'Change Your Language Preferences'); + $r->print(< +$bodytag + +
+ +
Preferred language: + +ENDLSCREEN + if ($ENV{'user.adv'}) { + $r->print (<Willing to translate for language: + +ENDTRSC + } + $r->print('
'); +} + + +sub verify_and_change_languages { + my $r = shift; + my $user = $ENV{'user.name'}; + my $domain = $ENV{'user.domain'}; +# Screenname + my $newlanguage = $ENV{'form.language'}; + $newlanguage=~s/[^\-\w]//g; + my $message=''; + if ($newlanguage) { + &Apache::lonnet::put('environment',{'language' => $newlanguage}); + &Apache::lonnet::appenv('environment.language' => $newlanguage); + $message='Set new preferred language to '.$newlanguage; + } else { + &Apache::lonnet::del('environment',['language']); + &Apache::lonnet::delenv('environment\.language'); + $message='Reset preferred language'; + } + if ($ENV{'user.adv'}) { + $message.='
'; + my $newtrans = $ENV{'form.translator'}; + $newtrans=~s/[^\-\w]//g; + if ($newtrans) { + &Apache::lonnet::put('environment',{'translator' => $newtrans}); + &Apache::lonnet::appenv('environment.translator' => $newtrans); + $message.='Set translator to '.$newtrans; + } else { + &Apache::lonnet::del('environment',['translator']); + &Apache::lonnet::delenv('environment\.translator'); + $message.='Reset translator'; + } + } + + my $bodytag=&Apache::loncommon::bodytag( + 'Change Your Language Preferences'); + $r->print(< +$bodytag +

+$message + +ENDVCSCREEN +} + + +################################################################ # Anonymous Discussion Name Change Subroutines # ################################################################ sub screennamechanger { @@ -657,6 +733,10 @@ sub handler { &colorschanger($r); } elsif ($ENV{'form.action'} eq 'verify_and_change_colors') { &verify_and_change_colors($r); + } elsif ($ENV{'form.action'} eq 'changelanguages') { + &languagechanger($r); + } elsif ($ENV{'form.action'} eq 'verify_and_change_languages') { + &verify_and_change_languages($r); } elsif ($ENV{'form.action'} eq 'debugtoggle') { if (($ENV{'user.name'} eq 'albertel' ) || ($ENV{'user.name'} eq 'kortemey' ) || @@ -715,6 +795,13 @@ ENDABOUTME ENDCOLORFORM + $r->print(< + + + +ENDLANGUAGES + if (($ENV{'user.name'} eq 'albertel' ) || ($ENV{'user.name'} eq 'kortemey' ) || ($ENV{'user.name'} eq 'korte')) {