--- loncom/interface/lonpreferences.pm 2009/05/21 16:00:49 1.125.4.2 +++ loncom/interface/lonpreferences.pm 2009/12/07 01:41:31 1.125.8.5 @@ -1,7 +1,7 @@ # The LearningOnline Network # Preferences # -# $Id: lonpreferences.pm,v 1.125.4.2 2009/05/21 16:00:49 raeburn Exp $ +# $Id: lonpreferences.pm,v 1.125.8.5 2009/12/07 01:41:31 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -42,6 +42,7 @@ use Apache::loncommon(); use Apache::lonhtmlcommon(); use Apache::lonlocal; use Apache::lonnet; +use LONCAPA::lonauthcgi(); use LONCAPA(); # @@ -204,7 +205,8 @@ sub texenginechanger { 'tth' => 'tth (TeX to HTML)', #'ttm' => 'TeX to MathML', 'jsMath' => 'jsMath', - 'mimetex' => 'mimetex (Convert to Images)' + 'mimetex' => 'mimetex (Convert to Images)', + 'raw' => 'Raw (Screen Reader)' ); my $selectionbox=&Apache::loncommon::select_form($texengine,'texengine', %mathchoices); @@ -1289,6 +1291,8 @@ sub jscript_send { this.document.client.elements.uname.value; this.document.pserver.elements.udom.value = this.document.client.elements.udom.options[this.document.client.elements.udom.selectedIndex].value; + this.document.pserver.elements.email.value = + this.document.client.elements.email.value; |; } $ output .= qq| @@ -1308,41 +1312,39 @@ sub client_form { 'newpass' => 'New Password', 'confirmpass' => 'Confirm Password', 'changepass' => 'Save'); - - my $output = qq| -
- -|; + my $output = '' + .&Apache::lonhtmlcommon::start_pick_box(); if ($caller eq 'reset_by_email') { - $output .= qq| - - - - - - - -'; + $output .= &Apache::lonhtmlcommon::row_title( + '') + .'' + .&Apache::lonhtmlcommon::row_closure() + .&Apache::lonhtmlcommon::row_title( + '') + .'' + .'' + .&Apache::lonhtmlcommon::row_closure() + .&Apache::lonhtmlcommon::row_title( + '') + .&Apache::loncommon::select_dom_form($defdom,'udom') + .&Apache::lonhtmlcommon::row_closure(); } else { - $output .= qq| - - -|; - } - $output .= <<"ENDFORM"; - - - - -
:
: - - -
: -|; - $output .= &Apache::loncommon::select_dom_form($defdom,'udom').' -
- -
+ $output .= &Apache::lonhtmlcommon::row_title( + '') + .'' + .&Apache::lonhtmlcommon::row_closure(); + } + $output .= &Apache::lonhtmlcommon::row_title( + '') + .'' + .&Apache::lonhtmlcommon::row_closure() + .&Apache::lonhtmlcommon::row_title( + '') + .'' + .&Apache::lonhtmlcommon::row_closure(1) + .&Apache::lonhtmlcommon::end_pick_box(); + $output .= '

' + .qq| @@ -1351,7 +1353,7 @@ sub client_form {

