--- loncom/interface/lonpreferences.pm 2002/09/11 18:26:41 1.13 +++ loncom/interface/lonpreferences.pm 2002/09/13 19:32:09 1.14 @@ -1,7 +1,7 @@ # The LearningOnline Network # Preferences # -# $Id: lonpreferences.pm,v 1.13 2002/09/11 18:26:41 www Exp $ +# $Id: lonpreferences.pm,v 1.14 2002/09/13 19:32:09 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -106,18 +106,22 @@ sub screennamechanger { my $r = shift; my $user = $ENV{'user.name'}; my $domain = $ENV{'user.domain'}; - my %userenv = &Apache::lonnet::get('environment',['screenname']); + my %userenv = &Apache::lonnet::get + ('environment',['screenname','nickname']); my $screenname=$userenv{'screenname'}; + my $nickname=$userenv{'nickname'}; my $bodytag=&Apache::loncommon::bodytag( - 'Change Your Anonymous Screen Name'); + 'Change Your Nickname and Anonymous Screen Name'); $r->print(< $bodytag
-New screenname: +
New screenname (shown if you post anonymously): +
New nickname (shown if you post non-anonymously): +
@@ -129,8 +133,9 @@ sub verify_and_change_screenname { my $r = shift; my $user = $ENV{'user.name'}; my $domain = $ENV{'user.domain'}; +# Screenname my $newscreen = $ENV{'form.screenname'}; - $newscreen=~s/\W//g; + $newscreen=~s/[^ \w]//g; my $message=''; if ($newscreen) { &Apache::lonnet::put('environment',{'screenname' => $newscreen}); @@ -141,8 +146,22 @@ sub verify_and_change_screenname { &Apache::lonnet::delenv('environment\.screenname'); $message='Reset screenname'; } +# Nickname + $message.='
'; + my $newscreen = $ENV{'form.nickname'}; + $newscreen=~s/[^ \w]//g; + if ($newscreen) { + &Apache::lonnet::put('environment',{'nickname' => $newscreen}); + &Apache::lonnet::appenv('environment.nickname' => $newscreen); + $message.='Set new nickname to '.$newscreen; + } else { + &Apache::lonnet::del('environment',['nickname']); + &Apache::lonnet::delenv('environment\.nickname'); + $message.='Reset nickname'; + } + my $bodytag=&Apache::loncommon::bodytag( - 'Change Your Anonymous Screen Name'); + 'Change Your Nickname and Anonymous Screen Name'); $r->print(< $bodytag @@ -472,22 +491,23 @@ ENDHEADER if ($currentauth =~ /^(unix|internal):/) { $r->print(< - - + + ENDPASSWORDFORM } # Change screen name $r->print(< - - + + ENDSCREENNAMEFORM $r->print(< - - + + ENDMSGFORWARDFORM # The "about me" page @@ -495,8 +515,8 @@ ENDMSGFORWARDFORM '/adm/'.$ENV{'user.domain'}.'/'.$ENV{'user.name'}.'/aboutme'; $r->print(< - - + + ENDABOUTME # Other preference setting code should be added here