--- loncom/interface/lonpreferences.pm 2007/01/23 04:09:03 1.96 +++ loncom/interface/lonpreferences.pm 2007/05/02 01:33:49 1.101 @@ -1,7 +1,7 @@ # The LearningOnline Network # Preferences # -# $Id: lonpreferences.pm,v 1.96 2007/01/23 04:09:03 albertel Exp $ +# $Id: lonpreferences.pm,v 1.101 2007/05/02 01:33:49 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -516,6 +516,52 @@ ENDVCSCREEN } ################################################################ +# Icon Subroutines # +################################################################ +sub iconchanger { + my $r = shift; + my $user = $env{'user.name'}; + my $domain = $env{'user.domain'}; + my %userenv = &Apache::lonnet::get + ('environment',['icons']); + my $iconic='checked="checked"'; + my $classic=''; + my $onlyicon=''; + if ($userenv{'icons'} eq 'classic') { + $classic='checked="checked"'; + $iconic=''; + } + if ($userenv{'icons'} eq 'iconsonly') { + $onlyicon='checked="checked"'; + $iconic=''; + } + my $useicons=&mt('Use icons and text'); + my $usebuttons=&mt('Use buttons and text'); + my $useicononly=&mt('Use icons only'); + my $change=&mt('Change'); + $r->print(< + +
+
+
+ + +ENDSCREEN +} + +sub verify_and_change_icons { + my $r = shift; + my $user = $env{'user.name'}; + my $domain = $env{'user.domain'}; + my $newicons = $env{'form.menumode'}; + + &Apache::lonnet::put('environment',{'icons' => $newicons}); + &Apache::lonnet::appenv('environment.icons' => $newicons); + $r->print(&mt('Set menu mode to [_1].',$newicons)); +} + +################################################################ # Message Forward # ################################################################ @@ -845,20 +891,29 @@ sub jscript_send { sub client_form { my ($caller,$hexkey,$currentpass,$defdom) = @_; + my %lt=&Apache::lonlocal::texthash( + 'email' => 'EMail Address', + 'username' => 'Username', + 'domain' => 'Domain', + 'currentpass' => 'Current Password', + 'newpass' => 'New Password', + 'confirmpass' => 'Confirm Password', + 'changepass' => 'Change Password'); + my $output = qq|
|; if ($caller eq 'reset_by_email') { $output .= qq| - - - + + + - + + |; } $output .= <<"ENDFORM"; - + - +
E-mail address:
Username:
:
: - +
Domain:
: |; $output .= &Apache::loncommon::select_dom_form($defdom,'udom').' @@ -867,17 +922,17 @@ sub client_form { '; } else { $output .= qq| -
Current password:
New password:
Confirm password:
- +
@@ -928,14 +983,14 @@ sub verify_and_change_password { if ($user ne '' && $domain ne '') { $homeserver = &Apache::lonnet::homeserver($user,$domain); if ($homeserver eq 'no_host') { - &passwordchanger($r,"

\nERROR". - "Invalid username and/or domain .\n

", + &passwordchanger($r,"

\n". + &mt("Invalid username and/or domain")."\n

", $caller,$mailtoken); return 1; } } else { - &passwordchanger($r,"

\nERROR". - "Username and Domain were blank.\n

", + &passwordchanger($r,"

\n". + &mt("Username and domain were blank")."\n

", $caller,$mailtoken); return 1; } @@ -948,8 +1003,9 @@ sub verify_and_change_password { # Check for authentication types that allow changing of the password. if ($currentauth !~ /^(unix|internal):/) { if ($caller eq 'reset_by_email') { - &passwordchanger($r,"

\nERROR". - "Authentication type for this user can not be changed by this mechanism..\n

", + &passwordchanger($r,"

\n". + &mt("Authentication type for this user can not be changed by this mechanism"). + "\n

", $caller,$mailtoken); return 1; } else { @@ -965,8 +1021,9 @@ sub verify_and_change_password { unless (defined($currentpass) && defined($newpass1) && defined($newpass2) ){ - &passwordchanger($r,"

\nERROR". - "One or more password fields were blank.\n

",$caller,$mailtoken); + &passwordchanger($r,"

\n". + &mt("One or more password fields were blank"). + "\n

",$caller,$mailtoken); return; } # Get the keys @@ -978,10 +1035,10 @@ sub verify_and_change_password { if ($caller eq 'reset_by_email') { $tryagain_text = &mt('Please try again later.'); } + my $unable=&mt("Unable to retrieve saved token for password decryption"); $r->print(< -ERROR: Unable to retrieve stored token for -password decryption. $tryagain_text +$unable. $tryagain_text

ENDERROR # Probably should log an error here @@ -997,24 +1054,24 @@ ENDERROR my %data = &Apache::lonnet::tmpget($mailtoken); if ($currentpass ne $data{'temppasswd'}) { &passwordchanger($r, - 'ERROR:'. - 'Could not verify current authentication. '. - 'Please try again.',$caller,$mailtoken); + ''. + &mt('Could not verify current authentication').'. '. + &mt('Please try again').'.',$caller,$mailtoken); return 1; } } if ($newpass1 ne $newpass2) { &passwordchanger($r, - 'ERROR:'. - 'The new passwords you entered do not match. '. - 'Please try again.',$caller,$mailtoken); + ''. + &mt('The new passwords you entered do not match').'. '. + &mt('Please try again').'.',$caller,$mailtoken); return 1; } if (length($newpass1) < 7) { &passwordchanger($r, - 'ERROR:'. - 'Passwords must be a minimum of 7 characters long. '. - 'Please try again.',$caller,$mailtoken); + ''. + &mt('Passwords must be a minimum of 7 characters long').'. '. + &mt('Please try again').'.',$caller,$mailtoken); return 1; } # @@ -1025,14 +1082,14 @@ ENDERROR } if ($badpassword) { # I can't figure out how to enter bad characters on my browser. - my $errormessage = <<"ENDERROR"; -ERROR: -The password you entered contained illegal characters.
-Valid characters are: space and
+ my $errormessage =''. + &mt('The password you entered contained illegal characters').'.
'. + &mt('Valid characters are').(<<"ENDERROR"); +: space and
 !"\#$%&\'()*+,-./0123456789:;<=>?\@
 ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_\`abcdefghijklmnopqrstuvwxyz{|}~
-
+
ENDERROR &passwordchanger($r,$errormessage,$caller,$mailtoken); return 1; @@ -1043,15 +1100,11 @@ ENDERROR ($user,$domain,$currentpass,$newpass1,$homeserver,$caller); # Inform the user the password has (not?) been changed if ($result =~ /^ok$/) { - $r->print(<<"ENDTEXT"); -

The password for $user was successfully changed

-ENDTEXT + $r->print("

".&mt('The password for [_1] was successfully changed',$user)."

"); } else { # error error: run in circles, scream and shout - $r->print(<The password for $user was not changed -Please make sure your old password was entered correctly. -ENDERROR + $r->print("

".&mt("The password for [_1] was not changed",$user)."

". + &mt('Please make sure your old password was entered correctly').'.'); return 1; } return; @@ -1155,7 +1208,7 @@ END $r->print(<<"END");

- +

Note: $lt{'thde'} @@ -1340,7 +1393,7 @@ sub handler { })); push (@Options,({ action => 'changemsgforward', - linktext => 'Change Message Forwarding and Notification Addresses', + linktext => 'Change Message Forwarding and Notification Email Addresses', href => '/adm/preferences', help => 'Prefs_Forwarding', breadcrumb => @@ -1470,6 +1523,22 @@ sub handler { })); } + push (@Options,({ action => 'changeicons', + linktext => 'Change How Menus are Displayed', + href => '/adm/preferences', + subroutine => \&iconchanger, + breadcrumb => + { href => '/adm/preferences?action=changeicons', + text => 'Change Main Menu'}, + }, + { action => 'verify_and_change_icons', + subroutine => \&verify_and_change_icons, + breadcrumb => + { href => '/adm/preferences?action=changeicons', + text => 'Change Main Menu'}, + printmenu => 'yes', + })); + if (&Apache::lonnet::allowed('whn',$env{'request.course.id'}) || &Apache::lonnet::allowed('whn',$env{'request.course.id'}.'/' .$env{'request.course.sec'})) {