version 1.8.2.1, 2016/11/29 16:28:16
|
version 1.8.2.4, 2019/07/30 19:53:22
|
Line 229 sub extedit_form {
|
Line 229 sub extedit_form {
|
$fieldsetstyle,$action,$hiddenelem,$form); |
$fieldsetstyle,$action,$hiddenelem,$form); |
$fieldsetstyle = 'display: none;'; |
$fieldsetstyle = 'display: none;'; |
$action = '/adm/coursedocs'; |
$action = '/adm/coursedocs'; |
|
my $protocol = ($ENV{'SERVER_PORT'} == 443?'https':'http'); |
if ($residx) { |
if ($residx) { |
if ($caller eq 'direct') { |
if ($caller eq 'direct') { |
$fieldsetstyle = 'display: block;'; |
$fieldsetstyle = 'display: block;'; |
Line 252 sub extedit_form {
|
Line 253 sub extedit_form {
|
$urlid = "exturl_$residx"; |
$urlid = "exturl_$residx"; |
$srcclass = ' class="LC_nobreak"'; |
$srcclass = ' class="LC_nobreak"'; |
$extsrc = '<span class="LC_docs_ext_edit">'.$lt{'ul'}.' </span>'; |
$extsrc = '<span class="LC_docs_ext_edit">'.$lt{'ul'}.' </span>'; |
$preview = ' <a class="LC_docs_ext_edit" href="javascript:extUrlPreview('."'$urlid'".');">'.$lt{'pr'}.'</a>'; |
$preview = ' <a class="LC_docs_ext_edit" href="javascript:extUrlPreview('."'$urlid','$protocol'".');">'.$lt{'pr'}.'</a>'; |
$title = '<span class="LC_docs_ext_edit">'.$lt{'ti'}.' </span>'; |
$title = '<span class="LC_docs_ext_edit">'.$lt{'ti'}.' </span>'; |
$save = $lt{'sv'}; |
$save = $lt{'sv'}; |
} else { |
} else { |
Line 263 sub extedit_form {
|
Line 264 sub extedit_form {
|
$residx = 0; |
$residx = 0; |
$orig_url = 'http://'; |
$orig_url = 'http://'; |
$orig_title = $lt{'ex'}; |
$orig_title = $lt{'ex'}; |
$preview = '<input type="button" name="view" value="'.$lt{'pr'}.'" onclick="javascript:extUrlPreview('."'$urlid'".');"'.$disabled.' />'; |
$preview = '<input type="button" name="view" value="'.$lt{'pr'}.'" onclick="javascript:extUrlPreview('."'$urlid','$protocol'".');"'.$disabled.' />'; |
$save = $lt{'al'}; |
$save = $lt{'al'}; |
$pathitem .= '<br />'; |
$pathitem .= '<br />'; |
} |
} |
Line 297 ENDFORM
|
Line 298 ENDFORM
|
} |
} |
|
|
sub display_editor { |
sub display_editor { |
my ($url,$folderpath,$symb,$idx) = @_; |
my ($url,$folderpath,$symb,$idx,$type,$cdom,$cnum,$hostname) = @_; |
my ($residx,$supplementalflag,$title,$pathitem,$output,$js,$navmap); |
my ($residx,$supplementalflag,$title,$pathitem,$output,$js,$navmap); |
if ($folderpath =~ /^supplemental/) { |
if ($folderpath =~ /^supplemental/) { |
$supplementalflag = 1; |
$supplementalflag = 1; |
Line 313 sub display_editor {
|
Line 314 sub display_editor {
|
} |
} |
$js = &Apache::lonhtmlcommon::scripttag(&extedit_javascript()); |
$js = &Apache::lonhtmlcommon::scripttag(&extedit_javascript()); |
my $args = { 'force_register' => $env{'form.register'} }; |
my $args = { 'force_register' => $env{'form.register'} }; |
|
if ($hostname) { |
|
$args->{'hostname'} = $hostname; |
|
} |
return &Apache::loncommon::start_page('External Resource Editor',$js,$args). |
return &Apache::loncommon::start_page('External Resource Editor',$js,$args). |
'<div class="LC_left_float">'. |
'<div class="LC_left_float">'. |
&extedit_form($supplementalflag,$residx,$url,$title,$pathitem,undef,'direct',$symb). |
&extedit_form($supplementalflag,$residx,$url,$title,$pathitem,undef,'direct',$symb). |
Line 324 sub extedit_javascript {
|
Line 328 sub extedit_javascript {
|
my %js_lt = &Apache::lonlocal::texthash( |
my %js_lt = &Apache::lonlocal::texthash( |
invurl => 'Invalid URL', |
invurl => 'Invalid URL', |
titbl => 'Title is blank', |
titbl => 'Title is blank', |
|
mixfra => 'Show preview in pop-up? (http in https page + no framing)', |
|
mixonly => 'Show preview in pop-up? (http in https page)', |
|
fraonly => 'Show preview in pop-up? (framing disallowed)', |
|
nopopup => 'Pop-up blocked', |
|
nopriv => 'Insufficient privileges to use preview', |
|
badurl => 'URL is not: http://hostname/path or https://hostname/path', |
); |
); |
&js_escape(\%js_lt); |
&js_escape(\%js_lt); |
|
|
Line 374 function editext(residx) {
|
Line 384 function editext(residx) {
|
return; |
return; |
} |
} |
|
|
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; |
|
var mixed = 0; |
|
var noiframe = 0; |
|
var nopriv = 0; |
|
var badurl = 0; |
|
var name = "externalpreview"; |
|
if ((protocol == 'https') && (http_regex.test(url))) { |
|
mixed = 1; |
|
} |
|
var http = new XMLHttpRequest(); |
|
var lcurl = "/adm/exturlcheck"; |
|
var params = "exturl="+url; |
|
http.open("POST",lcurl, true); |
|
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); |
|
http.onreadystatechange = function() { |
|
if (http.readyState == 4) { |
|
if (http.status == 200) { |
|
if (http.responseText.length > 0) { |
|
if (http.responseText == 1) { |
|
noiframe = 1; |
|
} else if (http.responseText == -1) { |
|
nopriv = 1; |
|
} else if (http.responseText == 0) { |
|
badurl = 1; |
|
} |
|
} |
|
openPreviewWindow(url,name,noiframe,mixed,nopriv,badurl); |
|
} |
|
} |
|
} |
|
http.send(params); |
} else { |
} else { |
alert("$js_lt{'invurl'}"); |
alert("$js_lt{'invurl'}"); |
} |
} |
} |
} |
} |
} |
|
|
|
var previewLCWindow = null; |
|
function openPreviewWindow(url,name,noiframe,mixed,nopriv,badurl) { |
|
if (previewLCWindow !=null) { |
|
previewLCWindow.close(); |
|
} |
|
if (badurl) { |
|
alert("$js_lt{'badurl'}"); |
|
} else if (nopriv) { |
|
alert("$js_lt{'nopriv'}"); |
|
} else if ((noiframe == 1) || (mixed == 1)) { |
|
var encurl = encodeURI(url); |
|
var msg; |
|
if (mixed == 1) { |
|
if (noiframe == 1) { |
|
msg = "$js_lt{'mixfra'}"; |
|
} else { |
|
msg = "$js_lt{'mixonly'}"; |
|
} |
|
} else { |
|
msg = "$js_lt{'fraonly'}"; |
|
} |
|
if (confirm(msg)) { |
|
previewLCWindow = window.open(url,name,"height=400,width=500,scrollbars=1,resizable=1,menubar=0,location=1"); |
|
if (previewLCWindow != null) { |
|
previewLCWindow.focus(); |
|
} else { |
|
alert("$js_lt{'nopopup'}"); |
|
} |
|
} |
|
} else { |
|
openMyModal(url,500,400,'yes'); |
|
} |
|
} |
|
|
ENDJS |
ENDJS |
|
|
} |
} |