--- loncom/interface/lonpreferences.pm 2008/12/02 20:10:27 1.127 +++ loncom/interface/lonpreferences.pm 2009/02/26 16:17:29 1.147 @@ -1,7 +1,7 @@ # The LearningOnline Network # Preferences # -# $Id: lonpreferences.pm,v 1.127 2008/12/02 20:10:27 droeschl Exp $ +# $Id: lonpreferences.pm,v 1.147 2009/02/26 16:17:29 schafran Exp $ # # Copyright Michigan State University Board of Trustees # @@ -101,7 +101,7 @@ sub wysiwygchanger { Apache::lonhtmlcommon::add_breadcrumb( { href => '/adm/preferences?action=changewysiwyg', text => 'Change WYSIWYG Preferences'}); - $r->print(Apache::loncommon::start_page('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 @@ -126,7 +126,7 @@ $warning
ENDLSCREEN - $r->print('
'); + $r->print('
'); } @@ -149,7 +149,7 @@ sub languagechanger { Apache::lonhtmlcommon::add_breadcrumb( { href => '/adm/preferences?action=changelanguages', text => 'Change Language'}); - $r->print(Apache::loncommon::start_page('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'}; @@ -172,7 +172,7 @@ sub languagechanger {
$pref: $selectionbox ENDLSCREEN - $r->print('
'); + $r->print('
'); } @@ -190,9 +190,10 @@ sub verify_and_change_languages { $message=&mt('Set new preferred languages to ').'"'.$newlanguage.'".'; } else { &Apache::lonnet::del('environment',['languages']); - &Apache::lonnet::delenv('environment\.languages'); + &Apache::lonnet::delenv('environment.languages'); $message=&mt('Reset preferred language.'); } + &Apache::loncommon::flush_langs_cache($user,$domain); print_main_menu($r, $message); # $r->print(< '/adm/preferences?action=changetexenginepref', text => 'Change How Math Equations Are Displayed'}); - $r->print(Apache::loncommon::start_page('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'}; @@ -226,7 +227,7 @@ sub texenginechanger { my %lt=&Apache::lonlocal::texthash( 'headline' => 'Change Math Preferences', 'preftxt' => 'Preferred method to display Math', - 'change' => 'Change', + 'change' => 'Save', 'exmpl' => 'Examples', 'jsmath' => 'jsMath:', 'tth' => 'tth (TeX to HTML):', @@ -238,8 +239,9 @@ sub texenginechanger {

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


@@ -305,7 +307,7 @@ sub verify_and_change_texengine { $message=&mt('Set new preferred math display to ').'"'.$newtexengine.'".'; } else { &Apache::lonnet::del('environment',['texengine']); - &Apache::lonnet::delenv('environment\.texengine'); + &Apache::lonnet::delenv('environment.texengine'); $message=&mt('Reset preferred math display.'); } @@ -330,7 +332,7 @@ sub rolesprefchanger { Apache::lonhtmlcommon::add_breadcrumb( { href => '/adm/preferences?action=changerolespref', text => 'Change '.$role.' Page Pref'}); - $r->print(Apache::loncommon::start_page('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'}; @@ -401,7 +403,7 @@ sub rolesprefchanger {

'.$roles_check_list.'
- + '); } @@ -450,7 +452,7 @@ sub verify_and_change_rolespref { $message=&mt('Recent '.$role.'s Hotlist is Enabled'); } else { &Apache::lonnet::del('environment',['recentroles']); - &Apache::lonnet::delenv('environment\.recentroles'); + &Apache::lonnet::delenv('environment.recentroles'); $message=&mt('Recent '.$role.'s Hotlist is Disabled'); } if ($hotlist_n) { @@ -514,27 +516,30 @@ sub screennamechanger { ('environment',['screenname','nickname']); my $screenname=$userenv{'screenname'}; my $nickname=$userenv{'nickname'}; - my %lt = &Apache::lonlocal::texthash( - text_screenname => 'New screenname (shown if you post anonymously):', - text_nickname => 'New nickname (shown if you post non-anonymously):', - text_submit => 'Change', - ); Apache::lonhtmlcommon::add_breadcrumb( { href => '/adm/preferences?action=changescreenname', text => 'Change Screen Name'}); - $r->print(Apache::loncommon::start_page('Change Screen Name')); + $r->print(Apache::loncommon::start_page('Personal Data')); $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Screen Name')); - $r->print(< - -
$lt{'text_screenname'} - -
$lt{'text_nickname'} - -
- - -ENDSCREEN + $r->print('

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

' + ); + $r->print('
' + .'' + .&Apache::lonhtmlcommon::start_pick_box() + .&Apache::lonhtmlcommon::row_title(&mt('New screenname (shown if you post anonymously)')) + .'' + .&Apache::lonhtmlcommon::row_closure() + .&Apache::lonhtmlcommon::row_title(&mt('New nickname (shown if you post non-anonymously)')) + .'' + .&Apache::lonhtmlcommon::row_closure() + .&Apache::lonhtmlcommon::row_title() + .'' + .&Apache::lonhtmlcommon::row_closure(1) + .&Apache::lonhtmlcommon::end_pick_box() + .'
' + ); } sub verify_and_change_screenname { @@ -551,7 +556,7 @@ sub verify_and_change_screenname { $message=&mt('Set new screenname to ').'"'.$newscreen.'.".'; } else { &Apache::lonnet::del('environment',['screenname']); - &Apache::lonnet::delenv('environment\.screenname'); + &Apache::lonnet::delenv('environment.screenname'); $message=&mt('Reset screenname.'); } # Nickname @@ -564,7 +569,7 @@ sub verify_and_change_screenname { $message.=&mt('Set new nickname to ').'"'.$newscreen.'".'; } else { &Apache::lonnet::del('environment',['nickname']); - &Apache::lonnet::delenv('environment\.nickname'); + &Apache::lonnet::delenv('environment.nickname'); $message.=&mt('Reset nickname.'); } &Apache::lonnet::devalidate_cache_new('namescache',$user.':'.$domain); @@ -582,7 +587,7 @@ sub iconchanger { Apache::lonhtmlcommon::add_breadcrumb( { href => '/adm/preferences?action=changeicons', text => 'Change Main Menu'}); - $r->print(Apache::loncommon::start_page('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'}; @@ -603,7 +608,7 @@ sub iconchanger { my $useicons=&mt('Use icons and text'); my $usebuttons=&mt('Use buttons and text'); my $useicononly=&mt('Use icons only'); - my $change=&mt('Change'); + my $change=&mt('Save'); $r->print(< @@ -636,7 +641,7 @@ sub clickerchanger { Apache::lonhtmlcommon::add_breadcrumb( { href => '/adm/preferences?action=changeclicker', text => 'Register Clicker'}); - $r->print(Apache::loncommon::start_page('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'}; @@ -696,7 +701,7 @@ sub domcoordchanger { } my $text=&mt('By default, the Domain Coordinator can enter your construction space.'); my $construction=&mt('Block access to construction space'); - my $change=&mt('Change'); + my $change=&mt('Save'); $r->print(< @@ -772,18 +777,19 @@ sub msgforwardchanger { foad => 'Forwarding Address(es)', noti => 'Notification E-mail Address(es)', foad_exmpl => 'e.g. userA:domain1,userB:domain2,...', - mnot => 'Email Address(es) which should be notified about new LON-CAPA messages', # old: 'Message Notification Email Address(es)', + 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 => 'Change', + 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 'Change' and then add the next one", - prme => 'Back to preferences menu', + prme => 'Back', ); Apache::lonhtmlcommon::add_breadcrumb( { href => '/adm/preferences?action=changemsgforward', text => 'Change Message Forwarding/Notification'}); - $r->print(Apache::loncommon::start_page('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"); @@ -950,8 +956,8 @@ ENDMSG $r->print(qq|

- + |); @@ -997,7 +1003,7 @@ sub verify_and_change_msgforward { .'
'; } else { &Apache::lonnet::del('environment',['msgforward']); - &Apache::lonnet::delenv('environment\.msgforward'); + &Apache::lonnet::delenv('environment.msgforward'); $message.= &mt("Set message forwarding to 'off'.").'
'; } my $critnotification; @@ -1037,7 +1043,7 @@ sub verify_and_change_msgforward { $message.=&mt('Set non-critical message notification address(es) to ').'"'.$notification.'".
'; } else { &Apache::lonnet::del('environment',['notification']); - &Apache::lonnet::delenv('environment\.notification'); + &Apache::lonnet::delenv('environment.notification'); $message.=&mt("Set non-critical message notification to 'off'.").'
'; } if ($critnotification) { @@ -1046,7 +1052,7 @@ sub verify_and_change_msgforward { $message.=&mt('Set critical message notification address(es) to ').'"'.$critnotification.'".
'; } else { &Apache::lonnet::del('environment',['critnotification']); - &Apache::lonnet::delenv('environment\.critnotification'); + &Apache::lonnet::delenv('environment.critnotification'); $message.=&mt("Set critical message notification to 'off'.").'
'; } if ($critnotification || $notification) { @@ -1056,7 +1062,7 @@ sub verify_and_change_msgforward { $message.=&mt('Set address(es) to receive excerpts with html retained ').'"'.$notify_with_html.'".'; } else { &Apache::lonnet::del('environment',['notifywithhtml']); - &Apache::lonnet::delenv('environment\.notifywithhtml'); + &Apache::lonnet::delenv('environment.notifywithhtml'); if ($totaladdresses == 1) { $message.=&mt("Set notification address to receive excerpts with html stripped."); } else { @@ -1065,7 +1071,7 @@ sub verify_and_change_msgforward { } } else { &Apache::lonnet::del('environment',['notifywithhtml']); - &Apache::lonnet::delenv('environment\.notifywithhtml'); + &Apache::lonnet::delenv('environment.notifywithhtml'); } if ($message) { $message .= '

'; @@ -1083,7 +1089,7 @@ sub colorschanger { Apache::lonhtmlcommon::add_breadcrumb( { href => '/adm/preferences?action=changecolors', text => 'Change Colors'}); - $r->print(Apache::loncommon::start_page('Change Colors')); + $r->print(Apache::loncommon::start_page('Page Display Settings')); $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Colors')); # figure out colors my $function=&Apache::loncommon::get_users_function(); @@ -1110,6 +1116,9 @@ sub colorschanger { } my $end_data_table = &Apache::loncommon::end_data_table(); my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition(); + my $save = &mt('Save'); + my $rstall = &mt('Reset All'); + my $resetdefault = &mt('Reset All Colors to Default'); $r->print(< @@ -1148,8 +1157,8 @@ $start_data_table $chtable $end_data_table - - + + ENDCOL } @@ -1177,7 +1186,7 @@ sub verify_and_change_colors { $message.=&mt('Set '.$colortypes{$item}.' to ').'"'.$color.'".
'; } else { &Apache::lonnet::del('environment',[$entry]); - &Apache::lonnet::delenv('environment\.'.$entry); + &Apache::lonnet::delenv('environment.'.$entry); $message.=&mt('Reset '.$colortypes{$item}.'.').'
'; } } @@ -1206,8 +1215,10 @@ sub passwordchanger { Apache::lonhtmlcommon::add_breadcrumb( { href => '/adm/preferences?action=changepass', text => 'Change Password'}); - $r->print(Apache::loncommon::start_page('Change Password')); - $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Password')); + unless ($caller eq 'reset_by_email') { + $r->print(Apache::loncommon::start_page('Personal Data')); + $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Password')); + } if ((!defined($caller)) || ($caller eq 'preferences')) { $user = $env{'user.name'}; $domain = $env{'user.domain'}; @@ -1333,7 +1344,7 @@ sub client_form { 'currentpass' => 'Current Password', 'newpass' => 'New Password', 'confirmpass' => 'Confirm Password', - 'changepass' => 'Change Password'); + 'changepass' => 'Save'); my $output = qq|
@@ -1543,14 +1554,19 @@ ENDERROR # Inform the user the password has (not?) been changed my $message; if ($result =~ /^ok$/) { - $message = &mt('The password for [_1] was successfully changed',$user); - print_main_menu($r, $message); + $message = &mt('The password for [_1] was successfully changed.',$user); + if ($caller eq 'reset_by_email') { + $r->print($message.'
'); + } else { + &print_main_menu($r, $message); + } # $r->print("

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

"); } else { # error error: run in circles, scream and shout - $message = &mt("The password for [_1] was not changed",$user) - .&mt('Please make sure your old password was entered correctly.'); - print_main_menu($r, $message); + $message = &mt("The password for [_1] was not changed.",$user).' '.&mt('Please make sure your old password was entered correctly.'); + unless ($caller eq 'reset_by_email') { + &print_main_menu($r, $message); + } # $r->print("

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

". # &mt('Please make sure your old password was entered correctly.')); return 1; @@ -1566,7 +1582,7 @@ sub discussionchanger { Apache::lonhtmlcommon::add_breadcrumb( { href => '/adm/preferences?action=changediscussions', text => 'Change Discussion Preferences'}); - $r->print(Apache::loncommon::start_page('Change Discussion Preferences')); + $r->print(Apache::loncommon::start_page('Message Management')); $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Discussion Preferences')); my $user = $env{'user.name'}; my $domain = $env{'user.domain'}; @@ -1596,9 +1612,9 @@ sub discussionchanger { 'pref' => 'Display Preference', 'curr' => 'Current setting ', 'actn' => 'Action', - 'sdpf' => 'Set display preferences for discussion posts for both bulletin boards and individual resources in all your courses.', + 'sdpf' => 'Set display preferences for discussion posts for both discussion boards and individual resources in all your courses.', 'prca' => 'Preferences can be set that determine', - 'whpo' => 'Which posts are displayed when you display a bulletin board or resource, and', + 'whpo' => 'Which posts are displayed when you display a discussion board or resource, and', 'unwh' => 'Under what circumstances posts are identfied as "New"', 'allposts' => 'All posts', 'unread' => 'New posts only', @@ -1658,15 +1674,8 @@ END END $r->print(&Apache::loncommon::end_data_table_row(). &Apache::loncommon::end_data_table()); - $r->print(<<"END"); -
-
- -
-
-Note: $lt{'thde'} -
-END + + $r->print('



'.&mt('Note').': '.$lt{'thde'}.''); } sub verify_and_change_discussion { @@ -1683,7 +1692,7 @@ sub verify_and_change_discussion { } else { $message .= &mt('In discussions: all posts will be displayed.').'
'; &Apache::lonnet::del('environment',['discdisplay']); - &Apache::lonnet::delenv('environment\.discdisplay'); + &Apache::lonnet::delenv('environment.discdisplay'); } } if (defined($env{'form.discmark'}) ) { @@ -1695,7 +1704,7 @@ sub verify_and_change_discussion { } else { $message.=&mt('In discussions: posts will be identified as "NEW" until marked as read by the reader.').'
'; &Apache::lonnet::del('environment',['discmarkread']); - &Apache::lonnet::delenv('environment\.discmarkread'); + &Apache::lonnet::delenv('environment.discmarkread'); } } # $r->print(< 'First resource', - whatsnew => "What's new page", + whatsnew => "What's New Page", ); - my $whatsnew_off=&mt('Display the [_1] in the course.','first resource'); - my $whatsnew_on=&mt('Display the "[_1]" page - a summary of items in the course which require attention.',"What's New"); + my $whatsnew_off=&mt('Display the [_1]first resource[_2] in the course.','',''); + my $whatsnew_on=&mt("Display the [_1]What's New Page[_2] - a summary of items in the course which require attention.",'',''); - $r->print('
'.&mt('Set the default page to be displayed when you select a course role').' '.&mt('(Currently: [_1])',$pagenames{$currvalue}).'
'.&mt('The global user preference you set for your courses can be overridden in an individual course by setting a course specific setting via the "[_1]" page in the course',"What's New").'

'); + $r->print('
' + .&mt('Set the default page to be displayed when you select a course role') + .' ' + .&mt('(Currently: [_1])',$pagenames{$currvalue}) + .'
' + .&mt("The global user preference you set for your courses can be overridden in an individual course by setting a course specific setting via the [_1]What's New Page[_2] in the course.",'','') + .'

' + ); $r->print(< @@ -1742,7 +1758,7 @@ sub coursedisplaychanger {
ENDLSCREEN - $r->print('

+ $r->print('

'); } @@ -1755,7 +1771,7 @@ sub verify_and_change_coursepage { 'ywbt' => 'you will be taken to the start of the course.', 'apwb' => 'a page will be displayed that lists items in the course that may require action from you.', 'gtts' => 'Go to the start of the course', - 'dasp' => "Display the What's New page listing course action items", + 'dasp' => "Display the What's New Page", ); my $newdisp = $env{'form.newdisp'}; $message = ''.$lt{'defs'}.': '.$lt{'when'}.', '; @@ -1766,7 +1782,7 @@ sub verify_and_change_coursepage { } else { $message .= $lt{'apwb'}.'
'; &Apache::lonnet::del('environment',['course_init_display']); - &Apache::lonnet::delenv('environment\.course_init_display'); + &Apache::lonnet::delenv('environment.course_init_display'); } my $refpage = $env{'form.refpage'}; if (($env{'request.course.fn'}) && ($env{'request.course.id'})) { @@ -1798,12 +1814,16 @@ sub print_main_menu { # build the data structure for menu generation my $aboutmeurl='/adm/'.$env{'user.domain'}.'/'.$env{'user.name'}.'/aboutme'; my $role = ($env{'user.adv'} ? 'Roles' : 'Course'); +my %permissions; +if (&Apache::lonnet::usertools_access($user,$domain,'aboutme')) { + $permissions{'aboutme'} = 'F'; +} my @menu= ({ categorytitle=>'Personal Data', items =>[ - { linktext => 'About Me', + { linktext => 'Personal Information Page', url => $aboutmeurl, - permission => 'F', + permission => $permissions{'aboutme'}, #help => 'Prefs_About_Me', icon => 'system-users.png', linktitle => 'Edit information about yourself that should be displayed on your public profile.' @@ -1836,24 +1856,6 @@ my @menu= ] }, - { categorytitle=>'Message Management', - items =>[ - { linktext => 'Messages & Notifications', - url => '/adm/preferences?action=changemsgforward', - permission => 'F', - #help => 'Prefs_Messages', - icon => 'mail-reply-all.png', - linktitle => 'Change messageforwarding or notifications settings.' - }, - { linktext => 'Discussion Display Preferences', - url => '/adm/preferences?action=changediscussions', - permission => 'F', - #help => 'Change_Discussion_Display', - icon => 'mail-message-new.png', - linktitle => 'Set display preferences for discussion posts for both bulletin boards and individual resources in all your courses.' - }, - ] - }, { categorytitle=>'Content Display Settings', items =>[ { linktext => 'Language', @@ -1863,14 +1865,14 @@ my @menu= icon => 'preferences-desktop-locale.png', linktitle => 'Choose the default language for this user.' }, - { linktext => 'WYSIWYG Editor Preferences', + { linktext => 'WYSIWYG Editor', url => '/adm/preferences?action=changewysiwyg', permission => 'F', #help => '', icon => 'edit-select-all.png', linktitle => 'Enable or disable the WYSIWYG-Editor.' }, - { linktext => $role.' Page Preferences', + { linktext => $role.' Page', url => '/adm/preferences?action=changerolespref', permission => 'F', #help => '', @@ -1886,6 +1888,24 @@ my @menu= }, ] }, + { categorytitle=>'Message Management', + items =>[ + { linktext => 'Messages & Notifications', + url => '/adm/preferences?action=changemsgforward', + permission => 'F', + #help => 'Prefs_Messages', + icon => 'mail-reply-all.png', + linktitle => 'Change messageforwarding or notifications settings.' + }, + { linktext => 'Discussion Display', + url => '/adm/preferences?action=changediscussions', + permission => 'F', + #help => 'Change_Discussion_Display', + icon => 'mail-message-new.png', + linktitle => 'Set display preferences for discussion posts for both discussion boards and individual resources in all your courses.' + }, + ] + }, { categorytitle=>'Other', items =>[ { linktext => 'Register Response Devices ("Clickers")', @@ -1944,7 +1964,7 @@ push(@{ $menu[4]->{items} }, { || &Apache::lonnet::allowed('whn',$env{'request.course.id'}.'/' .$env{'request.course.sec'})) { push(@{ $menu[4]->{items} }, { - linktext => 'Course Initialization Preference', + linktext => 'Course Initialization', url => '/adm/preferences?action=changecourseinit', permission => 'F', #help => '', @@ -1964,7 +1984,7 @@ push(@{ $menu[4]->{items} }, { }); } - $r->print(&Apache::loncommon::start_page('Change Preferences')); + $r->print(&Apache::loncommon::start_page('My Space')); $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Preferences')); $r->print($message); $r->print(Apache::lonhtmlcommon::generate_menu(@menu)); @@ -2119,7 +2139,7 @@ sub handler2 { })); push (@Options,({ action => 'changemsgforward', - linktext => 'Change Message Forwarding and Notification Email Addresses', + linktext => 'Change Message Forwarding and Notification E-mail Addresses', href => '/adm/preferences', help => 'Prefs_Messages', breadcrumb => @@ -2138,7 +2158,7 @@ sub handler2 { '/adm/'.$env{'user.domain'}.'/'.$env{'user.name'}.'/aboutme'; push (@Options,{ action => 'none', linktext => - q{Edit the 'About Me' Personal Information Screen}, + q{Edit the Personal Information Page}, help => 'Prefs_About_Me', href => $aboutmeaction}); push (@Options,({ action => 'changecolors', @@ -2415,7 +2435,7 @@ sub handler2 { sub toggle_debug { if ($env{'user.debug'}) { - &Apache::lonnet::delenv('user\.debug'); + &Apache::lonnet::delenv('user.debug'); } else { &Apache::lonnet::appenv({'user.debug' => 1}); }