-ENDFORM +|; return $output; } @@ -1373,6 +1375,7 @@ sub server_form { + |; } @@ -1517,7 +1520,7 @@ ENDERROR # Inform the user the password has (not?) been changed my $message; if ($result =~ /^ok$/) { - $message = &Apache::lonhtmlcommon::confirm_success(&mt('The password for user [_1] was successfully changed.',''.$user.'')); + $message = &Apache::lonhtmlcommon::confirm_success(&mt('The password for user [_1] was successfully changed.',''.$user.'')); if ($caller eq 'reset_by_email') { $r->print($message.'
'); } else { @@ -1525,14 +1528,17 @@ ENDERROR } } else { # error error: run in circles, scream and shout - $message = &Apache::lonhtmlcommon::confirm_success( - &mt("The password for user [_1] was not changed.",''.$user.'').' '.&mt('Please make sure your old password was entered correctly.'),1); if ($caller eq 'reset_by_email') { - $r->print($message.'
'); + if (!$result) { + return 1; + } else { + return $result; + } } else { + $message = &Apache::lonhtmlcommon::confirm_success( + &mt("The password for user [_1] was not changed.",''.$user.'').' '.&mt('Please make sure your old password was entered correctly.'),1); $r->print(&Apache::loncommon::confirmwrapper($message)); } - return 1; } return; } @@ -1555,7 +1561,7 @@ sub discussionchanger { } } if (defined($userenv{'discmarkread'})) { - unless ($userenv{'discdisplay'} eq '') { + unless ($userenv{'discmarkread'} eq '') { $discmark = $userenv{'discmarkread'}; } } @@ -1645,11 +1651,11 @@ sub verify_and_change_discussion { if (defined($env{'form.discdisp'}) ) { my $newdisp = $env{'form.newdisp'}; if ($newdisp eq 'unread') { - $message .=&mt('In discussions: only new posts will be displayed.').'
'; + $message .= &Apache::lonhtmlcommon::confirm_success(&mt('In discussions: only new posts will be displayed.')).'
'; &Apache::lonnet::put('environment',{'discdisplay' => $newdisp}); &Apache::lonnet::appenv({'environment.discdisplay' => $newdisp}); } else { - $message .= &mt('In discussions: all posts will be displayed.').'
'; + $message .= &Apache::lonhtmlcommon::confirm_success(&mt('In discussions: all posts will be displayed.')).'
'; &Apache::lonnet::del('environment',['discdisplay']); &Apache::lonnet::delenv('environment.discdisplay'); } @@ -1858,22 +1864,24 @@ sub handler { printmenu => 'yes', subroutine => \&verify_and_change_colors, })); - push (@Options,({ action => 'changelanguages', - linktext => 'Change Language Preferences', - href => '/adm/preferences', - help => 'Prefs_Language', - breadcrumb=> - { href => '/adm/preferences?action=changelanguages', - text => 'Change Language'}, - subroutine => \&languagechanger, - }, - { action => 'verify_and_change_languages', - breadcrumb=> - {href => '/adm/preferences?action=changelanguages', - text => 'Change Language'}, - printmenu => 'yes', - subroutine=>\&verify_and_change_languages, } + if ($env{'user.adv'}) { + push (@Options,({ action => 'changelanguages', + linktext => 'Change Language Preferences', + href => '/adm/preferences', + help => 'Prefs_Language', + breadcrumb=> + { href => '/adm/preferences?action=changelanguages', + text => 'Change Language'}, + subroutine => \&languagechanger, + }, + { action => 'verify_and_change_languages', + breadcrumb=> + {href => '/adm/preferences?action=changelanguages', + text => 'Change Language'}, + printmenu => 'yes', + subroutine=>\&verify_and_change_languages, } )); + } push (@Options,({ action => 'changewysiwyg', linktext => 'Change WYSIWYG Editor Preferences', href => '/adm/preferences', @@ -1966,22 +1974,23 @@ sub handler { text => 'Change Main Menu'}, printmenu => 'yes', })); - - push (@Options,({ action => 'changeclicker', - linktext => 'Register Response Devices ("Clickers")', - href => '/adm/preferences', - subroutine => \&clickerchanger, - breadcrumb => - { href => '/adm/preferences?action=changeclicker', - text => 'Register Clicker'}, - }, - { action => 'verify_and_change_clicker', - subroutine => \&verify_and_change_clicker, - breadcrumb => - { href => '/adm/preferences?action=changeclicker', - text => 'Register Clicker'}, - printmenu => 'yes', - })); + if ($env{'user.adv'}) { + push (@Options,({ action => 'changeclicker', + linktext => 'Register Response Devices ("Clickers")', + href => '/adm/preferences', + subroutine => \&clickerchanger, + breadcrumb => + { href => '/adm/preferences?action=changeclicker', + text => 'Register Clicker'}, + }, + { action => 'verify_and_change_clicker', + subroutine => \&verify_and_change_clicker, + breadcrumb => + { href => '/adm/preferences?action=changeclicker', + text => 'Register Clicker'}, + printmenu => 'yes', + })); + } my %author_roles = &Apache::lonnet::get_my_roles($user,$domain,'userroles','',['au']); if (keys(%author_roles) > 0) { push (@Options,({ action => 'changedomcoord', @@ -2035,7 +2044,7 @@ sub handler { })); } - if ($env{'user.name'} =~ /^(albertel|fox|foxr|kortemey|korte|raeburn)$/) { + if (&can_toggle_debug()) { push (@Options,({ action => 'debugtoggle', printmenu => 'yes', subroutine => \&toggle_debug, @@ -2067,13 +2076,11 @@ sub handler { || ($printmenu eq 'not_on_error' && !$error) ) && (!$env{'form.returnurl'})) { my $optionlist = ''; - if ($env{'user.name'} =~ - /^(albertel|kortemey|fox|foxr|korte|hallmat3|turtle|raeburn)$/ - ) { + if (&can_toggle_debug()) { push (@Options,({ action => 'debugtoggle', linktext => 'Toggle Debug Messages', - text => 'Current Debug status is -'. - $env{'user.debug'}.'-.', + text => 'Current Debug status is: '. + ($env{'user.debug'} ? 'on' : 'off'), href => '/adm/preferences', printmenu => 'yes', subroutine => \&toggle_debug, @@ -2115,12 +2122,26 @@ sub handler { } sub toggle_debug { - if ($env{'user.debug'}) { - &Apache::lonnet::delenv('user.debug'); - } else { - &Apache::lonnet::appenv({'user.debug' => 1}); + if (&can_toggle_debug()) { + if ($env{'user.debug'}) { + &Apache::lonnet::delenv('user.debug'); + } else { + &Apache::lonnet::appenv({'user.debug' => 1}); + } } } +sub can_toggle_debug { + my $can_toggle = 0; + my $page = 'toggledebug'; + if (&LONCAPA::lonauthcgi::can_view($page)) { + $can_toggle = 1; + } elsif (&LONCAPA::lonauthcgi::check_ipbased_access($page)) { + $can_toggle = 1; + } + return $can_toggle; +} + + 1; __END__