--- loncom/interface/lonpreferences.pm 2011/10/10 22:38:20 1.186.2.8 +++ loncom/interface/lonpreferences.pm 2012/08/27 16:30:31 1.196.4.5 @@ -1,7 +1,7 @@ # The LearningOnline Network # Preferences # -# $Id: lonpreferences.pm,v 1.186.2.8 2011/10/10 22:38:20 raeburn Exp $ +# $Id: lonpreferences.pm,v 1.196.4.5 2012/08/27 16:30:31 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -227,6 +227,7 @@ sub texenginechanger { 'tth' => 'tth (TeX to HTML)', #'ttm' => 'TeX to MathML', 'jsMath' => 'jsMath', + 'MathJax' => 'MathJax', 'mimetex' => 'mimetex (Convert to Images)', 'raw' => 'Raw (Screen Reader)' ); @@ -236,12 +237,14 @@ sub texenginechanger { $texengine, 'texengine', \%mathchoices); + my $MathJax_start=&Apache::lontexconvert::MathJax_header(); my $jsMath_start=&Apache::lontexconvert::jsMath_header(); my %lt=&Apache::lonlocal::texthash( '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):', @@ -276,6 +279,14 @@ $lt{'preftxt'}: $selectionbox
$lt{'exmpl'} +

$lt{'mathjax'}

+ + +

+

+MathJax provides rendered equations whose source code can be extracted in TeX and MathML formats by right clicking the equation. +

+

$lt{'jsmath'}

$jsMath_start @@ -283,6 +294,7 @@ $jsMath_start if (jsMath.nofonts == 1) { document.writeln($jsMathWarning); } +

@@ -342,16 +354,25 @@ sub rolesprefchanger { my $domain = $env{'user.domain'}; my %userenv = &Apache::lonnet::get ('environment',['recentroles','recentrolesn']); + my $brtext = 'Change '.$role.' Page Pref'; + my $brtitle; + if ($env{'form.returnurl'} eq '/adm/roles') { + $brtext = 'Configure Hotlist'; + } else { + $brtitle = $brtext; + } Apache::lonhtmlcommon::add_breadcrumb( { href => '/adm/preferences?action=changerolespref', - text => 'Change '.$role.' Page Pref'}); + text => $brtext}); $r->print(Apache::loncommon::start_page('Content Display Settings')); - $r->print(Apache::lonhtmlcommon::breadcrumbs('Change '.$role.' Page Pref')); + $r->print(Apache::lonhtmlcommon::breadcrumbs($brtitle)); my $hotlist_flag=$userenv{'recentroles'}; my $hotlist_n=$userenv{'recentrolesn'}; - my $checked; + my ($checkedon,$checkedoff); if ($hotlist_flag) { - $checked = 'checked="checked"'; + $checkedon = 'checked="checked"'; + } else { + $checkedoff = 'checked="checked"'; } if (!$hotlist_n) { $hotlist_n=3; } @@ -378,7 +399,7 @@ sub rolesprefchanger { &Apache::loncommon::start_data_table(). &Apache::loncommon::start_data_table_header_row(). "".&mt('Freeze '.$role)."". - "".&mt($role)."". + "".&mt($role)."". &Apache::loncommon::end_data_table_header_row(). "\n"; my $count; @@ -401,28 +422,51 @@ sub rolesprefchanger { $roles_check_list .= "\n"; } + my $actionurl = '/adm/preferences'; + if ($env{'form.returnurl'} eq '/adm/roles') { + $actionurl = '/adm/roles'; + } + $r->print('

'.&mt('Recent Roles Hotlist').'

'); + 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.').' -

-
+ -
'. -'

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

'. + +

'.&mt('Hotlist options').'

+

'. +&mt('When enabled, the Hotlist keeps track of the last N '.$lc_role.'s visited.').'
'. +&mt('Those N '.$lc_role.'s are then shown in a table at the top of the '.$lc_role.'s page.').'

'. &Apache::lonhtmlcommon::start_pick_box(). -&Apache::lonhtmlcommon::row_title(''). -''. +&Apache::lonhtmlcommon::row_title(&mt('Use Recent '.$role.'s Hotlist')). +' +'. +(' 'x2). +' +'. &Apache::lonhtmlcommon::row_closure(). &Apache::lonhtmlcommon::row_title(''). ''. +$options.' +'. &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.').' +&Apache::lonhtmlcommon::end_pick_box().' +

'); + if ($roles_check_list) { + $r->print('
+

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

+

'.&mt('The table below can be used to [_1]freeze[_2] '.$lc_role.'s in the Hotlist.','','').'
'. +&mt('Those marked frozen will not be removed from the list, even if not recently used.').'

