--- loncom/interface/lonpreferences.pm 2010/01/28 15:40:10 1.125.4.9 +++ loncom/interface/lonpreferences.pm 2009/04/17 11:12:57 1.151 @@ -1,7 +1,7 @@ # The LearningOnline Network # Preferences # -# $Id: lonpreferences.pm,v 1.125.4.9 2010/01/28 15:40:10 raeburn Exp $ +# $Id: lonpreferences.pm,v 1.151 2009/04/17 11:12:57 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -42,7 +42,6 @@ use Apache::loncommon(); use Apache::lonhtmlcommon(); use Apache::lonlocal; use Apache::lonnet; -use LONCAPA::lonauthcgi(); use LONCAPA(); # @@ -99,6 +98,12 @@ sub des_decrypt { sub wysiwygchanger { my $r = shift; + Apache::lonhtmlcommon::add_breadcrumb( + { href => '/adm/preferences?action=changewysiwyg', + text => 'Change WYSIWYG Preferences'}); + $r->print(Apache::loncommon::start_page('Content Display Settings')); + $r->print(Apache::lonhtmlcommon::breadcrumbs('Change WYSIWYG Preferences')); + my %userenv = &Apache::lonnet::get ('environment',['wysiwygeditor']); my $onselect='checked="checked"'; @@ -130,11 +135,9 @@ sub verify_and_change_wysiwyg { my $newsetting=$env{'form.wysiwyg'}; &Apache::lonnet::put('environment',{'wysiwygeditor' => $newsetting}); &Apache::lonnet::appenv({'environment.wysiwygeditor' => $newsetting}); - my $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]',''.&mt('WYSIWYG Editor').'',''.&mt($newsetting).'')); - $message=&Apache::loncommon::confirmwrapper($message); - $r->print(<print('

'.&mt('Setting WYSIWYG editor to:').' '.&mt($newsetting).'

'); + print_main_menu($r,'

'.&mt('Setting WYSIWYG editor to:').' ' + .&mt($newsetting).'

