--- loncom/interface/lonpreferences.pm 2008/12/12 19:57:58 1.125.2.1
+++ loncom/interface/lonpreferences.pm 2009/02/19 11:01:29 1.141
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Preferences
#
-# $Id: lonpreferences.pm,v 1.125.2.1 2008/12/12 19:57:58 raeburn Exp $
+# $Id: lonpreferences.pm,v 1.141 2009/02/19 11:01:29 weissno Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -98,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('Change WYSIWYG Preferences'));
+ $r->print(Apache::lonhtmlcommon::breadcrumbs('Change WYSIWYG Preferences'));
+
my %userenv = &Apache::lonnet::get
('environment',['wysiwygeditor']);
my $onselect='checked="checked"';
@@ -120,7 +126,7 @@ $warning
ENDLSCREEN
- $r->print('
');
+ $r->print('
');
}
@@ -129,7 +135,9 @@ sub verify_and_change_wysiwyg {
my $newsetting=$env{'form.wysiwyg'};
&Apache::lonnet::put('environment',{'wysiwygeditor' => $newsetting});
&Apache::lonnet::appenv({'environment.wysiwygeditor' => $newsetting});
- $r->print('
'.&mt('Setting WYSIWYG editor to:').' '.&mt($newsetting).'
');
+# $r->print(''.&mt('Setting WYSIWYG editor to:').' '.&mt($newsetting).'
');
+ print_main_menu($r,''.&mt('Setting WYSIWYG editor to:').' '
+ .&mt($newsetting).'
');
}
################################################################
@@ -137,6 +145,12 @@ sub verify_and_change_wysiwyg {
################################################################
sub languagechanger {
my $r = shift;
+
+ Apache::lonhtmlcommon::add_breadcrumb(
+ { href => '/adm/preferences?action=changelanguages',
+ text => 'Change Language'});
+ $r->print(Apache::loncommon::start_page('Change Language'));
+ $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Language'));
my $user = $env{'user.name'};
my $domain = $env{'user.domain'};
my %userenv = &Apache::lonnet::get
@@ -158,7 +172,7 @@ sub languagechanger {
$pref: $selectionbox
ENDLSCREEN
- $r->print('
');
+ $r->print('
');
}
@@ -176,12 +190,14 @@ 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.');
}
- $r->print(<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::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']);
@@ -206,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):',
@@ -218,8 +239,9 @@ sub texenginechanger {
@@ -285,14 +307,15 @@ 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.');
}
- $r->print(<print(< '/adm/preferences?action=changerolespref',
+ text => 'Change '.$role.' Page Pref'});
+ $r->print(Apache::loncommon::start_page('Change '.$role.' Page Pref'));
+ $r->print(Apache::lonhtmlcommon::breadcrumbs('Change '.$role.' Page Pref'));
my $hotlist_flag=$userenv{'recentroles'};
my $hotlist_n=$userenv{'recentrolesn'};
my $checked;
@@ -375,7 +403,7 @@ sub rolesprefchanger {
'.$roles_check_list.'
-
+
');
}
@@ -424,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) {
@@ -469,9 +497,10 @@ sub verify_and_change_rolespref {
}
$message .= "
\n";
- $r->print(<print(< 'New screenname (shown if you post anonymously):',
- text_nickname => 'New nickname (shown if you post non-anonymously):',
- text_submit => 'Change',
- );
- $r->print(<
-
-
$lt{'text_screenname'}
-
-
$lt{'text_nickname'}
-
-
-
-
-ENDSCREEN
+ 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::lonhtmlcommon::breadcrumbs('Change Screen Name'));
+ $r->print(''
+ .&mt('Change the name that is displayed in your posts.')
+ .'
'
+ );
+ $r->print(''
+ );
}
sub verify_and_change_screenname {
@@ -519,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
@@ -532,13 +569,14 @@ 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);
- $r->print(<print(< '/adm/preferences?action=changeicons',
+ text => 'Change Main Menu'});
+ $r->print(Apache::loncommon::start_page('Change Main Menu'));
+ $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Main Menu'));
+
my $user = $env{'user.name'};
my $domain = $env{'user.domain'};
my %userenv = &Apache::lonnet::get
@@ -564,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(<
@@ -584,7 +628,8 @@ sub verify_and_change_icons {
&Apache::lonnet::put('environment',{'icons' => $newicons});
&Apache::lonnet::appenv({'environment.icons' => $newicons});
- $r->print(&mt('Set menu mode to [_1].',$newicons));
+# $r->print(&mt('Set menu mode to [_1].',$newicons));
+ print_main_menu($r, &mt('Set menu mode to [_1].',$newicons));
}
################################################################
@@ -593,6 +638,11 @@ sub verify_and_change_icons {
sub clickerchanger {
my $r = shift;
+ Apache::lonhtmlcommon::add_breadcrumb(
+ { href => '/adm/preferences?action=changeclicker',
+ text => 'Register Clicker'});
+ $r->print(Apache::loncommon::start_page('Register Clicker'));
+ $r->print(Apache::lonhtmlcommon::breadcrumbs('Register Clicker'));
my $user = $env{'user.name'};
my $domain = $env{'user.domain'};
my %userenv = &Apache::lonnet::get
@@ -626,7 +676,8 @@ sub verify_and_change_clicker {
$newclickers=~s/\,$//;
&Apache::lonnet::put('environment',{'clickers' => $newclickers});
&Apache::lonnet::appenv({'environment.clickers' => $newclickers});
- $r->print(&mt('Registering clickers: [_1]',$newclickers));
+# $r->print(&mt('Registering clickers: [_1]',$newclickers));
+ print_main_menu($r, &mt('Registering clickers: [_1]',$newclickers));
}
################################################################
@@ -635,6 +686,11 @@ sub verify_and_change_clicker {
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
@@ -645,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(<
@@ -664,7 +720,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'}});
- $r->print(&mt('Registering Domain Coordinator access restrictions.'));
+# $r->print(&mt('Registering Domain Coordinator access restrictions.'));
+ print_main_menu($r, &mt('Registering Domain Coordinator access restrictions.'));
}
#################################################################
@@ -720,14 +777,20 @@ 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::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");
@@ -893,8 +956,8 @@ ENDMSG
$r->print(qq|
-
+
|);
@@ -940,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;
@@ -980,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) {
@@ -989,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) {
@@ -999,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 {
@@ -1008,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 .= '
';
@@ -1023,6 +1086,11 @@ sub verify_and_change_msgforward {
sub colorschanger {
my $r = shift;
+ Apache::lonhtmlcommon::add_breadcrumb(
+ { href => '/adm/preferences?action=changecolors',
+ text => 'Change Colors'});
+ $r->print(Apache::loncommon::start_page('Change Colors'));
+ $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Colors'));
# figure out colors
my $function=&Apache::loncommon::get_users_function();
my $domain=&Apache::loncommon::determinedomain();
@@ -1048,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(<
@@ -1086,8 +1157,8 @@ $start_data_table
$chtable
$end_data_table
-
-
+
+
ENDCOL
}
@@ -1115,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}.'.').'
';
}
}
@@ -1123,12 +1194,13 @@ sub verify_and_change_colors {
&Apache::lonnet::put('environment',{'color.timestamp' => $now});
&Apache::lonnet::appenv({'environment.color.timestamp' => $now});
- $r->print(<
-
-
-ENDVCCOL
+ print_main_menu($r, $message);
+# $r->print(<
+#
+#
+#ENDVCCOL
}
######################################################
@@ -1140,6 +1212,11 @@ sub passwordchanger {
# Passwords are encrypted using londes.js (DES encryption)
$errormessage = ($errormessage || '');
my ($user,$domain,$currentpass,$defdom);
+ 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'));
if ((!defined($caller)) || ($caller eq 'preferences')) {
$user = $env{'user.name'};
$domain = $env{'user.domain'};
@@ -1265,7 +1342,7 @@ sub client_form {
'currentpass' => 'Current Password',
'newpass' => 'New Password',
'confirmpass' => 'Confirm Password',
- 'changepass' => 'Change Password');
+ 'changepass' => 'Save');
my $output = qq|
');
}
@@ -1681,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'})) {
@@ -1696,12 +1797,199 @@ sub verify_and_change_coursepage {
$refpage.'">'.$lt{'dasp'}.'';
}
}
- $r->print(<
-ENDVCSCREEN
+# $r->print(<
+#ENDVCSCREEN
+ print_main_menu($r, $message);
}
+sub print_main_menu {
+ my ($r, $message) = @_;
+ # Determine current authentication method
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
+ my $currentauth=&Apache::lonnet::queryauthenticate($user,$domain);
+
+ # 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 => 'Personal Information Page',
+ url => $aboutmeurl,
+ permission => $permissions{'aboutme'},
+ #help => 'Prefs_About_Me',
+ icon => 'system-users.png',
+ linktitle => 'Edit information about yourself that should be displayed on your public profile.'
+ },
+ { linktext => 'Screen Name',
+ url => '/adm/preferences?action=changescreenname',
+ permission => 'F',
+ #help => 'Prefs_Screen_Name_Nickname',
+ icon => 'preferences-desktop-font.png',
+ linktitle => 'Change the name that is displayed in your posts.'
+ },
+ ]
+ },
+ { categorytitle=>'Page Display Settings',
+ items =>[
+ { linktext => 'Color Scheme',
+ url => '/adm/preferences?action=changecolors',
+ permission => 'F',
+ #help => 'Change_Colors',
+ icon => 'preferences-desktop-theme.png',
+ linktitle => 'Change LON-CAPA default colors.'
+ },
+ { linktext => 'Menu Display',
+ url => '/adm/preferences?action=changeicons',
+ permission => 'F',
+ #help => '',
+ icon => 'preferences-system-windows.png',
+ linktitle => 'Change whether the menus are displayed with buttons, icons or icons and text.'
+ }
+
+ ]
+ },
+ { categorytitle=>'Content Display Settings',
+ items =>[
+ { linktext => 'Language',
+ url => '/adm/preferences?action=changelanguages',
+ permission => 'F',
+ #help => 'Prefs_Language',
+ icon => 'preferences-desktop-locale.png',
+ linktitle => 'Choose the default language for this user.'
+ },
+ { 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',
+ url => '/adm/preferences?action=changerolespref',
+ permission => 'F',
+ #help => '',
+ icon => 'sctr.png',
+ linktitle => 'Configure the roles hotlist.'
+ },
+ { linktext => 'Display of Scientific Equations',
+ url => '/adm/preferences?action=changetexenginepref',
+ permission => 'F',
+ #help => '',
+ icon => 'stat.png',
+ linktitle => 'Change how Scientific Equations are displayed.'
+ },
+ ]
+ },
+ { 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")',
+ url => '/adm/preferences?action=changeclicker',
+ permission => 'F',
+ #help => '',
+ icon => 'network-workgroup.png',
+ linktitle => 'Register your clicker.'
+ },
+ ]
+ },
+ );
+
+ if ($currentauth =~ /^(unix|internal):/) {
+push(@{ $menu[0]->{items} }, {
+ linktext => 'Password',
+ url => '/adm/preferences?action=changepass',
+ permission => 'F',
+ #help => 'Change_Password',
+ icon => 'emblem-readonly.png',
+ linktitle => 'Change your password.',
+ });
+ }
+ if ($env{'environment.remote'} eq 'off') {
+push(@{ $menu[1]->{items} }, {
+ linktext => 'Launch Remote Control',
+ url => '/adm/remote?url=/adm/preferences?action=launch',
+ permission => 'F',
+ #help => '',
+ icon => 'network-wireless.png',
+ linktitle => 'Launch the remote control for LON-CAPA.',
+ });
+ }else{
+push(@{ $menu[1]->{items} }, {
+ linktext => 'Collapse Remote Control',
+ url => '/adm/remote?url=/adm/preferences?action=collapse',
+ permission => 'F',
+ #help => '',
+ icon => 'network-wireless.png',
+ linktitle => 'Collapse the remote control for LON-CAPA.',
+ });
+ }
+ my %author_roles = &Apache::lonnet::get_my_roles($user,$domain,'userroles','',['au']);
+ if (keys(%author_roles) > 0) {
+push(@{ $menu[4]->{items} }, {
+ linktext => 'Restrict Domain Coordinator Access',
+ url => '/adm/preferences?action=changedomcoord',
+ permission => 'F',
+ #help => '',
+ icon => 'system-lock-screen.png',
+ linktitle => 'Restrict domain coordinator access.',
+ });
+ }
+
+ if (&Apache::lonnet::allowed('whn',$env{'request.course.id'})
+ || &Apache::lonnet::allowed('whn',$env{'request.course.id'}.'/'
+ .$env{'request.course.sec'})) {
+push(@{ $menu[4]->{items} }, {
+ linktext => 'Course Initialization',
+ url => '/adm/preferences?action=changecourseinit',
+ permission => 'F',
+ #help => '',
+ icon => 'edit-copy.png',
+ linktitle => 'Set the default page to be displayed when you select a course role.',
+ });
+
+ }
+ if ($env{'user.name'} =~ /^(albertel|fox|foxr|kortemey|korte|raeburn)$/) {
+push(@{ $menu[4]->{items} }, {
+ linktext => 'Toggle Debug Messages (Current:'.$env{'user.debug'}.')',
+ url => '/adm/preferences?action=debugtoggle',
+ permission => 'F',
+ #help => '',
+ icon => 'blog.png',
+ linktitle => 'Toggle Debug Messages.',
+ });
+ }
+
+ $r->print(&Apache::loncommon::start_page('Change Preferences'));
+ $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Preferences'));
+ $r->print($message);
+ $r->print(Apache::lonhtmlcommon::generate_menu(@menu));
+ $r->print(Apache::loncommon::end_page());
+}
######################################################
# other handler subroutines #
@@ -1710,7 +1998,91 @@ ENDVCSCREEN
################################################################
# Main handler #
################################################################
-sub handler {
+sub handler {
+ my $r = shift;
+ Apache::loncommon::content_type($r,'text/html');
+ # Some pages contain DES keys and should not be cached.
+ Apache::loncommon::no_cache($r);
+ $r->send_http_header;
+ return OK if $r->header_only;
+ #
+ Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
+ ['action','wysiwyg','returnurl','refpage']);
+ #
+ Apache::lonhtmlcommon::clear_breadcrumbs();
+ Apache::lonhtmlcommon::add_breadcrumb
+ ({href => '/adm/preferences',
+ text => 'Set User Preferences'});
+ if(!exists $env{'form.action'}) {
+ &print_main_menu($r);
+ }elsif($env{'form.action'} eq 'changepass'){
+ &passwordchanger($r);
+ }elsif($env{'form.action'} eq 'verify_and_change_pass'){
+ &verify_and_change_password($r);
+ }elsif($env{'form.action'} eq 'changescreenname'){
+ &screennamechanger($r);
+ }elsif($env{'form.action'} eq 'verify_and_change_screenname'){
+ &verify_and_change_screenname($r);
+ }elsif($env{'form.action'} eq 'changemsgforward'){
+ &msgforwardchanger($r);
+ }elsif($env{'form.action'} eq 'verify_and_change_msgforward'){
+ &verify_and_change_msgforward($r);
+ }elsif($env{'form.action'} eq 'changecolors'){
+ &colorschanger($r);
+ }elsif($env{'form.action'} eq 'verify_and_change_colors'){
+ &verify_and_change_colors($r);
+ }elsif($env{'form.action'} eq 'changelanguages'){
+ &languagechanger($r);
+ }elsif($env{'form.action'} eq 'verify_and_change_languages'){
+ &verify_and_change_languages($r);
+ }elsif($env{'form.action'} eq 'changewysiwyg'){
+ &wysiwygchanger($r);
+ }elsif($env{'form.action'} eq 'set_wysiwyg'){
+ &verify_and_change_wysiwyg($r);
+ }elsif($env{'form.action'} eq 'changediscussions'){
+ &discussionchanger($r);
+ }elsif($env{'form.action'} eq 'verify_and_change_discussion'){
+ &verify_and_change_discussion($r);
+ }elsif($env{'form.action'} eq 'changerolespref'){
+ &rolesprefchanger($r);
+ }elsif($env{'form.action'} eq 'verify_and_change_rolespref'){
+ &verify_and_change_rolespref($r);
+ }elsif($env{'form.action'} eq 'changetexenginepref'){
+ &texenginechanger($r);
+ }elsif($env{'form.action'} eq 'verify_and_change_texengine'){
+ &verify_and_change_texengine($r);
+ }elsif($env{'form.action'} eq 'changeicons'){
+ &iconchanger($r);
+ }elsif($env{'form.action'} eq 'verify_and_change_icons'){
+ &verify_and_change_icons($r);
+ }elsif($env{'form.action'} eq 'changeclicker'){
+ &clickerchanger($r);
+ }elsif($env{'form.action'} eq 'verify_and_change_clicker'){
+ &verify_and_change_clicker($r);
+ }elsif($env{'form.action'} eq 'changedomcoord'){
+ &domcoordchanger($r);
+ }elsif($env{'form.action'} eq 'verify_and_change_domcoord'){
+ &verify_and_change_domcoord($r);
+ }elsif($env{'form.action'} eq 'lockwarning'){
+ &lockwarning($r);
+ }elsif($env{'form.action'} eq 'verify_and_change_locks'){
+ &verify_and_change_lockwarning($r);
+ }elsif($env{'form.action'} eq 'changecourseinit'){
+ &coursedisplaychanger($r);
+ }elsif($env{'form.action'} eq 'verify_and_change_coursepage'){
+ &verify_and_change_coursepage($r);
+ }elsif($env{'form.action'} eq 'debugtoggle'){
+ toggle_debug();
+ print_main_menu($r);
+ }
+
+ return OK;
+
+
+}
+#remove when done
+#old handler routine
+sub handler2 {
my $r = shift;
my $user = $env{'user.name'};
my $domain = $env{'user.domain'};
@@ -1767,7 +2139,7 @@ sub handler {
}));
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 =>
@@ -1780,16 +2152,15 @@ sub handler {
breadcrumb =>
{ href => '/adm/preferences?action=changemsgforward',
text => 'Change Message Forwarding/Notification'},
- printmenu => 'no',
+ printmenu => 'yes',
subroutine => \&verify_and_change_msgforward }));
- if (&Apache::lonnet::usertools_access($user,$domain,'aboutme')) {
- my $aboutmeaction = '/adm/'.$domain.'/'.$user.'/aboutme';
- push (@Options,{ action => 'none',
- linktext =>
- q{Edit the 'About Me' Personal Information Screen},
- help => 'Prefs_About_Me',
- href => $aboutmeaction});
- }
+ my $aboutmeaction=
+ '/adm/'.$env{'user.domain'}.'/'.$env{'user.name'}.'/aboutme';
+ push (@Options,{ action => 'none',
+ linktext =>
+ q{Edit the Personal Information Page},
+ help => 'Prefs_About_Me',
+ href => $aboutmeaction});
push (@Options,({ action => 'changecolors',
linktext => 'Change Color Scheme',
href => '/adm/preferences',
@@ -2064,7 +2435,7 @@ sub handler {
sub toggle_debug {
if ($env{'user.debug'}) {
- &Apache::lonnet::delenv('user\.debug');
+ &Apache::lonnet::delenv('user.debug');
} else {
&Apache::lonnet::appenv({'user.debug' => 1});
}