version 1.8.2.4.4.1, 2023/07/05 18:10:06
|
version 1.22, 2017/12/15 16:33:51
|
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 374 sub extedit_form {
|
Line 375 sub extedit_form {
|
$rows = 10; |
$rows = 10; |
$cols = 45; |
$cols = 45; |
if ($type eq 'tool') { |
if ($type eq 'tool') { |
$legend = $lt{'te'}; |
|
} else { |
|
$legend = $lt{'ee'}; |
$legend = $lt{'ee'}; |
|
} else { |
|
$legend = $lt{'te'}; |
} |
} |
$legend = '<legend>'.$legend.'</legend>'; |
$legend = '<legend>'.$legend.'</legend>'; |
if ($symb) { |
if ($symb) { |
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 695 sub extedit_javascript {
|
Line 696 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 704 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 820 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 871 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'); |
|
} |
} |
} |
} |
|
|