--- loncom/interface/lonpreferences.pm 2016/02/17 19:15:48 1.219 +++ loncom/interface/lonpreferences.pm 2019/04/24 01:44:30 1.228 @@ -1,7 +1,7 @@ # The LearningOnline Network # Preferences # -# $Id: lonpreferences.pm,v 1.219 2016/02/17 19:15:48 raeburn Exp $ +# $Id: lonpreferences.pm,v 1.228 2019/04/24 01:44:30 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -160,11 +160,13 @@ sub texenginechanger { my $domain = $env{'user.domain'}; my %userenv = &Apache::lonnet::get('environment',['texengine']); my $texengine=$userenv{'texengine'}; + if (lc($texengine) eq 'jsmath') { + $texengine = 'MathJax'; + } my %mathchoices=('' => 'Default', 'tth' => 'tth (TeX to HTML)', #'ttm' => 'TeX to MathML', - 'jsMath' => 'jsMath', 'MathJax' => 'MathJax', 'mimetex' => 'mimetex (Convert to Images)', 'raw' => 'Raw (Screen Reader)' @@ -176,7 +178,6 @@ sub texenginechanger { 'texengine', \%mathchoices); my $MathJax_start=&Apache::lontexconvert::MathJax_header(); - my $jsMath_start=&Apache::lontexconvert::jsMath_header(); my %lt=&Apache::lonlocal::texthash( 'headline' => 'Change how math is displayed', 'preftxt' => 'Preferred method to display math', @@ -184,26 +185,10 @@ sub texenginechanger { 'exmpl' => 'Examples', 'mathjax' => 'MathJax:', 'mathjaxinfo' => 'MathJax provides rendered equations whose source code can be extracted in TeX and MathML formats by right clicking the equation.', - 'jsmath' => 'jsMath:', 'tth' => 'tth (TeX to HTML):', 'mimetex' => 'mimetex (Convert to Images):', ); - my $jsMathWarning='

' - .'

' - .&mt("It looks like you don't have the TeX math fonts installed.") - .'
' - .'
' - .&mt('The jsMath example on this page may not look right without them. ' - .'The [_1]jsMath Home Page[_2] has information on how to download the ' - .'needed fonts. In the meantime, jsMath will do the best it can ' - .'with the fonts you have, but it may not be pretty and some equations ' - .'may not be rendered correctly.' - ,'' - ,'') - .'
' - .'

'; - $r->print(<$lt{'headline'}
@@ -226,18 +211,6 @@ $lt{'exmpl'} $lt{'mathjaxinfo'}

-

$lt{'jsmath'}

-

-$jsMath_start - - -

-

$lt{'mimetex'}

@@ -248,9 +221,6 @@ if (jsMath.nofonts == 1) {

ENDLSCREEN - if ($env{'environment.texengine'} ne 'jsMath') { - $r->print(''); - } } @@ -261,6 +231,9 @@ sub verify_and_change_texengine { # Screenname my $newtexengine = $env{'form.texengine'}; $newtexengine=~s/[^\-\w]//g; + if (lc($newtexengine) eq 'jsmath') { + $newtexengine = 'MathJax'; + } if ($newtexengine eq 'ttm') { &Apache::lonnet::appenv({'browser.mathml' => 1}); } else { @@ -504,7 +477,6 @@ sub verify_and_change_rolespref { } - ################################################################ # Anonymous Discussion Name Change Subroutines # ################################################################ @@ -784,8 +756,10 @@ sub domcoordchanger { my $text=&mt('By default, the Domain Coordinator can enter your Authoring Space.'); my $construction=&mt('Block access to Authoring Space'); my $change=&mt('Save'); + my $returnurl = &HTML::Entities::encode($env{'form.returnurl'},'"<>&\''); $r->print(< + $text

@@ -810,7 +784,11 @@ sub verify_and_change_domcoord { } my $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]',''.&mt('Block access to Authoring Space').'',''.$status.'')); $message=&Apache::loncommon::confirmwrapper($message); - &print_main_menu($r,$message); + if ($env{'form.returnurl'}) { + &do_redirect($r,$env{'form.returnurl'},$message); + } else { + &print_main_menu($r,$message); + } } ################################################################# @@ -1285,7 +1263,7 @@ sub verify_and_change_colors { # password handler subroutines # ###################################################### sub passwordchanger { - my ($r,$errormessage,$caller,$mailtoken) = @_; + my ($r,$errormessage,$caller,$mailtoken,$timelimit,$extrafields) = @_; # This function is a bit of a mess.... # Passwords are encrypted using londes.js (DES encryption) $errormessage = ($errormessage || ''); @@ -1321,7 +1299,7 @@ sub passwordchanger { return; } if (defined($data{time})) { - if (time - $data{'time'} < 7200) { + if (time - $data{'time'} < $timelimit) { $user = $data{'username'}; $domain = $data{'domain'}; $currentpass = $data{'temppasswd'}; @@ -1384,7 +1362,7 @@ sub passwordchanger { my $jsh=Apache::File->new($include."/londes.js"); $r->print(<$jsh>); } - $r->print(&jscript_send($caller)); + $r->print(&jscript_send($caller,$extrafields)); $r->print(< ENDFORM - $r->print(&server_form($logtoken,$caller,$mailtoken)); - $r->print(&client_form($caller,\%hexkey,$currentpass,$domain)); + $r->print(&server_form($logtoken,$caller,$mailtoken,$extrafields)); + $r->print(&client_form($caller,\%hexkey,$currentpass,$domain,$extrafields)); # return; } sub jscript_send { - my ($caller) = @_; + my ($caller,$extrafields) = @_; my $output = qq|