--- loncom/interface/lonpreferences.pm 2003/04/01 22:21:45 1.18 +++ loncom/interface/lonpreferences.pm 2003/04/19 01:34:22 1.19 @@ -1,7 +1,7 @@ # The LearningOnline Network # Preferences # -# $Id: lonpreferences.pm,v 1.18 2003/04/01 22:21:45 www Exp $ +# $Id: lonpreferences.pm,v 1.19 2003/04/19 01:34:22 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -172,97 +172,146 @@ ENDVCSCREEN } ################################################################ -# Message Forward # +# Colors # ################################################################ -sub msgforwardchanger { +sub colorschanger { 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 $notification=$userenv{'notification'}; - my $critnotification=$userenv{'critnotification'}; my $bodytag=&Apache::loncommon::bodytag( - 'Change Your Message Forwarding and Notification'); - $r->print(< 'Page Background', + 'tabbg' => 'Header Background', + 'sidebg'=> 'Header Border', + 'font' => 'Font', + 'link' => 'Un-Visited Link', + 'vlink' => 'Visited Link', + 'alink' => 'Active Link'); + my $chtable=''; + foreach my $item (keys %colortypes) { + my $curcol=&Apache::loncommon::designparm($function.'.'.$item,$domain); + $chtable.=''.$colortypes{$item}.'      Select'; + } + $r->print(< + $bodytag
- -New Forwarding Address(es) (user:domain,user:domain,...): -
-New Message Notification Email Address(es) (joe\@doe.com,jane\@doe.edu,...): -
-New Critical Message Notification Email Address(es) (joe\@doe.com,jane\@doe.edu,...): -
+ + +$chtable +
-ENDMSG +ENDCOL } -sub verify_and_change_msgforward { +sub verify_and_change_colors { my $r = shift; - my $user = $ENV{'user.name'}; - my $domain = $ENV{'user.domain'}; - my $newscreen = ''; +# figure out colors + my $function='student'; + if ($ENV{'request.role'}=~/^(cc|in|ta|ep)/) { + $function='coordinator'; + } + if ($ENV{'request.role'}=~/^(su|dc|ad|li)/) { + $function='admin'; + } + if (($ENV{'request.role'}=~/^(au|ca)/) || + ($ENV{'REQUEST_URI'}=~/^(\/priv|\~)/)) { + $function='author'; + } + my $domain=&Apache::loncommon::determinedomain(); + my %colortypes=('pgbg' => 'Page Background', + 'tabbg' => 'Header Background', + 'sidebg'=> 'Header Border', + 'font' => 'Font', + 'link' => 'Un-Visited Link', + 'vlink' => 'Visited Link', + 'alink' => 'Active Link'); + 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 $notification=$ENV{'form.notification'}; - $notification=~s/\s//gs; - if ($notification) { - &Apache::lonnet::put('environment',{'notification' => $notification}); - &Apache::lonnet::appenv('environment.notification' => $notification); - $message.='Set message notification address to '.$notification.'
'; - } else { - &Apache::lonnet::del('environment',['notification']); - &Apache::lonnet::delenv('environment\.notification'); - $message.='Reset message notification
'; - } - my $critnotification=$ENV{'form.critnotification'}; - $critnotification=~s/\s//gs; - if ($critnotification) { - &Apache::lonnet::put('environment',{'critnotification' => $critnotification}); - &Apache::lonnet::appenv('environment.critnotification' => $critnotification); - $message.='Set critical message notification address to '.$critnotification; - } else { - &Apache::lonnet::del('environment',['critnotification']); - &Apache::lonnet::delenv('environment\.critnotification'); - $message.='Reset critical message notification
'; - } +# my $newscreen=''; +# $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 and Notifications'); - $r->print(<print(< $bodytag

$message -ENDVCMSG +ENDVCCOL } ###################################################### @@ -506,6 +555,10 @@ sub handler { &msgforwardchanger($r); } elsif ($ENV{'form.action'} eq 'verify_and_change_msgforward') { &verify_and_change_msgforward($r); + } elsif ($ENV{'form.action'} eq 'changecolors') { + &colorschanger($r); + } elsif ($ENV{'form.action'} eq 'verify_and_change_colors') { + &verify_and_change_colors($r); } elsif ($ENV{'form.action'} eq 'debugtoggle') { if ($ENV{'user.name'} eq 'albertel' ) { if ($ENV{'user.debug'}) { @@ -552,9 +605,16 @@ ENDMSGFORWARDFORM $r->print(< - + ENDABOUTME + $r->print(< + + + +ENDCOLORFORM + if ($ENV{'user.name'} eq 'albertel') { $r->print(<