--- loncom/interface/lonpreferences.pm 2005/02/25 06:48:00 1.55
+++ 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.55 2005/02/25 06:48:00 albertel 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) {
@@ -172,7 +173,6 @@ sub verify_and_change_languages {
$message='Reset preferred language';
}
$r->print(<
$message
ENDVCSCREEN
}
@@ -182,17 +182,17 @@ 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'};
my $pref=&mt('Preferred method to display Math');
my %mathchoices=('' => 'No Preference',
'tth' => 'TeX to HTML',
- #'ttm' => 'TeX to MathML',
+ 'ttm' => 'TeX to MathML',
'jsMath' => 'jsMath',
- #'mimetex' => 'Convert to Images'
+ 'mimetex' => 'Convert to Images'
);
my $selectionbox=&Apache::loncommon::select_form($texengine,'texengine',
%mathchoices);
@@ -200,6 +200,8 @@ sub texenginechanger {
my $jsMath_example=&Apache::lontexconvert::jsMath_converted(\$mathexample);
$mathexample='$$\int\left(\frac{a+b}{c^6*d}\right)$$';
my $tth_example=&Apache::lontexconvert::tth_converted(\$mathexample);
+ $mathexample='$$\int\left(\frac{a+b}{c^6*d}\right)$$';
+ my $mimetex_example=&Apache::lontexconvert::mimetex_converted(\$mathexample);
my $change=&mt('Change');
$r->print(<
@@ -209,11 +211,11 @@ sub texenginechanger {
Examples:
TeX to HTML
$tth_example
-
+
jsMath
-
$jsMath_example
+ Convert to Images
$mimetex_example
ENDLSCREEN
- if ($ENV{'environment.texengine'} ne 'jsMath') {
+ if ($env{'environment.texengine'} ne 'jsMath') {
$r->print('');
}
}
@@ -240,11 +243,18 @@ 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') {
+ &Apache::lonnet::appenv('browser.mathml' => 0);
+ }
+ }
my $message='';
if ($newtexengine) {
&Apache::lonnet::put('environment',{'texengine' => $newtexengine});
@@ -255,8 +265,9 @@ sub verify_and_change_texengine {
&Apache::lonnet::delenv('environment\.texengine');
$message='Reset preferred math display.';
}
+
+
$r->print(<
$message
ENDVCSCREEN
}
@@ -266,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'};
@@ -308,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});
@@ -332,7 +343,6 @@ sub verify_and_change_rolespref {
}
$r->print(<
$message
ENDRPSCREEN
}
@@ -344,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'};
@@ -364,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) {
@@ -381,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});
@@ -394,7 +404,6 @@ sub verify_and_change_screenname {
}
$r->print(<
$message
ENDVCSCREEN
}
@@ -405,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'};
@@ -435,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;
@@ -461,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});
@@ -472,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});
@@ -484,7 +493,6 @@ sub verify_and_change_msgforward {
$message.='Reset critical message notification
';
}
$r->print(<
$message
ENDVCMSG
}
@@ -497,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';
}
@@ -573,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';
}
@@ -594,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.'
';
@@ -607,7 +615,6 @@ sub verify_and_change_colors {
}
}
$r->print(<
$message