'); } ################################################################ @@ -142,6 +145,12 @@ ENDVCSCREEN ################################################################ sub languagechanger { my $r = shift; + + Apache::lonhtmlcommon::add_breadcrumb( + { href => '/adm/preferences?action=changelanguages', + text => 'Change Language'}); + $r->print(Apache::loncommon::start_page('Content Display Settings')); + $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Language')); my $user = $env{'user.name'}; my $domain = $env{'user.domain'}; my %userenv = &Apache::lonnet::get @@ -156,11 +165,8 @@ sub languagechanger { = &Apache::loncommon::plainlanguagedescription($_); } } - my $selectionbox= - &Apache::loncommon::select_form( - $language, - 'language', - &Apache::lonlocal::texthash(%langchoices)); + my $selectionbox=&Apache::loncommon::select_form($language,'language', + %langchoices); $r->print(< @@ -181,17 +187,17 @@ sub verify_and_change_languages { if ($newlanguage) { &Apache::lonnet::put('environment',{'languages' => $newlanguage}); &Apache::lonnet::appenv({'environment.languages' => $newlanguage}); - $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]',''.&mt('Preferred language').'','"'.$newlanguage.'".')); + $message=&mt('Set new preferred languages to ').'"'.$newlanguage.'".'; } else { &Apache::lonnet::del('environment',['languages']); &Apache::lonnet::delenv('environment.languages'); - $message=&Apache::lonhtmlcommon::confirm_success(&mt('Reset [_1]',''.&mt('Preferred language').'')); + $message=&mt('Reset preferred language.'); } - $message=&Apache::loncommon::confirmwrapper($message); &Apache::loncommon::flush_langs_cache($user,$domain); - $r->print(<print(< '/adm/preferences?action=changetexenginepref', + text => 'Change How Math Equations Are Displayed'}); + $r->print(Apache::loncommon::start_page('Content Display Settings')); + $r->print(Apache::lonhtmlcommon::breadcrumbs('Change How Math Equations Are Displayed')); my $user = $env{'user.name'}; my $domain = $env{'user.domain'}; my %userenv = &Apache::lonnet::get('environment',['texengine']); @@ -208,18 +219,14 @@ sub texenginechanger { 'tth' => 'tth (TeX to HTML)', #'ttm' => 'TeX to MathML', 'jsMath' => 'jsMath', - 'mimetex' => 'mimetex (Convert to Images)', - 'raw' => 'Raw (Screen Reader)' + 'mimetex' => 'mimetex (Convert to Images)' ); - my $selectionbox= - &Apache::loncommon::select_form( - $texengine, - 'texengine', - &Apache::lonlocal::texthash(%mathchoices)); + my $selectionbox=&Apache::loncommon::select_form($texengine,'texengine', + %mathchoices); my $jsMath_start=&Apache::lontexconvert::jsMath_header(); my %lt=&Apache::lonlocal::texthash( - 'headline' => 'Change how math is displayed', - 'preftxt' => 'Preferred method to display math', + 'headline' => 'Change Math Preferences', + 'preftxt' => 'Preferred method to display Math', 'change' => 'Save', 'exmpl' => 'Examples', 'jsmath' => 'jsMath:', @@ -227,27 +234,12 @@ sub texenginechanger { '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'}

-$lt{'preftxt'}: $selectionbox +$lt{'preftxt'}: $selectionbox

@@ -259,9 +251,20 @@ $lt{'exmpl'}

$lt{'jsmath'}

$jsMath_start - @@ -274,11 +277,11 @@ if (jsMath.nofonts == 1) {

$lt{'tth'}

- +

ENDLSCREEN if ($env{'environment.texengine'} ne 'jsMath') { - $r->print(''); + $r->print(''); } } @@ -301,16 +304,18 @@ sub verify_and_change_texengine { if ($newtexengine) { &Apache::lonnet::put('environment',{'texengine' => $newtexengine}); &Apache::lonnet::appenv({'environment.texengine' => $newtexengine}); - $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]',''.&mt('Preferred method to display Math').'','"'.$newtexengine.'"')); + $message=&mt('Set new preferred math display to ').'"'.$newtexengine.'".'; } else { &Apache::lonnet::del('environment',['texengine']); &Apache::lonnet::delenv('environment.texengine'); - $message=&Apache::lonhtmlcommon::confirm_success(&mt('Reset [_1]',''.&mt('Preferred method to display Math').'')); + $message=&mt('Reset preferred math display.'); } - $message=&Apache::loncommon::confirmwrapper($message); - $r->print(<print(< '/adm/preferences?action=changerolespref', + text => 'Change '.$role.' Page Pref'}); + $r->print(Apache::loncommon::start_page('Content Display Settings')); + $r->print(Apache::lonhtmlcommon::breadcrumbs('Change '.$role.' Page Pref')); my $hotlist_flag=$userenv{'recentroles'}; my $hotlist_n=$userenv{'recentrolesn'}; my $checked; if ($hotlist_flag) { - $checked = ' checked="checked"'; + $checked = 'checked="checked"'; } if (!$hotlist_n) { $hotlist_n=3; } @@ -363,13 +373,13 @@ sub rolesprefchanger { my $checked = ""; my $value = $recent_roles{$role_key}; if ($frozen_roles{$role_key}) { - $checked = ' checked="checked"'; + $checked = "checked=\"checked\""; } $count++; $roles_check_list .= &Apache::loncommon::start_data_table_row(). ''. - "". "". @@ -381,22 +391,15 @@ sub rolesprefchanger { $r->print('

'.&mt('Some LON-CAPA users have a long list of '.$lc_role.'s. The Recent '.$role.'s Hotlist feature keeps track of the last N '.$lc_role.'s which have been visited and places a table of these at the top of the '.$lc_role.'s page. People with very few '.$lc_role.'s should leave this feature disabled.').'

- + -
'. -'

'.&mt('Recent '.$role.'s Hotlist').'

'. -&Apache::lonhtmlcommon::start_pick_box(). -&Apache::lonhtmlcommon::row_title(''). -''. -&Apache::lonhtmlcommon::row_closure(). -&Apache::lonhtmlcommon::row_title(''). -''. -&Apache::lonhtmlcommon::row_closure(1). -&Apache::lonhtmlcommon::end_pick_box(). -'

'.&mt('Freeze Roles').'

'. -'

'.&mt('This list below can be used to freeze '.$lc_role.'s on your screen. Those marked as frozen will not be removed from the list, even if they have not been used recently.').' +
+
'.&mt('Number of '.$role.'s in Hotlist:').' + +

'.&mt('This list below can be used to freeze '.$lc_role.'s on your screen. Those marked as frozen will not be removed from the list, even if they have not been used recently.').'

'.$roles_check_list.'
@@ -446,11 +449,11 @@ sub verify_and_change_rolespref { if ($hotlist_flag) { &Apache::lonnet::put('environment',{'recentroles' => $hotlist_flag}); &Apache::lonnet::appenv({'environment.recentroles' => $hotlist_flag}); - $message=&Apache::lonhtmlcommon::confirm_success(&mt('Recent '.$role.'s Hotlist is Enabled.')." ".&mt('Display [_1] Most Recent '.$role.'s.',$hotlist_n)); + $message=&mt('Recent '.$role.'s Hotlist is Enabled'); } else { &Apache::lonnet::del('environment',['recentroles']); &Apache::lonnet::delenv('environment.recentroles'); - $message=&Apache::lonhtmlcommon::confirm_success(&mt('Recent '.$role.'s Hotlist is Disabled')); + $message=&mt('Recent '.$role.'s Hotlist is Disabled'); } if ($hotlist_n) { &Apache::lonnet::put('environment',{'recentrolesn' => $hotlist_n}); @@ -479,7 +482,7 @@ sub verify_and_change_rolespref { # Unset any roles that were previously frozen but aren't in list foreach my $role_key (sort(keys(%recent_roles))) { if (($frozen_roles{$role_key}) && (!exists($freeze{$role_key}))) { - $message .= "
".&Apache::lonhtmlcommon::confirm_success(&mt('Unfreezing '.$role.': [_1]',''.$role_text{$role_key}.'')); + $message .= "
".&mt('Unfreezing '.$role.': [_1]',$role_text{$role_key})."\n"; &Apache::lonhtmlcommon::store_recent('roles',$role_key,' ',0); } } @@ -487,16 +490,17 @@ sub verify_and_change_rolespref { # Freeze selected roles foreach my $role_key (@freeze_list) { if (!$frozen_roles{$role_key}) { - $message .= "
". - &Apache::lonhtmlcommon::confirm_success(&mt('Freezing '.$role.': [_1]',''.$role_text{$role_key}.'')); + $message .= "
".&mt('Freezing '.$role.': [_1]',$role_text{$role_key})."\n"; &Apache::lonhtmlcommon::store_recent('roles', $role_key,' ',1); } } - $message=&Apache::loncommon::confirmwrapper($message); - $r->print(<print(< '/adm/preferences?action=changescreenname', + text => 'Change Screen Name'}); + $r->print(Apache::loncommon::start_page('Personal Data')); + $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Screen Name')); $r->print('

' .&mt('Change the name that is displayed in your posts.') .'

' @@ -544,11 +553,11 @@ sub verify_and_change_screenname { if ($newscreen) { &Apache::lonnet::put('environment',{'screenname' => $newscreen}); &Apache::lonnet::appenv({'environment.screenname' => $newscreen}); - $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]',''.&mt('Screenname').'','"'.$newscreen.'"')); + $message=&mt('Set new screenname to ').'"'.$newscreen.'.".'; } else { &Apache::lonnet::del('environment',['screenname']); &Apache::lonnet::delenv('environment.screenname'); - $message=&Apache::lonhtmlcommon::confirm_success(&mt('Reset [_1]',''.&mt('Screenname').'')); + $message=&mt('Reset screenname.'); } # Nickname $message.='
'; @@ -557,17 +566,17 @@ sub verify_and_change_screenname { if ($newscreen) { &Apache::lonnet::put('environment',{'nickname' => $newscreen}); &Apache::lonnet::appenv({'environment.nickname' => $newscreen}); - $message.=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]',''.&mt('Nickname').'','"'.$newscreen.'"')); + $message.=&mt('Set new nickname to ').'"'.$newscreen.'".'; } else { &Apache::lonnet::del('environment',['nickname']); &Apache::lonnet::delenv('environment.nickname'); - $message.=&Apache::lonhtmlcommon::confirm_success(&mt('Reset [_1]',''.&mt('Nickname').'')); + $message.=&mt('Reset nickname.'); } &Apache::lonnet::devalidate_cache_new('namescache',$user.':'.$domain); - $message=&Apache::loncommon::confirmwrapper($message); - $r->print(<print(< '/adm/preferences?action=changeicons', + text => 'Change Main Menu'}); + $r->print(Apache::loncommon::start_page('Page Display Settings')); + $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Main Menu')); + my $user = $env{'user.name'}; my $domain = $env{'user.domain'}; my %userenv = &Apache::lonnet::get @@ -613,11 +628,8 @@ sub verify_and_change_icons { &Apache::lonnet::put('environment',{'icons' => $newicons}); &Apache::lonnet::appenv({'environment.icons' => $newicons}); - my $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]',''.&mt('Menu Display').'',''.$newicons.'')); - $message=&Apache::loncommon::confirmwrapper($message); - $r->print(<print(&mt('Set menu mode to [_1].',$newicons)); + print_main_menu($r, &mt('Set menu mode to [_1].',$newicons)); } ################################################################ @@ -626,6 +638,11 @@ ENDVCSCREEN sub clickerchanger { my $r = shift; + Apache::lonhtmlcommon::add_breadcrumb( + { href => '/adm/preferences?action=changeclicker', + text => 'Register Clicker'}); + $r->print(Apache::loncommon::start_page('Other')); + $r->print(Apache::lonhtmlcommon::breadcrumbs('Register Clicker')); my $user = $env{'user.name'}; my $domain = $env{'user.domain'}; my %userenv = &Apache::lonnet::get @@ -633,7 +650,7 @@ sub clickerchanger { my $clickers=$userenv{'clickers'}; $clickers=~s/\,/\n/gs; my $text=&mt('Enter response device ("clicker") numbers'); - my $change=&mt('Register'); + my $change=&mt('Save'); my $helplink=&Apache::loncommon::help_open_topic('Clicker_Registration',&mt('Locating your clicker ID')); $r->print(< @@ -660,11 +677,8 @@ sub verify_and_change_clicker { $newclickers=~s/\,$//; &Apache::lonnet::put('environment',{'clickers' => $newclickers}); &Apache::lonnet::appenv({'environment.clickers' => $newclickers}); - my $message=&Apache::lonhtmlcommon::confirm_success(&mt('Registering clickers: [_1]',$newclickers)); - $message=&Apache::loncommon::confirmwrapper($message); - $r->print(<print(&mt('Registering clickers: [_1]',$newclickers)); + print_main_menu($r, &mt('Registering clickers: [_1]',$newclickers)); } ################################################################ @@ -673,13 +687,18 @@ ENDVCSCREEN sub domcoordchanger { my $r = shift; + Apache::lonhtmlcommon::add_breadcrumb( + { href => '/adm/preferences?action=changedomcoord', + text => 'Restrict Domain Coordinator Access'}); + $r->print(Apache::loncommon::start_page('Restrict Domain Coordinator Access')); + $r->print(Apache::lonhtmlcommon::breadcrumbs('Restrict Domain Coordinator Access')); my $user = $env{'user.name'}; my $domain = $env{'user.domain'}; my %userenv = &Apache::lonnet::get ('environment',['domcoord.author']); my $constchecked=''; if ($userenv{'domcoord.author'} eq 'blocked') { - $constchecked=' checked="checked"'; + $constchecked='checked="checked"'; } my $text=&mt('By default, the Domain Coordinator can enter your construction space.'); my $construction=&mt('Block access to construction space'); @@ -688,7 +707,7 @@ sub domcoordchanger { $text
-
+
ENDSCREEN @@ -702,17 +721,8 @@ sub verify_and_change_domcoord { if ($env{'form.construction'}) { $domcoord{'domcoord.author'}='blocked'; } &Apache::lonnet::put('environment',\%domcoord); &Apache::lonnet::appenv({'environment.domcoord.author' => $domcoord{'domcoord.author'}}); - my $status=''; - if ($domcoord{'domcoord.author'} eq 'blocked') { - $status=&mt('on'); - } else { - $status=&mt('off'); - } - my $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]',''.&mt('Block access to construction space').'',''.$status.'')); - $message=&Apache::loncommon::confirmwrapper($message); - $r->print(<print(&mt('Registering Domain Coordinator access restrictions.')); + print_main_menu($r, &mt('Registering Domain Coordinator access restrictions.')); } ################################################################# @@ -765,18 +775,23 @@ sub msgforwardchanger { all => 'All', crit => 'Critical only', reg => 'Non-critical only', - foad => 'Forward to account(s)', - fwdm => 'Forward messages to other account(s) in LON-CAPA', - noti => 'E-mail notification of LON-CAPA messages', + foad => 'Forwarding Address(es)', + noti => 'Notification E-mail Address(es)', foad_exmpl => 'e.g. userA:domain1,userB:domain2,...', mnot => 'E-mail Address(es) which should be notified about new LON-CAPA messages', + # old: 'Message Notification Email Address(es)', mnot_exmpl => 'e.g. joe@doe.com', chg => 'Save', email => 'The e-mail address entered in row ', notv => 'is not a valid e-mail address', - toen => "To enter multiple addresses, enter one address at a time, click 'Save' and then add the next one", + toen => "To enter multiple addresses, enter one address at a time, click 'Change' and then add the next one", prme => 'Back', ); + Apache::lonhtmlcommon::add_breadcrumb( + { href => '/adm/preferences?action=changemsgforward', + text => 'Change Message Forwarding/Notification'}); + $r->print(Apache::loncommon::start_page('Message Management')); + $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Message Forwarding/Notification')); my $forwardingHelp = &Apache::loncommon::help_open_topic("Prefs_Forwarding"); my $notificationHelp = &Apache::loncommon::help_open_topic("Prefs_Notification"); my $criticalMessageHelp = &Apache::loncommon::help_open_topic("Course_Critical_Message"); @@ -784,7 +799,7 @@ sub msgforwardchanger { my %allnot = &get_notifications(\%userenv); my $validatescript = &Apache::lonhtmlcommon::javascript_valid_email(); my $jscript = qq| -