version 1.134, 2013/09/21 23:44:46
|
version 1.138.2.3.4.1, 2020/04/07 18:42:25
|
Line 99 sub handler {
|
Line 99 sub handler {
|
my $minimal=$courseenv{'minimalsyllabus'}; |
my $minimal=$courseenv{'minimalsyllabus'}; |
|
|
if (($minimal =~/\w/) || ($uploaded =~/\w/)) { |
if (($minimal =~/\w/) || ($uploaded =~/\w/)) { |
my $item; |
my ($item,$is_pdf); |
if ($minimal =~/\w/) { |
if ($minimal =~/\w/) { |
if ($external =~ m{\Q$minimal\E$}) { |
if ($external =~ m{\Q$minimal\E$}) { |
undef($external); |
undef($external); |
Line 110 sub handler {
|
Line 110 sub handler {
|
undef($external); |
undef($external); |
} |
} |
$item = $uploaded; |
$item = $uploaded; |
|
if ($item =~ /\.pdf$/i) { |
|
$is_pdf = 1; |
|
} |
} |
} |
unless ($allowed && $forceedit) { |
unless ($allowed && $forceedit) { |
my $file=&Apache::lonnet::filelocation("",$item); |
my $file=&Apache::lonnet::filelocation("",$item); |
if ($file =~ /\.(tex|x?html?)$/) { |
if ($file =~ /\.(tex|x?html?)$/) { |
my $filetype = $1; |
my $filetype = $1; |
my $filecontents=&Apache::lonnet::getfile($file); |
my $filecontents=&Apache::lonnet::getfile($file); |
if ($filecontents eq -1) { |
if ($filecontents eq -1) { |
Line 122 sub handler {
|
Line 125 sub handler {
|
if ($target eq 'tex') { |
if ($target eq 'tex') { |
$r->print($filecontents); |
$r->print($filecontents); |
} else { |
} else { |
my $result = &Apache::lontexconvert::converted(\$filecontents, |
my $texengine = $env{'form.texengine'}; |
$env{'form.texengine'}); |
if ($texengine eq '') { |
|
$texengine = 'tth'; |
|
} elsif (lc($texengine) eq 'jsmath') { |
|
$texengine = 'MathJax'; |
|
} |
|
my $result = &Apache::lontexconvert::converted(\$filecontents,$texengine); |
my %args; |
my %args; |
&get_breadcrumbs($cdom,$cnum,$crstype,\%args); |
&get_breadcrumbs($cdom,$cnum,$crstype,\%args); |
if ($env{'form.only_body'}) { |
if ($env{'form.only_body'}) { |
$args{'only_body'} = 1; |
$args{'only_body'} = 1; |
} |
} |
|
if ($env{'request.use_absolute'}) { |
|
$args{'use_absolute'} = $env{'request.use_absolute'}; |
|
} |
$r->print(&Apache::loncommon::start_page("Syllabus",undef,\%args). |
$r->print(&Apache::loncommon::start_page("Syllabus",undef,\%args). |
$result. |
$result. |
&Apache::loncommon::end_page()); |
&Apache::loncommon::end_page()); |
Line 157 sub handler {
|
Line 168 sub handler {
|
&mt('Print the syllabus directly from your web browser'). |
&mt('Print the syllabus directly from your web browser'). |
'\end{document}'); |
'\end{document}'); |
} else { |
} else { |
$r->print(&Apache::lonwrapper::wrapper($item)); |
my $brcrum; |
|
if ($env{'form.folderpath'} =~ /^supplemental/) { |
|
my $title = $env{'form.title'}; |
|
if ($title eq '') { |
|
$title = &mt('Syllabus'); |
|
} |
|
$brcrum = |
|
&Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$title,1); |
|
} |
|
$r->print(&Apache::lonwrapper::wrapper($item,$brcrum,$env{'request.use_absolute'}, |
|
undef,$is_pdf,'','','',&mt('Syllabus'))); |
} |
} |
} |
} |
return OK; |
return OK; |
Line 170 sub handler {
|
Line 191 sub handler {
|
' \strut \\\\ '.&mt('Print the syllabus directly from your web browser'). |
' \strut \\\\ '.&mt('Print the syllabus directly from your web browser'). |
'\end{document}'); |
'\end{document}'); |
} else { |
} else { |
$r->print(&Apache::lonwrapper::wrapper($external)); |
my $is_ext = 1; |
|
my ($is_pdf,$brcrum); |
|
if ($external =~ /\.pdf$/i) { |
|
$is_pdf = 1; |
|
} |
|
if ($env{'form.folderpath'} =~ /^supplemental/) { |
|
my $title = $env{'form.title'}; |
|
if ($title eq '') { |
|
$title = &mt('Syllabus'); |
|
} |
|
$brcrum = |
|
&Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$title,1); |
|
} |
|
$r->print(&Apache::lonwrapper::wrapper($external,$brcrum,$env{'request.use_absolute'}, |
|
$is_ext,$is_pdf,'','','',&mt('Syllabus'))); |
} |
} |
return OK; |
return OK; |
} |
} |
Line 410 sub handler {
|
Line 445 sub handler {
|
} |
} |
$rsslinktext = &mt('Manage Course RSS Feeds/Blogs'); |
$rsslinktext = &mt('Manage Course RSS Feeds/Blogs'); |
if ($crstype eq 'Community') { |
if ($crstype eq 'Community') { |
$rsslinktext = &mt('Manage Communiity RSS Feeds/Blogs'); |
$rsslinktext = &mt('Manage Community RSS Feeds/Blogs'); |
} |
} |
} |
} |
my $editurl= &Apache::lonnet::absolute_url().'/adm/'.$cdom.'/'.$cnum.'/_rss.html'; |
my $editurl= &Apache::lonnet::absolute_url().'/adm/'.$cdom.'/'.$cnum.'/_rss.html'; |
Line 567 ENDSCRIPT
|
Line 602 ENDSCRIPT
|
my $checkedstr = "var include = new Array('".join("','",@checked)."');"; |
my $checkedstr = "var include = new Array('".join("','",@checked)."');"; |
my $uncheckedstr = "var exclude = new Array('".join("','",@unchecked)."');"; |
my $uncheckedstr = "var exclude = new Array('".join("','",@unchecked)."');"; |
my $invurl = &mt('Invalid URL'); |
my $invurl = &mt('Invalid URL'); |
|
&js_escape(\$invurl); |
my $urlregexp = <<'ENDREGEXP'; |
my $urlregexp = <<'ENDREGEXP'; |
/^([a-z]([a-z]|\d|\+|-|\.)*):(\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?((\[(|(v[\da-f]{1,}\.(([a-z]|\d|-|\.|_|~)|[!\$&'\(\)\*\+,;=]|:)+))\])|((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=])*)(:\d*)?)(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*|(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)){0})(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i |
/^([a-z]([a-z]|\d|\+|-|\.)*):(\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?((\[(|(v[\da-f]{1,}\.(([a-z]|\d|-|\.|_|~)|[!\$&'\(\)\*\+,;=]|:)+))\])|((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=])*)(:\d*)?)(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*|(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)){0})(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i |
ENDREGEXP |
ENDREGEXP |
Line 591 function toggleEditor(pick) {
|
Line 627 function toggleEditor(pick) {
|
|
|
var regexp = $urlregexp; |
var regexp = $urlregexp; |
|
|
function extUrlPreview(caller) { |
function extUrlPreview(caller,protocol) { |
if (document.getElementById(caller)) { |
if (document.getElementById(caller)) { |
var url = document.getElementById(caller).value; |
var url = document.getElementById(caller).value; |
if (regexp.test(url)) { |
if (regexp.test(url)) { |
openMyModal(url,500,400,'yes'); |
var http_regex = /^http\:\/\//gi; |
|
if ((protocol == 'https') && (http_regex.test(url))) { |
|
window.open(url,"syllabuspreview","height=400,width=500,scrollbars=1,resizable=1,menubar=0,location=1"); |
|
} else { |
|
openMyModal(url,500,400,'yes'); |
|
} |
} else { |
} else { |
alert("$invurl"); |
alert("$invurl"); |
} |
} |
Line 695 ENDSCRIPT
|
Line 736 ENDSCRIPT
|
onload => 'setTemplateBoxes();', |
onload => 'setTemplateBoxes();', |
); |
); |
$args->{'add_entries'} = \%loaditem; |
$args->{'add_entries'} = \%loaditem; |
|
} else { |
|
if ($env{'request.use_absolute'}) { |
|
$args->{'use_absolute'} = $env{'request.use_absolute'}; |
|
} |
} |
} |
if ($env{'form.only_body'}) { |
if ($env{'form.only_body'}) { |
$args->{'only_body'} = 1; |
$args->{'only_body'} = 1; |
Line 779 sub chooser {
|
Line 824 sub chooser {
|
$checked{'templatebox'} = $check; |
$checked{'templatebox'} = $check; |
$display{'templatebox'} = 'block'; |
$display{'templatebox'} = 'block'; |
} |
} |
|
my $protocol = ($ENV{'SERVER_PORT'} == 443?'https':'http'); |
|
|
my $output = |
my $output = |
'<form name="syllabus" method="post" enctype="multipart/form-data" action="">'."\n". |
'<form name="syllabus" method="post" enctype="multipart/form-data" action="">'."\n". |
Line 791 sub chooser {
|
Line 837 sub chooser {
|
$output .= '</fieldset></div>'."\n". |
$output .= '</fieldset></div>'."\n". |
'<div id="url" class="LC_left_float" style="display: '.$display{'url'}.'">'."\n". |
'<div id="url" class="LC_left_float" style="display: '.$display{'url'}.'">'."\n". |
'<fieldset><legend>'.$lt{'chourl'}.'</legend><span class="LC_nobreak">'."\n". |
'<fieldset><legend>'.$lt{'chourl'}.'</legend><span class="LC_nobreak">'."\n". |
'<a href="javascript:extUrlPreview('."'syllabusurl'".');">'.$lt{'pr'}.'</a></span> '."\n". |
'<a href="javascript:extUrlPreview('."'syllabusurl','$protocol'".');">'.$lt{'pr'}.'</a></span> '."\n". |
'<input type="text" id="syllabusurl" name="externalsyllabus" value="'.$external.'" size="55" />'."\n". |
'<input type="text" id="syllabusurl" name="externalsyllabus" value="'.$external.'" size="55" />'."\n". |
' <input type="submit" name="storeurl" value="'.$lt{'save'}.'" />'."\n". |
' <input type="submit" name="storeurl" value="'.$lt{'save'}.'" />'."\n". |
'</fieldset></div>'."\n". |
'</fieldset></div>'."\n". |
Line 1503 sub home_http_host {
|
Line 1549 sub home_http_host {
|
if ($home ne 'no_host') { |
if ($home ne 'no_host') { |
my $protocol = $Apache::lonnet::protocol{$home}; |
my $protocol = $Apache::lonnet::protocol{$home}; |
$protocol = 'http' if ($protocol ne 'https'); |
$protocol = 'http' if ($protocol ne 'https'); |
return $protocol.'://'.$home; |
return $protocol.'://'.&Apache::lonnet::hostname($home); |
} |
} |
return; |
return; |
} |
} |
Line 1610 sub editfile_button {
|
Line 1656 sub editfile_button {
|
} |
} |
|
|
sub editbutton_js { |
sub editbutton_js { |
my %lt = &Apache::lonlocal::texthash( |
my %js_lt = &Apache::lonlocal::texthash( |
min => 'Are you sure you want to delete the contents of the syllabus template?', |
min => 'Are you sure you want to delete the contents of the syllabus template?', |
file => 'Are you sure you want to delete the uploaded syllabus file?', |
file => 'Are you sure you want to delete the uploaded syllabus file?', |
noundo => 'This action cannot be reversed.' |
noundo => 'This action cannot be reversed.' |
); |
); |
|
&js_escape(\%js_lt); |
return <<ENDJS; |
return <<ENDJS; |
<script type="text/javascript"> |
<script type="text/javascript"> |
// <![CDATA[ |
// <![CDATA[ |
Line 1625 sub editbutton_js {
|
Line 1672 sub editbutton_js {
|
if (document.getElementById('deleteuploaded_'+caller)) { |
if (document.getElementById('deleteuploaded_'+caller)) { |
document.getElementById('deleteuploaded_'+caller).value=1; |
document.getElementById('deleteuploaded_'+caller).value=1; |
if (caller == 'minimal') { |
if (caller == 'minimal') { |
if (confirm("$lt{'min'}"+"\\n"+"$lt{'noundo'}")) { |
if (confirm("$js_lt{'min'}"+"\\n"+"$js_lt{'noundo'}")) { |
document.syllabus.submit(); |
document.syllabus.submit(); |
} |
} |
} |
} |
if (caller == 'file') { |
if (caller == 'file') { |
if (confirm("$lt{'file'}"+"\\n"+"$lt{'noundo'}")) { |
if (confirm("$js_lt{'file'}"+"\\n"+"$js_lt{'noundo'}")) { |
document.syllabus.submit(); |
document.syllabus.submit(); |
} |
} |
} |
} |