--- loncom/interface/lonpreferences.pm 2009/01/14 15:46:19 1.133
+++ loncom/interface/lonpreferences.pm 2012/08/16 17:02:55 1.198
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Preferences
#
-# $Id: lonpreferences.pm,v 1.133 2009/01/14 15:46:19 bisitz Exp $
+# $Id: lonpreferences.pm,v 1.198 2012/08/16 17:02:55 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();
#
@@ -101,7 +102,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
@@ -116,7 +117,7 @@ sub wysiwygchanger {
my $switchon=&mt('Enable WYSIWYG editor');
my $warning='';
if ($env{'user.adv'}) {
- $warning.="
".&mt("The WYSIWYG editor only supports simple HTML and is in many cases unsuited for advanced authoring. In a number of cases, it may destroy advanced authoring involving LaTeX and script function calls.")."
";
+ $warning.='
'.&mt("The WYSIWYG editor only supports simple HTML and is in many cases unsuited for advanced authoring. In a number of cases, it may destroy advanced authoring involving LaTeX and script function calls.")."
');
+ my $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]',''.&mt('WYSIWYG Editor').'',''.&mt($newsetting).''));
+ $message=&Apache::loncommon::confirmwrapper($message);
+ &print_main_menu($r,$message);
}
################################################################
@@ -149,7 +150,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'};
@@ -165,14 +166,18 @@ sub languagechanger {
= &Apache::loncommon::plainlanguagedescription($_);
}
}
- my $selectionbox=&Apache::loncommon::select_form($language,'language',
- %langchoices);
+ %langchoices = &Apache::lonlocal::texthash(%langchoices);
+ my $selectionbox=
+ &Apache::loncommon::select_form(
+ $language,
+ 'language',
+ \%langchoices);
$r->print(< $pref: $selectionbox
ENDLSCREEN
- $r->print(' ');
+ $r->print(' ');
}
@@ -187,17 +192,20 @@ sub verify_and_change_languages {
if ($newlanguage) {
&Apache::lonnet::put('environment',{'languages' => $newlanguage});
&Apache::lonnet::appenv({'environment.languages' => $newlanguage});
- $message=&mt('Set new preferred languages to ').'"'.$newlanguage.'".';
+ $message=&Apache::lonhtmlcommon::confirm_success(
+ &mt('Set [_1] to [_2]',
+ ''.&mt('Preferred language').'',
+ '"'.$newlanguage.'".'))
+ .' '
+ .&mt('The change will become active on the next page.');
} else {
&Apache::lonnet::del('environment',['languages']);
- &Apache::lonnet::delenv('environment\.languages');
- $message=&mt('Reset preferred language.');
+ &Apache::lonnet::delenv('environment.languages');
+ $message=&Apache::lonhtmlcommon::confirm_success(&mt('Reset [_1]',''.&mt('Preferred language').''));
}
+ $message=&Apache::loncommon::confirmwrapper($message);
&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::lonhtmlcommon::breadcrumbs('Change How Math Equations Are Displayed'));
+ text => 'Math display settings'});
+ $r->print(Apache::loncommon::start_page('Content Display Settings'));
+ $r->print(Apache::lonhtmlcommon::breadcrumbs('Math display settings'));
my $user = $env{'user.name'};
my $domain = $env{'user.domain'};
my %userenv = &Apache::lonnet::get('environment',['texengine']);
@@ -219,52 +227,74 @@ sub texenginechanger {
'tth' => 'tth (TeX to HTML)',
#'ttm' => 'TeX to MathML',
'jsMath' => 'jsMath',
- 'mimetex' => 'mimetex (Convert to Images)'
+ 'MathJax' => 'MathJax',
+ 'mimetex' => 'mimetex (Convert to Images)',
+ 'raw' => 'Raw (Screen Reader)'
);
- my $selectionbox=&Apache::loncommon::select_form($texengine,'texengine',
- %mathchoices);
+ %mathchoices = &Apache::lonlocal::texthash(%mathchoices);
+ my $selectionbox=
+ &Apache::loncommon::select_form(
+ $texengine,
+ 'texengine',
+ \%mathchoices);
+ my $MathJax_start=&Apache::lontexconvert::MathJax_header();
my $jsMath_start=&Apache::lontexconvert::jsMath_header();
my %lt=&Apache::lonlocal::texthash(
- 'headline' => 'Change Math Preferences',
- 'preftxt' => 'Preferred method to display Math',
- 'change' => 'Change',
+ 'headline' => 'Change how math is displayed',
+ 'preftxt' => 'Preferred method to display math',
+ 'change' => 'Save',
'exmpl' => 'Examples',
+ 'mathjax' => 'MathJax:',
'jsmath' => 'jsMath:',
'tth' => 'tth (TeX to HTML):',
'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.'
+ ,''
+ ,'')
+ .'
');
+ unless ($checkedon) {
+ $r->print(&mt('LON-CAPA users with several '.$lc_role.'s may wish to enable the Hotlist.').' ');
+ }
$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.').'
-
-');
}
@@ -448,19 +513,15 @@ sub verify_and_change_rolespref {
if ($hotlist_flag) {
&Apache::lonnet::put('environment',{'recentroles' => $hotlist_flag});
&Apache::lonnet::appenv({'environment.recentroles' => $hotlist_flag});
- $message=&mt('Recent '.$role.'s Hotlist is Enabled');
+ $message=&Apache::lonhtmlcommon::confirm_success(&mt('Recent '.$role.'s Hotlist is Enabled.')." ".&mt('Display [_1] Most Recent '.$role.'s.',$hotlist_n));
} else {
&Apache::lonnet::del('environment',['recentroles']);
- &Apache::lonnet::delenv('environment\.recentroles');
- $message=&mt('Recent '.$role.'s Hotlist is Disabled');
+ &Apache::lonnet::delenv('environment.recentroles');
+ $message=&Apache::lonhtmlcommon::confirm_success(&mt('Recent '.$role.'s Hotlist is Disabled'));
}
if ($hotlist_n) {
&Apache::lonnet::put('environment',{'recentrolesn' => $hotlist_n});
&Apache::lonnet::appenv({'environment.recentrolesn' => $hotlist_n});
- if ($hotlist_flag) {
- $message.=" ".
- &mt('Display [_1] Most Recent '.$role.'s',$hotlist_n)."\n";
- }
}
# Get list of froze roles and list of recent roles
@@ -481,7 +542,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 .= " ".&mt('Unfreezing '.$role.': [_1]',$role_text{$role_key})."\n";
+ $message .= " ".&Apache::lonhtmlcommon::confirm_success(&mt('Unfreezing '.$role.': [_1]',''.$role_text{$role_key}.''));
&Apache::lonhtmlcommon::store_recent('roles',$role_key,' ',0);
}
}
@@ -489,17 +550,18 @@ sub verify_and_change_rolespref {
# Freeze selected roles
foreach my $role_key (@freeze_list) {
if (!$frozen_roles{$role_key}) {
- $message .= " ".&mt('Freezing '.$role.': [_1]',$role_text{$role_key})."\n";
+ $message .= " ".
+ &Apache::lonhtmlcommon::confirm_success(&mt('Freezing '.$role.': [_1]',''.$role_text{$role_key}.''));
&Apache::lonhtmlcommon::store_recent('roles',
$role_key,' ',1);
}
}
- $message .= " \n";
-
-# $r->print(< '/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('
'
.&mt('Change the name that is displayed in your posts.')
@@ -527,10 +589,10 @@ sub screennamechanger {
$r->print('
ENDSCREEN
@@ -623,12 +697,45 @@ sub verify_and_change_icons {
my $r = shift;
my $user = $env{'user.name'};
my $domain = $env{'user.domain'};
- my $newicons = $env{'form.menumode'};
-
+ my $newicons = $env{'form.menumode'};
+ my %lt = &icon_options();
+ my $newchoice = $newicons;
+ if ($lt{$newicons}) {
+ $newchoice = $lt{$newicons};
+ }
&Apache::lonnet::put('environment',{'icons' => $newicons});
&Apache::lonnet::appenv({'environment.icons' => $newicons});
-# $r->print(&mt('Set menu mode to [_1].',$newicons));
- print_main_menu($r, &mt('Set menu mode to [_1].',$newicons));
+ my $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]',''.&mt('Menu Display').'',''.$newchoice.''));
+ $message=&Apache::loncommon::confirmwrapper($message);
+ &print_main_menu($r, $message);
+}
+
+sub icon_options {
+ return &Apache::lonlocal::texthash(
+ iconic => 'Use icons and text',
+ iconsonly => 'Use icons only',
+ );
+}
+
+sub icon_previews {
+ my %icon_text = (
+ annotate => 'Notes',
+ wishlist => 'Stored Links',
+ catalog => 'Info',
+ evaluate => 'Evaluate',
+ feedback => 'Communicate',
+ printout => 'Print',
+ );
+ my %inlinetools = (
+ printout => "s&8&3&prt.png&$icon_text{'printout'}&printout[_1]&gopost('/adm/printout',currentURL)&Prepare a printable document",
+ wishlist => "s&9&1&wishlist-link.png&$icon_text{'wishlist'}&wishlistlink[_2]&set_wishlistlink()&Save a link for this resource in your personal Stored Links repository",
+ evaluate => "s&8&1&eval.png&$icon_text{'evaluate'}&this[_1]&gopost('/adm/evaluate',currentURL,1)&Provide my evaluation of this resource",
+ feedback => "s&8&2&fdbk.png&$icon_text{'feedback'}&discuss[_1]&gopost('/adm/feedback',currentURL,1)&Provide feedback messages or contribute to the course discussion about this resource",
+ annotate => "s&9&3&anot.png&$icon_text{'annotate'}&tations[_1]&annotate()&Make notes and annotations about this resource",
+ catalog => "s&6&3&catalog.png&$icon_text{'catalog'}&info[_1]&catalog_info()&Show Metadata",
+ );
+ my @toolsorder = qw(annotate wishlist evaluate feedback printout catalog);
+ return (\%inlinetools,\@toolsorder);
}
################################################################
@@ -637,10 +744,10 @@ sub verify_and_change_icons {
sub clickerchanger {
my $r = shift;
- Apache::lonhtmlcommon::add_breadcrumb(
+ &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'};
@@ -649,14 +756,15 @@ 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(<
-