--- loncom/interface/lonpreferences.pm 2002/04/30 14:03:52 1.8 +++ loncom/interface/lonpreferences.pm 2002/09/11 18:26:41 1.13 @@ -1,7 +1,7 @@ # The LearningOnline Network # Preferences # -# $Id: lonpreferences.pm,v 1.8 2002/04/30 14:03:52 matthew Exp $ +# $Id: lonpreferences.pm,v 1.13 2002/09/11 18:26:41 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -98,24 +98,21 @@ sub des_decrypt { ################################################################ # Handler subroutines # ################################################################ + +################################################################ +# Anonymous Discussion Name Change Subroutines # +################################################################ sub screennamechanger { my $r = shift; - my $errormessage = shift; - $errormessage = ($errormessage || ''); my $user = $ENV{'user.name'}; my $domain = $ENV{'user.domain'}; - my $homeserver = $ENV{'user.home'}; my %userenv = &Apache::lonnet::get('environment',['screenname']); my $screenname=$userenv{'screenname'}; + my $bodytag=&Apache::loncommon::bodytag( + 'Change Your Anonymous Screen Name'); $r->print(< - -

Preferences for $user

-

$user is a member of domain $domain

-$errormessage -

-Change anonymous discussion screen name for $user -

+$bodytag
@@ -132,7 +129,6 @@ sub verify_and_change_screenname { my $r = shift; my $user = $ENV{'user.name'}; my $domain = $ENV{'user.domain'}; - my $homeserver = $ENV{'user.home'}; my $newscreen = $ENV{'form.screenname'}; $newscreen=~s/\W//g; my $message=''; @@ -145,19 +141,83 @@ sub verify_and_change_screenname { &Apache::lonnet::delenv('environment\.screenname'); $message='Reset screenname'; } + my $bodytag=&Apache::loncommon::bodytag( + 'Change Your Anonymous Screen Name'); $r->print(< - -

Preferences for $user

-

$user is a member of domain $domain

-

-Change anonymous discussion screen name for $user +$bodytag

$message ENDVCSCREEN } +################################################################ +# Message Forward # +################################################################ + +sub msgforwardchanger { + my $r = shift; + my $user = $ENV{'user.name'}; + my $domain = $ENV{'user.domain'}; + my %userenv = &Apache::lonnet::get('environment',['msgforward']); + my $msgforward=$userenv{'msgforward'}; + my $bodytag=&Apache::loncommon::bodytag( + 'Change Your Message Forwarding'); + $r->print(< +$bodytag + + + +New Forwarding Address(es) (user:domain,user:domain,...): + + + + + +ENDMSG +} + +sub verify_and_change_msgforward { + my $r = shift; + my $user = $ENV{'user.name'}; + my $domain = $ENV{'user.domain'}; + my $newscreen = ''; + my $message=''; + foreach (split(/\,/,$ENV{'form.msgforward'})) { + my ($msuser,$msdomain)=split(/[\@\:]/,$_); + $msuser=~s/\W//g; + $msdomain=~s/\W//g; + if (($msuser) && ($msdomain)) { + if (&Apache::lonnet::homeserver($msuser,$msdomain) ne 'no_host') { + $newscreen.=$msuser.':'.$msdomain.','; + } else { + $message.='No such user: '.$msuser.':'.$msdomain.'
'; + } + } + } + $newscreen=~s/\,$//; + if ($newscreen) { + &Apache::lonnet::put('environment',{'msgforward' => $newscreen}); + &Apache::lonnet::appenv('environment.msgforward' => $newscreen); + $message.='Set new message forwarding to '.$newscreen; + } else { + &Apache::lonnet::del('environment',['msgforward']); + &Apache::lonnet::delenv('environment\.msgforward'); + $message.='Reset message forwarding'; + } + my $bodytag=&Apache::loncommon::bodytag( + 'Change Your Message Forwarding'); + $r->print(< +$bodytag +

+$message + +ENDVCMSG +} + ###################################################### # password handler subroutines # ###################################################### @@ -194,14 +254,17 @@ sub passwordchanger { $lkey_npass2= hex($lkey_npass2); # Output javascript to deal with passwords # Output DES javascript + $r->print(""); { my $include = $r->dir_config('lonIncludes'); my $jsh=Apache::File->new($include."/londes.js"); $r->print(<$jsh>); } + my $bodytag=&Apache::loncommon::bodytag('Change Password','', + 'onLoad="init();"'); $r->print(< + +$bodytag -

Preferences for $user

-

$user is a member of domain $domain

$errormessage -

-Change password for $user -

+