version 1.8.2.4.2.2, 2020/10/25 20:14:42
|
version 1.20, 2017/11/30 01:52:14
|
Line 98 sub handler {
|
Line 98 sub handler {
|
} |
} |
my %ltitools; |
my %ltitools; |
if ($type eq 'tool') { |
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 $js = &Apache::lonhtmlcommon::scripttag(&extedit_javascript()); |
my $pathitem = '<input type="hidden" name="folderpath" value="'. |
my $pathitem = '<input type="hidden" name="folderpath" value="'. |
Line 258 sub process_changes {
|
Line 258 sub process_changes {
|
|
|
sub update_exttool { |
sub update_exttool { |
my ($marker,$cdom,$cnum,$args) = @_; |
my ($marker,$cdom,$cnum,$args) = @_; |
|
my %toolhash=&Apache::lonnet::dump('exttool_'.$marker,$cdom,$cnum); |
my (%newhash,$changed,@deleted,$errormsg); |
my (%newhash,$changed,@deleted,$errormsg); |
($newhash{'target'},$newhash{'width'},$newhash{'height'},$newhash{'linktext'},$newhash{'explanation'}, |
($newhash{'target'},$newhash{'width'},$newhash{'height'},$newhash{'linktext'},$newhash{'explanation'}, |
$newhash{'crslabel'},$newhash{'crstitle'},$newhash{'crsappend'}) = split(/:/,$args); |
$newhash{'crslabel'},$newhash{'crstitle'},$newhash{'crsappend'}) = split(/:/,$args); |
Line 343 sub extedit_form {
|
Line 344 sub extedit_form {
|
'crstitlediv','crslabeldiv','crsappenddiv', |
'crstitlediv','crslabeldiv','crsappenddiv', |
'crstitle','crslabel','crsappend','windiv', |
'crstitle','crslabel','crsappend','windiv', |
'linktextdiv','explanationdiv','linktext', |
'linktextdiv','explanationdiv','linktext', |
'explanation','providerurl'); |
'explanation','providerurl'); |
$dispdivstyle = 'display:none'; |
$dispdivstyle = 'display:none'; |
$dimendivstyle = 'display:none'; |
$dimendivstyle = 'display:none'; |
$windivstyle = 'display:none'; |
$windivstyle = 'display:none'; |
Line 562 sub extedit_form {
|
Line 563 sub extedit_form {
|
'<div id="'.$toolattr{'crsappenddiv'}.'" style="'.$appendstyle.'">'. |
'<div id="'.$toolattr{'crsappenddiv'}.'" style="'.$appendstyle.'">'. |
'<span class="'.$class.'">'.&mt('Append to URL[_1]', |
'<span class="'.$class.'">'.&mt('Append to URL[_1]', |
'<span id="'.$toolattr{'providerurl'}.'"> ('.$providerurl.')<br /></span>'). |
'<span id="'.$toolattr{'providerurl'}.'"> ('.$providerurl.')<br /></span>'). |
'<input type="text" id="'.$toolattr{'crsappend'}.'" size="30" name="exttoolappend" value="'.$crsappend.'"'.$disabled.' /></span><br />'. |
'<input type="text" id="'.$toolattr{'crsappend'}.'" size="20" name="exttoolappend" value="'.$crsappend.'"'.$disabled.' /></span><br />'. |
'</div>'; |
'</div>'; |
} |
} |
my $chooser = $toolelem; |
my $chooser = $toolelem; |
Line 620 sub display_editor {
|
Line 621 sub display_editor {
|
} |
} |
my %ltitools; |
my %ltitools; |
if ($type eq 'tool') { |
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()); |
$js = &Apache::lonhtmlcommon::scripttag(&extedit_javascript()); |
my $args = { 'force_register' => $env{'form.register'} }; |
my $args = { 'force_register' => $env{'form.register'} }; |
Line 655 sub extedit_javascript {
|
Line 656 sub extedit_javascript {
|
" var ltitoolsLink = new Array($num);\n". |
" var ltitoolsLink = new Array($num);\n". |
" var ltitoolsExplain = new Array($num);\n". |
" var ltitoolsExplain = new Array($num);\n". |
" var ltitoolsLabel = 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"; |
" var ltitoolsAppend = new Array($num);\n"; |
my $i = 0; |
my $i = 0; |
foreach my $key (sort { $a <=> $b } keys(%{$toolsref})) { |
foreach my $key (sort { $a <=> $b } keys(%{$toolsref})) { |
Line 672 sub extedit_javascript {
|
Line 673 sub extedit_javascript {
|
} else { |
} else { |
$providerurl = $toolsref->{$key}->{'url'}; |
$providerurl = $toolsref->{$key}->{'url'}; |
} |
} |
$providerurl = &LONCAPA::map::qtunescape($providerurl); |
|
$toolsjs .= ' ltitools['.$i.'] = '."'$key';\n". |
$toolsjs .= ' ltitools['.$i.'] = '."'$key';\n". |
' ltitoolsTarget['.$i.'] = '."'$target';\n". |
' ltitoolsTarget['.$i.'] = '."'$target';\n". |
' ltitoolsWidth['.$i.'] = '."'$width';\n". |
' ltitoolsWidth['.$i.'] = '."'$width';\n". |
Line 695 sub extedit_javascript {
|
Line 695 sub extedit_javascript {
|
my $append = $toolsref->{$key}->{'crsconf'}->{'append'}; |
my $append = $toolsref->{$key}->{'crsconf'}->{'append'}; |
$toolsjs .= ' ltitoolsAppend['.$i.'] = '."'$append';\n"; |
$toolsjs .= ' ltitoolsAppend['.$i.'] = '."'$append';\n"; |
} |
} |
|
|
$i++; |
$i++; |
} |
} |
} |
} |
Line 702 sub extedit_javascript {
|
Line 703 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', |
|
invtool => 'Please select an external tool', |
invtool => 'Please select an external tool', |
); |
); |
&js_escape(\%js_lt); |
&js_escape(\%js_lt); |
Line 824 function setExternal(extform,residx,type
|
Line 819 function setExternal(extform,residx,type
|
if (residx > 0) { |
if (residx > 0) { |
labelinput += '_'+residx; |
labelinput += '_'+residx; |
titleinput += '_'+residx; |
titleinput += '_'+residx; |
appendinput += '_'+residx; |
appendinput += '_'+residx; |
} |
} |
if (document.getElementById(labelinput)) { |
if (document.getElementById(labelinput)) { |
var crslabel = document.getElementById(labelinput).value; |
var crslabel = document.getElementById(labelinput).value; |
Line 875 function extUrlPreview(caller,protocol)
|
Line 870 function extUrlPreview(caller,protocol)
|
var url = document.getElementById(caller).value; |
var url = document.getElementById(caller).value; |
if (regexp.test(url)) { |
if (regexp.test(url)) { |
var http_regex = /^http\:\/\//gi; |
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))) { |
if ((protocol == 'https') && (http_regex.test(url))) { |
mixed = 1; |
window.open(url,"externalpreview","height=400,width=500,scrollbars=1,resizable=1,menubar=0,location=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'}"; |
|
} else { |
} else { |
msg = "$js_lt{'mixonly'}"; |
openMyModal(url,500,400,'yes'); |
} |
} |
} else { |
} else { |
msg = "$js_lt{'fraonly'}"; |
alert("$js_lt{'invurl'}"); |
} |
|
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'); |
|
} |
} |
} |
} |
|
|
Line 1082 function updateExttool(caller,form,suppl
|
Line 1018 function updateExttool(caller,form,suppl
|
document.getElementById(appenddiv).style.display = 'inline'; |
document.getElementById(appenddiv).style.display = 'inline'; |
if (document.getElementById(providerurl)) { |
if (document.getElementById(providerurl)) { |
if ((ltitoolsUrl[j] != '') && (ltitoolsUrl[j] != null)) { |
if ((ltitoolsUrl[j] != '') && (ltitoolsUrl[j] != null)) { |
document.getElementById(providerurl).innerHTML = ' ('+ltitoolsUrl[j]+')<br />'; |
document.getElementById(providerurl).innerHTML.value = ' ('+ltitoolsUrl[j]+')<br />'; |
} |
} |
} |
} |
} else { |
} else { |
document.getElementById(appenddiv).style.display = 'none'; |
document.getElementById(appenddiv).style.display = 'none'; |
if (document.getElementById(providerurl)) { |
if (document.getElementById(providerurl)) { |
document.getElementById(providerurl).innerHTML = ''; |
document.getElementById(providerurl).innerHTML.value = ''; |
} |
} |
} |
} |
} |
} |