'.$roles_check_list.' -
+
'); + } else { + $r->print('
'. + &mt('Once the Hotlist contains recently visited '.$lc_role.'s, you can return to this page to also set frozen roles.')); + } + $r->print(' +
'); } @@ -513,7 +557,11 @@ sub verify_and_change_rolespref { } } $message=&Apache::loncommon::confirmwrapper($message); - &print_main_menu($r, $message); + if ($env{'form.returnurl'} eq '/adm/roles') { + return $message; + } else { + &print_main_menu($r, $message); + } } @@ -620,7 +668,7 @@ sub iconchanger { my ($inlinetools,$toolsorder) = &icon_previews(); if ((ref($inlinetools) eq 'HASH') && (ref($toolsorder) eq 'ARRAY')) { foreach my $tool (@{$toolsorder}) { - my ($command,$row,$col,$img,$top,$bot,$act,$desc) = + my ($command,$row,$col,$img,$top,$bot,$act,$desc) = split(/\&/,$inlinetools->{$tool}); $iconic_preview .= '
  • '.$desc.''.$top.(' ' x 2).'
  • '; $iconsonly_preview .= '
  • '.$desc.' 
  • '; @@ -633,7 +681,7 @@ sub iconchanger { $iconic_preview = ''; + ''; $r->print(< @@ -663,17 +711,16 @@ sub verify_and_change_icons { } sub icon_options { - my %lt = &Apache::lonlocal::texthash( - iconic => 'Use icons and text', - iconsonly => 'Use icons only', - ); - return %lt; + return &Apache::lonlocal::texthash( + iconic => 'Use icons and text', + iconsonly => 'Use icons only', + ); } sub icon_previews { my %icon_text = ( annotate => 'Notes', - bookmark => 'Bookmark', + wishlist => 'Stored Links', catalog => 'Info', evaluate => 'Evaluate', feedback => 'Communicate', @@ -681,13 +728,13 @@ sub icon_previews { ); my %inlinetools = ( printout => "s&8&3&prt.png&$icon_text{'printout'}&printout[_1]&gopost('/adm/printout',currentURL)&Prepare a printable document", - bookmark => "s&9&1&sbkm.png&$icon_text{'bookmark'}&bookmark[_2]&set_bookmark()&Set a bookmark for this resource", + 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 bookmark evaluate feedback printout catalog); + my @toolsorder = qw(annotate wishlist evaluate feedback printout catalog); return (\%inlinetools,\@toolsorder); } @@ -1196,16 +1243,10 @@ sub colorschanger { $r->print(< - function pclose() { - parmwin=window.open("/adm/rat/empty.html","LONCAPAparms", - "height=350,width=350,scrollbars=no,menubar=no"); - parmwin.close(); - } - $pjump_def function psub() { - pclose(); + modalWindow.close(); if (document.parmform.pres_marker.value!='') { if (document.parmform.pres_type.value!='') { eval('document.prefs.'+ @@ -1326,7 +1367,7 @@ sub passwordchanger { if (&Apache::lonnet::domain($domain) eq '') { $domain = $r->dir_config('lonDefDomain'); } - } else { + } else { $r->print(&mt('Page requested in unexpected context').'
    '); return; } @@ -2117,7 +2158,6 @@ push(@{ $menu[1]->{items} }, { }); } - if (&can_toggle_namelocking()) { push(@{ $menu[0]->{items} }, { linktext => 'Automatic name changes', @@ -2191,11 +2231,19 @@ sub handler { ['action','wysiwyg','returnurl','refpage']); # Apache::lonhtmlcommon::clear_breadcrumbs(); + my ($brlink,$brtxt,$brhelp); + if (($env{'form.action'} eq 'changerolespref') && ($env{'form.returnurl'} eq '/adm/roles')) { + $brlink ='/adm/roles'; + $brtxt = 'User Roles'; + } else { + $brlink ='/adm/preferences'; + $brtxt = 'Set User Preferences'; + $brhelp = 'Prefs_About_Me,Prefs_Language,Prefs_Screen_Name_Nickname,Change_Colors,Change_Password,Prefs_Messages,Change_Discussion_Display'; + } Apache::lonhtmlcommon::add_breadcrumb - ({href => '/adm/preferences', - text => 'Set User Preferences', - help => - 'Prefs_About_Me,Prefs_Language,Prefs_Screen_Name_Nickname,Change_Colors,Change_Password,Prefs_Messages,Change_Discussion_Display'}); + ({href => $brlink, + text => $brtxt, + help => $brhelp,}); if(!exists $env{'form.action'}) { &print_main_menu($r); }elsif($env{'form.action'} eq 'changepass'){