--- loncom/interface/lonpreferences.pm 2002/03/30 17:59:34 1.5 +++ loncom/interface/lonpreferences.pm 2002/03/30 23:27:00 1.6 @@ -1,7 +1,7 @@ # The LearningOnline Network # Preferences # -# $Id: lonpreferences.pm,v 1.5 2002/03/30 17:59:34 www Exp $ +# $Id: lonpreferences.pm,v 1.6 2002/03/30 23:27:00 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -105,6 +105,8 @@ sub screennamechanger { 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'}; $r->print(< @@ -114,10 +116,48 @@ $errormessage

Change anonymous discussion screen name for $user

+ +
+ +New screenname: + + +
ENDSCREEN } + +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=''; + if ($newscreen) { + my %tmp; + $tmp{'screenname'}=$newscreen; + &Apache::lonnet::put('environment',\%tmp); + $message='Set new screenname to '.$newscreen; + } else { + &Apache::lonnet::del('environment',['screenname']); + $message='Reset screenname'; + } + $r->print(< + +

Preferences for $user

+

$user is a member of domain $domain

+

+Change anonymous discussion screen name for $user +

+$message + +ENDVCSCREEN +} + ###################################################### # password handler subroutines # ###################################################### @@ -356,6 +396,8 @@ sub handler { &verify_and_change_password($r); } elsif ($ENV{'form.action'} eq 'changescreenname') { &screennamechanger($r); + } elsif ($ENV{'form.action'} eq 'verify_and_change_screenname') { + &verify_and_change_screenname($r); } else { $r->print(<