--- loncom/interface/lonpreferences.pm 2005/03/22 17:15:22 1.58
+++ loncom/interface/lonpreferences.pm 2005/06/06 16:23:55 1.62
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Preferences
#
-# $Id: lonpreferences.pm,v 1.58 2005/03/22 17:15:22 matthew Exp $
+# $Id: lonpreferences.pm,v 1.62 2005/06/06 16:23:55 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -40,6 +40,7 @@ use DynaLoader; # for Crypt::DES version
use Apache::loncommon();
use Apache::lonhtmlcommon();
use Apache::lonlocal;
+use Apache::lonnet;
#
# Write lonnet::passwd to do the call below.
@@ -118,7 +119,7 @@ ENDLSCREEN
sub verify_and_change_wysiwyg {
my $r = shift;
- my $newsetting=$ENV{'form.wysiwyg'};
+ my $newsetting=$env{'form.wysiwyg'};
&Apache::lonnet::put('environment',{'wysiwygeditor' => $newsetting});
&Apache::lonnet::appenv('environment.wysiwygeditor' => $newsetting);
$r->print('
'.&mt('Setting WYSIWYG editor to:').' '.&mt($newsetting).'
');
@@ -129,8 +130,8 @@ sub verify_and_change_wysiwyg {
################################################################
sub languagechanger {
my $r = shift;
- my $user = $ENV{'user.name'};
- my $domain = $ENV{'user.domain'};
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
my %userenv = &Apache::lonnet::get
('environment',['languages']);
my $language=$userenv{'languages'};
@@ -156,10 +157,10 @@ ENDLSCREEN
sub verify_and_change_languages {
my $r = shift;
- my $user = $ENV{'user.name'};
- my $domain = $ENV{'user.domain'};
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
# Screenname
- my $newlanguage = $ENV{'form.language'};
+ my $newlanguage = $env{'form.language'};
$newlanguage=~s/[^\-\w]//g;
my $message='';
if ($newlanguage) {
@@ -181,8 +182,8 @@ ENDVCSCREEN
################################################################
sub texenginechanger {
my $r = shift;
- my $user = $ENV{'user.name'};
- my $domain = $ENV{'user.domain'};
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
my %userenv = &Apache::lonnet::get('environment',['texengine']);
my $texengine=$userenv{'texengine'};
@@ -234,7 +235,7 @@ if (jsMath.nofonts == 1) {
$jsMath_example
Convert to Images
$mimetex_example
ENDLSCREEN
- if ($ENV{'environment.texengine'} ne 'jsMath') {
+ if ($env{'environment.texengine'} ne 'jsMath') {
$r->print('');
}
}
@@ -242,15 +243,15 @@ ENDLSCREEN
sub verify_and_change_texengine {
my $r = shift;
- my $user = $ENV{'user.name'};
- my $domain = $ENV{'user.domain'};
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
# Screenname
- my $newtexengine = $ENV{'form.texengine'};
+ my $newtexengine = $env{'form.texengine'};
$newtexengine=~s/[^\-\w]//g;
if ($newtexengine eq 'ttm') {
&Apache::lonnet::appenv('browser.mathml' => 1);
} else {
- if ($ENV{'environment.texengine'} eq 'ttm') {
+ if ($env{'environment.texengine'} eq 'ttm') {
&Apache::lonnet::appenv('browser.mathml' => 0);
}
}
@@ -276,8 +277,8 @@ ENDVCSCREEN
################################################################
sub rolesprefchanger {
my $r = shift;
- my $user = $ENV{'user.name'};
- my $domain = $ENV{'user.domain'};
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
my %userenv = &Apache::lonnet::get
('environment',['recentroles','recentrolesn']);
my $hotlist_flag=$userenv{'recentroles'};
@@ -318,11 +319,11 @@ ENDSCREEN
sub verify_and_change_rolespref {
my $r = shift;
- my $user = $ENV{'user.name'};
- my $domain = $ENV{'user.domain'};
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
# Recent Roles Hotlist Flag
- my $hotlist_flag = $ENV{'form.recentroles'};
- my $hotlist_n = $ENV{'form.recentrolesn'};
+ my $hotlist_flag = $env{'form.recentroles'};
+ my $hotlist_n = $env{'form.recentrolesn'};
my $message='';
if ($hotlist_flag) {
&Apache::lonnet::put('environment',{'recentroles' => $hotlist_flag});
@@ -353,8 +354,8 @@ ENDRPSCREEN
################################################################
sub screennamechanger {
my $r = shift;
- my $user = $ENV{'user.name'};
- my $domain = $ENV{'user.domain'};
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
my %userenv = &Apache::lonnet::get
('environment',['screenname','nickname']);
my $screenname=$userenv{'screenname'};
@@ -373,10 +374,10 @@ ENDSCREEN
sub verify_and_change_screenname {
my $r = shift;
- my $user = $ENV{'user.name'};
- my $domain = $ENV{'user.domain'};
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
# Screenname
- my $newscreen = $ENV{'form.screenname'};
+ my $newscreen = $env{'form.screenname'};
$newscreen=~s/[^ \w]//g;
my $message='';
if ($newscreen) {
@@ -390,7 +391,7 @@ sub verify_and_change_screenname {
}
# Nickname
$message.='
';
- $newscreen = $ENV{'form.nickname'};
+ $newscreen = $env{'form.nickname'};
$newscreen=~s/[^ \w]//g;
if ($newscreen) {
&Apache::lonnet::put('environment',{'nickname' => $newscreen});
@@ -413,8 +414,8 @@ ENDVCSCREEN
sub msgforwardchanger {
my $r = shift;
- my $user = $ENV{'user.name'};
- my $domain = $ENV{'user.domain'};
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
my %userenv = &Apache::lonnet::get('environment',['msgforward','notification','critnotification']);
my $msgforward=$userenv{'msgforward'};
my $notification=$userenv{'notification'};
@@ -443,11 +444,11 @@ ENDMSG
sub verify_and_change_msgforward {
my $r = shift;
- my $user = $ENV{'user.name'};
- my $domain = $ENV{'user.domain'};
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
my $newscreen = '';
my $message='';
- foreach (split(/\,/,$ENV{'form.msgforward'})) {
+ foreach (split(/\,/,$env{'form.msgforward'})) {
my ($msuser,$msdomain)=split(/[\@\:]/,$_);
$msuser=~s/\W//g;
$msdomain=~s/\W//g;
@@ -469,7 +470,7 @@ sub verify_and_change_msgforward {
&Apache::lonnet::delenv('environment\.msgforward');
$message.='Reset message forwarding
';
}
- my $notification=$ENV{'form.notification'};
+ my $notification=$env{'form.notification'};
$notification=~s/\s//gs;
if ($notification) {
&Apache::lonnet::put('environment',{'notification' => $notification});
@@ -480,7 +481,7 @@ sub verify_and_change_msgforward {
&Apache::lonnet::delenv('environment\.notification');
$message.='Reset message notification
';
}
- my $critnotification=$ENV{'form.critnotification'};
+ my $critnotification=$env{'form.critnotification'};
$critnotification=~s/\s//gs;
if ($critnotification) {
&Apache::lonnet::put('environment',{'critnotification' => $critnotification});
@@ -504,13 +505,13 @@ sub colorschanger {
my $r = shift;
# figure out colors
my $function='student';
- if ($ENV{'request.role'}=~/^(cc|in|ta|ep)/) {
+ if ($env{'request.role'}=~/^(cc|in|ta|ep)/) {
$function='coordinator';
}
- if ($ENV{'request.role'}=~/^(su|dc|ad|li)/) {
+ if ($env{'request.role'}=~/^(su|dc|ad|li)/) {
$function='admin';
}
- if (($ENV{'request.role'}=~/^(au|ca)/) ||
+ if (($env{'request.role'}=~/^(au|ca)/) ||
($ENV{'REQUEST_URI'}=~/^(\/priv|\~)/)) {
$function='author';
}
@@ -580,13 +581,13 @@ sub verify_and_change_colors {
my $r = shift;
# figure out colors
my $function='student';
- if ($ENV{'request.role'}=~/^(cc|in|ta|ep)/) {
+ if ($env{'request.role'}=~/^(cc|in|ta|ep)/) {
$function='coordinator';
}
- if ($ENV{'request.role'}=~/^(su|dc|ad|li)/) {
+ if ($env{'request.role'}=~/^(su|dc|ad|li)/) {
$function='admin';
}
- if (($ENV{'request.role'}=~/^(au|ca)/) ||
+ if (($env{'request.role'}=~/^(au|ca)/) ||
($ENV{'REQUEST_URI'}=~/^(\/priv|\~)/)) {
$function='author';
}
@@ -601,9 +602,9 @@ sub verify_and_change_colors {
my $message='';
foreach my $item (keys %colortypes) {
- my $color=$ENV{'form.'.$item};
+ my $color=$env{'form.'.$item};
my $entry='color.'.$function.'.'.$item;
- if (($color=~/^\#[0-9A-Fa-f]{6}$/) && (!$ENV{'form.resetall'})) {
+ if (($color=~/^\#[0-9A-Fa-f]{6}$/) && (!$env{'form.resetall'})) {
&Apache::lonnet::put('environment',{$entry => $color});
&Apache::lonnet::appenv('environment.'.$entry => $color);
$message.='Set '.$colortypes{$item}.' to '.$color.'
';
@@ -630,9 +631,9 @@ sub passwordchanger {
my $r = shift;
my $errormessage = shift;
$errormessage = ($errormessage || '');
- my $user = $ENV{'user.name'};
- my $domain = $ENV{'user.domain'};
- my $homeserver = $ENV{'user.home'};
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
+ my $homeserver = $env{'user.home'};
my $currentauth=&Apache::lonnet::queryauthenticate($user,$domain);
# Check for authentication types that allow changing of the password.
return if ($currentauth !~ /^(unix|internal):/);
@@ -732,9 +733,9 @@ ENDFORM
sub verify_and_change_password {
my $r = shift;
- my $user = $ENV{'user.name'};
- my $domain = $ENV{'user.domain'};
- my $homeserver = $ENV{'user.home'};
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
+ my $homeserver = $env{'user.home'};
my $currentauth=&Apache::lonnet::queryauthenticate($user,$domain);
# Check for authentication types that allow changing of the password.
return if ($currentauth !~ /^(unix|internal):/);
@@ -747,10 +748,10 @@ $html
ENDHEADER
#
- my $currentpass = $ENV{'form.currentpass'};
- my $newpass1 = $ENV{'form.newpass_1'};
- my $newpass2 = $ENV{'form.newpass_2'};
- my $logtoken = $ENV{'form.logtoken'};
+ my $currentpass = $env{'form.currentpass'};
+ my $newpass1 = $env{'form.newpass_1'};
+ my $newpass2 = $env{'form.newpass_2'};
+ my $logtoken = $env{'form.logtoken'};
# Check for empty data
unless (defined($currentpass) &&
defined($newpass1) &&
@@ -835,8 +836,8 @@ ENDERROR
################################################################
sub discussionchanger {
my $r = shift;
- my $user = $ENV{'user.name'};
- my $domain = $ENV{'user.domain'};
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
my %userenv = &Apache::lonnet::get
('environment',['discdisplay','discmarkread']);
my $discdisp = 'allposts';
@@ -858,7 +859,7 @@ sub discussionchanger {
my $function = &Apache::loncommon::get_users_function();
my $color = &Apache::loncommon::designparm($function.'.tabbg',
- $ENV{'user.domain'});
+ $env{'user.domain'});
my %lt = &Apache::lonlocal::texthash(
'pref' => 'Display Preference',
'curr' => 'Current setting ',
@@ -940,11 +941,11 @@ END
sub verify_and_change_discussion {
my $r = shift;
- my $user = $ENV{'user.name'};
- my $domain = $ENV{'user.domain'};
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
my $message='';
- if (defined($ENV{'form.discdisp'}) ) {
- my $newdisp = $ENV{'form.newdisp'};
+ if (defined($env{'form.discdisp'}) ) {
+ my $newdisp = $env{'form.newdisp'};
if ($newdisp eq 'unread') {
$message .='In discussions: only new posts will be displayed.
';
&Apache::lonnet::put('environment',{'discdisplay' => $newdisp});
@@ -955,8 +956,8 @@ sub verify_and_change_discussion {
&Apache::lonnet::delenv('environment\.discdisplay');
}
}
- if (defined($ENV{'form.discmark'}) ) {
- my $newmark = $ENV{'form.newmark'};
+ if (defined($env{'form.discmark'}) ) {
+ my $newmark = $env{'form.newmark'};
if ($newmark eq 'ondisp') {
$message.='In discussions: new posts will be cease to be identified as "new" after display.
';
&Apache::lonnet::put('environment',{'discmarkread' => $newmark});
@@ -981,8 +982,8 @@ ENDVCSCREEN
################################################################
sub handler {
my $r = shift;
- my $user = $ENV{'user.name'};
- my $domain = $ENV{'user.domain'};
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
&Apache::loncommon::content_type($r,'text/html');
# Some pages contain DES keys and should not be cached.
&Apache::loncommon::no_cache($r);
@@ -1051,7 +1052,7 @@ sub handler {
printmenu => 'yes',
subroutine => \&verify_and_change_msgforward }));
my $aboutmeaction=
- '/adm/'.$ENV{'user.domain'}.'/'.$ENV{'user.name'}.'/aboutme';
+ '/adm/'.$env{'user.domain'}.'/'.$env{'user.name'}.'/aboutme';
push (@Options,{ action => 'none',
linktext =>
q{Edit the 'About Me' Personal Information Screen},
@@ -1154,7 +1155,7 @@ sub handler {
}));
- if ($ENV{'user.name'} =~ /^(albertel|fox|foxr|koretemey|korte|hallmat3|turtle)$/) {
+ if ($env{'user.name'} =~ /^(albertel|fox|foxr|koretemey|korte|hallmat3|turtle|raeburn)$/) {
push (@Options,({ action => 'debugtoggle',
printmenu => 'yes',
subroutine => \&toggle_debug,
@@ -1171,7 +1172,7 @@ ENDHEADER
my $help = undef;
my $printmenu = 'yes';
foreach my $option (@Options) {
- if ($option->{'action'} eq $ENV{'form.action'}) {
+ if ($option->{'action'} eq $env{'form.action'}) {
$call = $option->{'subroutine'};
$printmenu = $option->{'printmenu'};
if (exists($option->{'breadcrumb'})) {
@@ -1187,15 +1188,15 @@ ENDHEADER
if (defined($call)) {
$call->($r);
}
- if (($printmenu eq 'yes') && (!$ENV{'form.returnurl'})) {
+ if (($printmenu eq 'yes') && (!$env{'form.returnurl'})) {
my $optionlist = '';
- if ($ENV{'user.name'} =~
- /^(albertel|kortemey|fox|foxr|korte|hallmat3|turtle)$/
+ if ($env{'user.name'} =~
+ /^(albertel|kortemey|fox|foxr|korte|hallmat3|turtle|raeburn)$/
) {
push (@Options,({ action => 'debugtoggle',
linktext => 'Toggle Debug Messages',
text => 'Current Debug status is -'.
- $ENV{'user.debug'}.'-.',
+ $env{'user.debug'}.'-.',
href => '/adm/preferences',
printmenu => 'yes',
subroutine => \&toggle_debug,
@@ -1227,8 +1228,8 @@ ENDHEADER
}
$optionlist .= '
';
$r->print($optionlist);
- } elsif ($ENV{'form.returnurl'}) {
- $r->print('
'.
+ } elsif ($env{'form.returnurl'}) {
+ $r->print('
'.
&mt('Return').'');
}
$r->print(&Apache::loncommon::endbodytag().'