--- loncom/interface/lonextresedit.pm 2022/09/09 14:29:45 1.8.2.4.2.3 +++ loncom/interface/lonextresedit.pm 2017/11/30 01:52:14 1.20 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: lonextresedit.pm,v 1.8.2.4.2.3 2022/09/09 14:29:45 raeburn Exp $ +# $Id: lonextresedit.pm,v 1.20 2017/11/30 01:52:14 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -98,7 +98,7 @@ sub handler { } my %ltitools; if ($type eq 'tool') { - %ltitools = &Apache::lonnet::get_domain_lti($cdom,'consumer'); + %ltitools = &Apache::lonnet::get_domain_ltitools($cdom); } my $js = &Apache::lonhtmlcommon::scripttag(&extedit_javascript()); my $pathitem = ''. ''.&mt('Append to URL[_1]', ' ('.$providerurl.')
'). - '

'. + '
'. ''; } my $chooser = $toolelem; @@ -620,7 +621,7 @@ sub display_editor { } my %ltitools; if ($type eq 'tool') { - %ltitools = &Apache::lonnet::get_domain_lti($cdom,'consumer'); + %ltitools = &Apache::lonnet::get_domain_ltitools($cdom); } $js = &Apache::lonhtmlcommon::scripttag(&extedit_javascript()); my $args = { 'force_register' => $env{'form.register'} }; @@ -655,7 +656,7 @@ sub extedit_javascript { " var ltitoolsLink = new Array($num);\n". " var ltitoolsExplain = new Array($num);\n". " var ltitoolsLabel = new Array($num);\n". - " var ltitoolsTitle = new Array($num);\n". + " var ltitoolsTitle = new Array($num);\n"; " var ltitoolsAppend = new Array($num);\n"; my $i = 0; foreach my $key (sort { $a <=> $b } keys(%{$toolsref})) { @@ -672,7 +673,6 @@ sub extedit_javascript { } else { $providerurl = $toolsref->{$key}->{'url'}; } - $providerurl = &LONCAPA::map::qtunescape($providerurl); $toolsjs .= ' ltitools['.$i.'] = '."'$key';\n". ' ltitoolsTarget['.$i.'] = '."'$target';\n". ' ltitoolsWidth['.$i.'] = '."'$width';\n". @@ -695,6 +695,7 @@ sub extedit_javascript { my $append = $toolsref->{$key}->{'crsconf'}->{'append'}; $toolsjs .= ' ltitoolsAppend['.$i.'] = '."'$append';\n"; } + $i++; } } @@ -702,12 +703,6 @@ sub extedit_javascript { my %js_lt = &Apache::lonlocal::texthash( invurl => 'Invalid URL', 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', invtool => 'Please select an external tool', ); &js_escape(\%js_lt); @@ -824,7 +819,7 @@ function setExternal(extform,residx,type if (residx > 0) { labelinput += '_'+residx; titleinput += '_'+residx; - appendinput += '_'+residx; + appendinput += '_'+residx; } if (document.getElementById(labelinput)) { var crslabel = document.getElementById(labelinput).value; @@ -875,73 +870,14 @@ function extUrlPreview(caller,protocol) var url = document.getElementById(caller).value; if (regexp.test(url)) { 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 { - 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'}"; + window.open(url,"externalpreview","height=400,width=500,scrollbars=1,resizable=1,menubar=0,location=1"); } else { - msg = "$js_lt{'mixonly'}"; + openMyModal(url,500,400,'yes'); } } 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'}"); - } + alert("$js_lt{'invurl'}"); } - } else { - openMyModal(url,500,400,'yes'); } } @@ -1082,13 +1018,13 @@ function updateExttool(caller,form,suppl document.getElementById(appenddiv).style.display = 'inline'; if (document.getElementById(providerurl)) { if ((ltitoolsUrl[j] != '') && (ltitoolsUrl[j] != null)) { - document.getElementById(providerurl).innerHTML = ' ('+ltitoolsUrl[j]+')
'; + document.getElementById(providerurl).innerHTML.value = ' ('+ltitoolsUrl[j]+')
'; } } } else { document.getElementById(appenddiv).style.display = 'none'; if (document.getElementById(providerurl)) { - document.getElementById(providerurl).innerHTML = ''; + document.getElementById(providerurl).innerHTML.value = ''; } } }