version 1.196.4.21, 2016/09/16 22:00:55
|
version 1.225, 2018/04/27 20:14:16
|
Line 167 sub texenginechanger {
|
Line 167 sub texenginechanger {
|
my %mathchoices=('' => 'Default', |
my %mathchoices=('' => 'Default', |
'tth' => 'tth (TeX to HTML)', |
'tth' => 'tth (TeX to HTML)', |
#'ttm' => 'TeX to MathML', |
#'ttm' => 'TeX to MathML', |
'MathJax' => 'MathJax', |
'MathJax' => 'MathJax', |
'mimetex' => 'mimetex (Convert to Images)', |
'mimetex' => 'mimetex (Convert to Images)', |
'raw' => 'Raw (Screen Reader)' |
'raw' => 'Raw (Screen Reader)' |
); |
); |
Line 184 sub texenginechanger {
|
Line 184 sub texenginechanger {
|
'change' => 'Save', |
'change' => 'Save', |
'exmpl' => 'Examples', |
'exmpl' => 'Examples', |
'mathjax' => 'MathJax:', |
'mathjax' => 'MathJax:', |
'mathjaxinfo' => 'MathJax provides rendered equations whose source code can be extracted in TeX and MathML formats by right clicking the equation.', |
'mathjaxinfo' => 'MathJax provides rendered equations whose source code can be extracted in TeX and MathML formats by right clicking the equation.', |
'tth' => 'tth (TeX to HTML):', |
'tth' => 'tth (TeX to HTML):', |
'mimetex' => 'mimetex (Convert to Images):', |
'mimetex' => 'mimetex (Convert to Images):', |
); |
); |
Line 282 sub rolesprefchanger {
|
Line 282 sub rolesprefchanger {
|
my $hotlist_n=$userenv{'recentrolesn'}; |
my $hotlist_n=$userenv{'recentrolesn'}; |
my ($checkedon,$checkedoff); |
my ($checkedon,$checkedoff); |
if ($hotlist_flag) { |
if ($hotlist_flag) { |
$checkedon = 'checked="checked"'; |
$checkedon = 'checked="checked"'; |
} else { |
} else { |
$checkedoff = 'checked="checked"'; |
$checkedoff = 'checked="checked"'; |
} |
} |
Line 365 $options.'
|
Line 365 $options.'
|
&Apache::lonhtmlcommon::row_closure(1). |
&Apache::lonhtmlcommon::row_closure(1). |
&Apache::lonhtmlcommon::end_pick_box().' |
&Apache::lonhtmlcommon::end_pick_box().' |
</div>'); |
</div>'); |
if ($roles_check_list) { |
if ($roles_check_list) { |
$r->print('<div class="LC_left_float"> |
$r->print('<div class="LC_left_float"> |
<h4>'.&mt('Freeze Roles').'</h4> |
<h4>'.&mt('Freeze Roles').'</h4> |
<p>'.&mt('The table below can be used to [_1]freeze[_2] '.$lc_role.'s in the Hotlist.','<q>','</q>').'<br />'. |
<p>'.&mt('The table below can be used to [_1]freeze[_2] '.$lc_role.'s in the Hotlist.','<q>','</q>').'<br />'. |
Line 477 sub verify_and_change_rolespref {
|
Line 477 sub verify_and_change_rolespref {
|
} |
} |
|
|
|
|
|
|
################################################################ |
################################################################ |
# Anonymous Discussion Name Change Subroutines # |
# Anonymous Discussion Name Change Subroutines # |
################################################################ |
################################################################ |
Line 686 sub verify_and_change_clicker {
|
Line 685 sub verify_and_change_clicker {
|
my $r = shift; |
my $r = shift; |
my $user = $env{'user.name'}; |
my $user = $env{'user.name'}; |
my $domain = $env{'user.domain'}; |
my $domain = $env{'user.domain'}; |
|
my $uhome = $env{'user.home'}; |
my $newclickers = $env{'form.clickers'}; |
my $newclickers = $env{'form.clickers'}; |
|
my $message; |
$newclickers=~s/[^\w\:\-]+/\,/gs; |
$newclickers=~s/[^\w\:\-]+/\,/gs; |
$newclickers=~tr/a-z/A-Z/; |
$newclickers=~tr/a-z/A-Z/; |
$newclickers=~s/[\:\-]+/\-/g; |
$newclickers=~s/[\:\-]+/\-/g; |
$newclickers=~s/\,+/\,/g; |
$newclickers=~s/\,+/\,/g; |
$newclickers=~s/^\,//; |
$newclickers=~s/^\,//; |
$newclickers=~s/\,$//; |
$newclickers=~s/\,$//; |
&Apache::lonnet::put('environment',{'clickers' => $newclickers}); |
my @oldclickers = split(/,/,$env{'environment.clickers'}); |
&Apache::lonnet::appenv({'environment.clickers' => $newclickers}); |
my @newclickers = split(/,/,$newclickers); |
my $message=&Apache::lonhtmlcommon::confirm_success(&mt('Registering clickers: [_1]',$newclickers)); |
my %newuniq; |
|
map { $newuniq{$_} = 1; } @newclickers; |
|
@newclickers = sort(keys(%newuniq)); |
|
my @differences = &Apache::loncommon::compare_arrays(\@oldclickers,\@newclickers); |
|
if (@differences) { |
|
my $putres = &Apache::lonnet::put('environment',{'clickers' => $newclickers}); |
|
if ($putres eq 'ok') { |
|
my @adds = (); |
|
my @dels = (); |
|
foreach my $item (@differences) { |
|
if (grep(/^\Q$item\E$/,@newclickers)) { |
|
push(@adds,$item); |
|
} else { |
|
push(@dels,$item); |
|
} |
|
} |
|
if (@dels) { |
|
my %delclicker; |
|
map { $delclicker{$_} = $user; } @dels; |
|
my $putresult = &Apache::lonnet::iddel($domain,\%delclicker,$uhome,'clickers'); |
|
} |
|
if (@adds) { |
|
my %addclicker; |
|
map { $addclicker{$_} = $user; } @adds; |
|
my $putresult = &Apache::lonnet::updateclickers($domain,'add',\%addclicker,$uhome,1); |
|
} |
|
&Apache::lonnet::appenv({'environment.clickers' => $newclickers}); |
|
$message=&Apache::lonhtmlcommon::confirm_success(&mt('Registering clickers: [_1]',$newclickers)); |
|
} else { |
|
$message=&Apache::lonhtmlcommon::confirm_success(&mt('Error saving clicker ID').1); |
|
} |
|
} else { |
|
$message='<span class="LC_info">'.&mt('Clicker information unchanged').'</span>'; |
|
} |
$message=&Apache::loncommon::confirmwrapper($message); |
$message=&Apache::loncommon::confirmwrapper($message); |
&print_main_menu($r, $message); |
&print_main_menu($r, $message); |
} |
} |
Line 722 sub domcoordchanger {
|
Line 756 sub domcoordchanger {
|
my $text=&mt('By default, the Domain Coordinator can enter your Authoring Space.'); |
my $text=&mt('By default, the Domain Coordinator can enter your Authoring Space.'); |
my $construction=&mt('Block access to Authoring Space'); |
my $construction=&mt('Block access to Authoring Space'); |
my $change=&mt('Save'); |
my $change=&mt('Save'); |
|
my $returnurl = &HTML::Entities::encode($env{'form.returnurl'},'"<>&\''); |
$r->print(<<ENDSCREEN); |
$r->print(<<ENDSCREEN); |
<form name="prefs" action="/adm/preferences" method="post"> |
<form name="prefs" action="/adm/preferences" method="post"> |
|
<input type="hidden" name="returnurl" value="$returnurl" /> |
<input type="hidden" name="action" value="verify_and_change_domcoord" /> |
<input type="hidden" name="action" value="verify_and_change_domcoord" /> |
$text<br /> |
$text<br /> |
<label><input type="checkbox" name="construction"$constchecked />$construction</label><br /> |
<label><input type="checkbox" name="construction"$constchecked />$construction</label><br /> |
Line 748 sub verify_and_change_domcoord {
|
Line 784 sub verify_and_change_domcoord {
|
} |
} |
my $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]','<i>'.&mt('Block access to Authoring Space').'</i>','<tt>'.$status.'</tt>')); |
my $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]','<i>'.&mt('Block access to Authoring Space').'</i>','<tt>'.$status.'</tt>')); |
$message=&Apache::loncommon::confirmwrapper($message); |
$message=&Apache::loncommon::confirmwrapper($message); |
&print_main_menu($r,$message); |
if ($env{'form.returnurl'}) { |
|
&do_redirect($r,$env{'form.returnurl'},$message); |
|
} else { |
|
&print_main_menu($r,$message); |
|
} |
} |
} |
|
|
################################################################# |
################################################################# |
Line 1139 sub colorschanger {
|
Line 1179 sub colorschanger {
|
foreach my $item (sort(keys(%colortypes))) { |
foreach my $item (sort(keys(%colortypes))) { |
my $curcol=&Apache::loncommon::designparm($function.'.'.$item,$domain); |
my $curcol=&Apache::loncommon::designparm($function.'.'.$item,$domain); |
$chtable.=&Apache::loncommon::start_data_table_row(). |
$chtable.=&Apache::loncommon::start_data_table_row(). |
'<td>'.$colortypes{$item}.'<td><input name="'.$item. |
'<td>'.$colortypes{$item}.'<td><input name="'.$item. |
'" class="colorchooser" size="10" value="'.$curcol. |
'" class="colorchooser" size="10" value="'.$curcol. |
'" /></td>'. |
'" /></td>'. |
&Apache::loncommon::end_data_table_row()."\n"; |
&Apache::loncommon::end_data_table_row()."\n"; |
} |
} |
my $end_data_table = &Apache::loncommon::end_data_table(); |
my $end_data_table = &Apache::loncommon::end_data_table(); |
my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition(); |
my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition(); |
Line 1154 sub colorschanger {
|
Line 1194 sub colorschanger {
|
' . $colorchooser . ' |
' . $colorchooser . ' |
</script> |
</script> |
'); |
'); |
|
|
$r->print(<<ENDCOL); |
$r->print(<<ENDCOL); |
|
|
<form name="parmform" action=""> |
<form name="parmform" action=""> |
Line 1195 sub verify_and_change_colors {
|
Line 1234 sub verify_and_change_colors {
|
my $message=''; |
my $message=''; |
foreach my $item (keys(%colortypes)) { |
foreach my $item (keys(%colortypes)) { |
my $color=$env{'form.'.$item}; |
my $color=$env{'form.'.$item}; |
if (!($color =~ /^#/)) { |
if (!($color =~ /^#/)) { |
$color = '#' . $color; |
$color = '#' . $color; |
} |
} |
my $entry='color.'.$function.'.'.$item; |
my $entry='color.'.$function.'.'.$item; |
if (($color=~/^\#[0-9A-Fa-f]{6}$/) && (!$env{'form.resetall'})) { |
if (($color=~/^\#[0-9A-Fa-f]{6}$/) && (!$env{'form.resetall'})) { |
&Apache::lonnet::put('environment',{$entry => $color}); |
&Apache::lonnet::put('environment',{$entry => $color}); |
Line 1254 sub passwordchanger {
|
Line 1293 sub passwordchanger {
|
$r->print( |
$r->print( |
'<p class="LC_warning">' |
'<p class="LC_warning">' |
.&mt('Sorry, the URL you provided to complete the reset of your password was invalid. Either the token included in the URL has been deleted or the URL you provided was invalid. Please submit a [_1]new request[_2] for a password reset, and follow the link to the new URL included in the e-mail that will be sent to you, to allow you to enter a new password.' |
.&mt('Sorry, the URL you provided to complete the reset of your password was invalid. Either the token included in the URL has been deleted or the URL you provided was invalid. Please submit a [_1]new request[_2] for a password reset, and follow the link to the new URL included in the e-mail that will be sent to you, to allow you to enter a new password.' |
,'<a href="/adm/resetpw">','</a>') |
,'<a href="/adm/resetpw">','</a>') |
.'</p>' |
.'</p>' |
); |
); |
return; |
return; |
Line 1275 sub passwordchanger {
|
Line 1314 sub passwordchanger {
|
} |
} |
} else { |
} else { |
$r->print( |
$r->print( |
'<p class="LC_warning">' |
'<p class="LC_warning">' |
.&mt('Sorry, the URL generated when you requested reset of' |
.&mt('Sorry, the URL generated when you requested reset of' |
.' your password contained incomplete information.') |
.' your password contained incomplete information.') |
.'</p>' |
.'</p>' |
); |
); |
return; |
return; |
Line 1394 sub client_form {
|
Line 1433 sub client_form {
|
my $output = '<form name="client" action="">' |
my $output = '<form name="client" action="">' |
.&Apache::lonhtmlcommon::start_pick_box(); |
.&Apache::lonhtmlcommon::start_pick_box(); |
if ($caller eq 'reset_by_email') { |
if ($caller eq 'reset_by_email') { |
|
my $mobileargs; |
|
(undef,undef,undef,undef,undef,undef,my $clientmobile) = |
|
&Apache::loncommon::decode_user_agent(); |
|
if ($clientmobile) { |
|
$mobileargs = 'autocapitalize="off" autocorrect="off" '; |
|
} |
$output .= &Apache::lonhtmlcommon::row_title( |
$output .= &Apache::lonhtmlcommon::row_title( |
'<label for="email">'.$lt{'email'}.'</label>') |
'<label for="email">'.$lt{'email'}.'</label>') |
.'<input type="text" name="email" size="30" />' |
.'<input type="text" name="email" size="30" '.$mobileargs.'/>' |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_title( |
.&Apache::lonhtmlcommon::row_title( |
'<label for="uname">'.$lt{'username'}.'</label>') |
'<label for="uname">'.$lt{'username'}.'</label>') |
.'<input type="text" name="uname" size="20" />' |
.'<input type="text" name="uname" size="20" '.$mobileargs.'/>' |
.'<input type="hidden" name="currentpass" value="'.$currentpass.'" />' |
.'<input type="hidden" name="currentpass" value="'.$currentpass.'" />' |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_title( |
.&Apache::lonhtmlcommon::row_title( |
Line 1542 ENDERROR
|
Line 1587 ENDERROR
|
return 1; |
return 1; |
} |
} |
my ($ckey,$n1key,$n2key)=split(/&/,$tmpinfo); |
my ($ckey,$n1key,$n2key)=split(/&/,$tmpinfo); |
# |
# |
$currentpass = &Apache::loncommon::des_decrypt($ckey ,$currentpass); |
$currentpass = &Apache::loncommon::des_decrypt($ckey ,$currentpass); |
$newpass1 = &Apache::loncommon::des_decrypt($n1key,$newpass1); |
$newpass1 = &Apache::loncommon::des_decrypt($n1key,$newpass1); |
$newpass2 = &Apache::loncommon::des_decrypt($n2key,$newpass2); |
$newpass2 = &Apache::loncommon::des_decrypt($n2key,$newpass2); |
Line 1879 sub author_space_settings {
|
Line 1924 sub author_space_settings {
|
my $text=&mt('By default, CodeMirror an editor with advanced functionality for editing code is activated for authors.'); |
my $text=&mt('By default, CodeMirror an editor with advanced functionality for editing code is activated for authors.'); |
my $cmoff=&mt('Deactivate CodeMirror. This can improve performance on slow computers and accessibility.'); |
my $cmoff=&mt('Deactivate CodeMirror. This can improve performance on slow computers and accessibility.'); |
my $change=&mt('Save'); |
my $change=&mt('Save'); |
|
my $returnurl = &HTML::Entities::encode($env{'form.returnurl'},'"<>&\''); |
$r->print(<<ENDSCREEN); |
$r->print(<<ENDSCREEN); |
<form name="prefs" action="/adm/preferences" method="post"> |
<form name="prefs" action="/adm/preferences" method="post"> |
|
<input type="hidden" name="returnurl" value="$returnurl" /> |
<input type="hidden" name="action" value="change_authoring_settings" /> |
<input type="hidden" name="action" value="change_authoring_settings" /> |
$text<br /> |
$text<br /> |
<label><input type="checkbox" name="cmoff"$constchecked />$cmoff</label><br /> |
<label><input type="checkbox" name="cmoff"$constchecked />$cmoff</label><br /> |
Line 1908 sub change_authoring_settings {
|
Line 1955 sub change_authoring_settings {
|
} |
} |
my $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]','<i>'.&mt('Deactivate CodeMirror in Authoring Space').'</i>','<tt>'.$status.'</tt>')); |
my $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]','<i>'.&mt('Deactivate CodeMirror in Authoring Space').'</i>','<tt>'.$status.'</tt>')); |
$message=&Apache::loncommon::confirmwrapper($message); |
$message=&Apache::loncommon::confirmwrapper($message); |
&print_main_menu($r,$message); |
if ($env{'form.returnurl'}) { |
|
&do_redirect($r,$env{'form.returnurl'},$message); |
|
} else { |
|
&print_main_menu($r,$message); |
|
} |
} |
} |
} |
} |
|
|
Line 2116 push(@{ $menu[0]->{items} }, {
|
Line 2167 push(@{ $menu[0]->{items} }, {
|
linktitle => 'Change your password.', |
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 => 'remotecontrol.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 => 'remotecontrol.png', |
|
linktitle => 'Collapse the remote control for LON-CAPA.', |
|
}); |
|
} |
|
|
|
if (&can_toggle_namelocking()) { |
if (&can_toggle_namelocking()) { |
push(@{ $menu[0]->{items} }, { |
push(@{ $menu[0]->{items} }, { |
Line 2179 push(@{ $menu[4]->{items} }, {
|
Line 2211 push(@{ $menu[4]->{items} }, {
|
linktext => 'Authoring Space Configuration', |
linktext => 'Authoring Space Configuration', |
url => '/adm/preferences?action=authorsettings', |
url => '/adm/preferences?action=authorsettings', |
permission => 'F', |
permission => 'F', |
icon => 'course_ini.png', |
icon => 'codemirror.png', |
linktitle => 'Settings for your authoring space.', |
linktitle => 'Settings for your authoring space.', |
}); |
}); |
} |
} |
Line 2225 sub handler {
|
Line 2257 sub handler {
|
if (($env{'form.action'} eq 'changerolespref') && ($env{'form.returnurl'} eq '/adm/roles')) { |
if (($env{'form.action'} eq 'changerolespref') && ($env{'form.returnurl'} eq '/adm/roles')) { |
$brlink ='/adm/roles'; |
$brlink ='/adm/roles'; |
$brtxt = 'User Roles'; |
$brtxt = 'User Roles'; |
|
} elsif ((($env{'form.action'} eq 'changedomcoord') || |
|
($env{'form.action'} eq 'authorsettings')) && |
|
(($env{'form.returnurl'} =~ m{^/(priv/|res($|/))}) || |
|
($env{'form.returnurl'} eq '/adm/createuser'))) { |
|
$brlink = $env{'form.returnurl'}; |
|
if ($env{'form.returnurl'} eq '/adm/createuser') { |
|
$brtxt = 'User Management'; |
|
} elsif ($env{'form.returnurl'} =~ m{^/res($\/)}) { |
|
$brtxt = 'Browse published resources'; |
|
} else { |
|
$brtxt = 'Authoring Space'; |
|
} |
} else { |
} else { |
$brlink ='/adm/preferences'; |
$brlink ='/adm/preferences'; |
$brtxt = 'Set User Preferences'; |
$brtxt = 'Set User Preferences'; |
$brhelp = 'Prefs_About_Me,Prefs_Language,Prefs_Screen_Name_Nickname,Change_Colors,Change_Password,Prefs_Messages,Change_Discussion_Display'; |
$brhelp = 'Prefs_About_Me,Prefs_Language,Prefs_Screen_Name_Nickname,Change_Colors,Change_Password,Prefs_Messages,Change_Discussion_Display'; |
} |
} |
Apache::lonhtmlcommon::add_breadcrumb |
Apache::lonhtmlcommon::add_breadcrumb |
({href => $brlink, |
({href => $brlink, |
text => $brtxt, |
text => $brtxt, |
help => $brhelp,}); |
help => $brhelp,}); |
if(!exists $env{'form.action'}) { |
if(!exists $env{'form.action'}) { |
&print_main_menu($r); |
&print_main_menu($r); |
}elsif($env{'form.action'} eq 'changepass'){ |
}elsif($env{'form.action'} eq 'changepass'){ |
&passwordchanger($r); |
&passwordchanger($r); |
}elsif($env{'form.action'} eq 'verify_and_change_pass'){ |
}elsif($env{'form.action'} eq 'verify_and_change_pass'){ |
Line 2384 sub updateable_userinfo {
|
Line 2428 sub updateable_userinfo {
|
return %updateable; |
return %updateable; |
} |
} |
|
|
|
sub do_redirect { |
|
my ($r,$url,$msg) = @_; |
|
$r->print( |
|
&Apache::loncommon::start_page('Switching Server ...',undef, |
|
{'redirect' => [0.5,$url]}). |
|
'<div style="padding:0;clear:both;margin:0;border:0"></div>'."\n". |
|
"$msg\n". |
|
&Apache::loncommon::end_page()); |
|
return; |
|
} |
|
|
1; |
1; |
__END__ |
__END__ |