--- loncom/interface/lonextresedit.pm 2020/01/13 19:03:37 1.8.2.4.2.1 +++ loncom/interface/lonextresedit.pm 2017/04/25 22:18:59 1.16 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: lonextresedit.pm,v 1.8.2.4.2.1 2020/01/13 19:03:37 raeburn Exp $ +# $Id: lonextresedit.pm,v 1.16 2017/04/25 22:18:59 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -60,7 +60,7 @@ sub handler { $symb,$type); if (($env{'form.folderpath'} =~ /^supplemental/) && ($env{'form.suppurl'})) { $supplementalflag = 1; - if (&unescape($env{'form.suppurl'}) =~ m{^/adm/$cdom/$cnum/\d+/ext\.tool$}) { + if (&unescape($env{'form.suppurl'}) =~ m{^/adm/$cdom/$cnum/\d+/exttools?$}) { $type = 'tool'; } } @@ -79,7 +79,7 @@ sub handler { if ($symb ne $env{'form.symb'}) { $env{'form.symb'} = $symb; } - if ($url =~ m{/adm/$cdom/$cnum/\d+/ext\.tool$}) { + if ($url =~ m{/adm/$cdom/$cnum/\d+/exttools?$}) { $type = 'tool'; } } @@ -146,7 +146,7 @@ sub process_changes { $oldtitle = &unescape($env{'form.title'}); $container = 'sequence'; $supplementalflag = 1; - if ($oldurl =~ m{^/adm/$cdom/$cnum/\d+/ext\.tool$}) { + if ($oldurl =~ m{^/adm/$cdom/$cnum/\d+/exttools?$}) { $type = 'tool'; } else { $type = 'ext'; @@ -157,7 +157,7 @@ sub process_changes { if ($env{'form.importdetail'}) { ($newtitle,$newurl,$newidx) = map {&unescape($_)} split(/\=/,$env{'form.importdetail'}); - if ($newurl =~ m{^(/adm/$cdom/$cnum/(\d+)/ext\.tool)\:?(.*)$}) { + if ($newurl =~ m{^(/adm/$cdom/$cnum/(\d+)/exttools?)\:?(.*)$}) { $newurl = $1; $marker = $2; $args = $3; @@ -272,21 +272,14 @@ sub update_exttool { if (($item eq 'width') || ($item eq 'height') || ($item eq 'linktext') || ($item eq 'explanation')) { if ($newhash{'target'} eq 'iframe') { $newhash{$item} = ''; - } elsif ($newhash{'target'} eq 'tab') { - if (($item eq 'width') || ($item eq 'height')) { - $newhash{$item} = ''; - } } } if ($toolhash{$item} ne $newhash{$item}) { if ($newhash{$item} eq '') { unless (($item eq 'target') || - ((($item eq 'width') || ($item eq 'height')) && + ((($item eq 'width') || ($item eq 'height') || ($item eq 'linktext') || ($item eq 'explanation')) && (($newhash{'target'} eq 'window') || - (($newhash{'target'} eq '') && ($toolhash{'target'} eq 'window')))) || - ((($item eq 'linktext') || ($item eq 'explanation')) && - ((($newhash{'target'} =~ /^(window|tab)$/)) || - (($newhash{'target'} eq '') && ($toolhash{'target'} =~ /^(window|tab)$/))))) { + (($newhash{'target'} eq '') && ($toolhash{'target'} eq 'window'))))) { delete($toolhash{$item}); push(@deleted,$item); $changed = 1; @@ -425,7 +418,7 @@ sub extedit_form { } else { $orig_title = $lt{'et'}; $save = $lt{'at'}; - $orig_url = "/adm/$cdom/$cnum/new/ext\.tool"; + $orig_url = "/adm/$cdom/$cnum/new/exttool"; } $pathitem .= '
'; } @@ -436,7 +429,7 @@ sub extedit_form { my $class = 'LC_nobreak'; if ($residx) { $class = 'LC_docs_ext_edit LC_nobreak'; - if ($orig_url =~ m{^/adm/$cdom/$cnum/(\d+)/ext\.tool$}) { + if ($orig_url =~ m{^/adm/$cdom/$cnum/(\d+)/exttools?$}) { my $marker = $1; my %toolhash=&Apache::lonnet::dump('exttool_'.$marker,$cdom,$cnum); if ($toolhash{'id'}) { @@ -454,9 +447,6 @@ sub extedit_form { $dimendivstyle = 'display:block'; $windivstyle = 'display:block'; $chkstate{'window'} = 'checked="checked" '; - } elsif ($tooltarget eq 'tab') { - $windivstyle = 'display:block'; - $chkstate{'tab'} = 'checked="checked" '; } else { $chkstate{'iframe'} = 'checked="checked" '; } @@ -521,9 +511,6 @@ sub extedit_form { ''.(' 'x2). - ''.(' 'x2). ''. @@ -674,12 +661,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); @@ -748,8 +729,6 @@ function setExternal(extform,residx,type var height = extform.exttoolheight.value; height.trim(); info += ':window:'+width+':'+height; - } else if (extform.exttooltarget[i].value == 'tab') { - info += ':tab::'; } else { info += ':iframe::'; } @@ -838,73 +817,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'); } } @@ -986,34 +906,34 @@ function updateExttool(caller,form,suppl } } if (document.getElementById(windiv)) { - if ((ltitoolsTarget[j] == 'window') || (ltitoolsTarget[j] == 'tab')) { + if (ltitoolsTarget[j] == 'window') { document.getElementById(windiv).style.display = 'block'; } else { document.getElementById(windiv).style.display = 'none'; } if (document.getElementById(linktextdiv)) { - if (ltitoolsLink[j]) { + if ((ltitoolsLink[j]) && (ltitoolsTarget[j] == 'window')) { document.getElementById(linktextdiv).style.display = 'inline'; } else { document.getElementById(linktextdiv).style.display = 'none'; } } if (document.getElementById(linktextinput)) { - if (ltitoolsLink[j]) { + if ((ltitoolsLink[j]) && (ltitoolsTarget[j] == 'window')) { document.getElementById(linktextinput).value = ltitoolsLinkDef[j]; } else { document.getElementById(linktextinput).value = ''; } } if (document.getElementById(explanationdiv)) { - if (ltitoolsExplain[j]) { + if ((ltitoolsExplain[j]) && (ltitoolsTarget[j] == 'window')) { document.getElementById(explanationdiv).style.display = 'inline'; } else { document.getElementById(explanationdiv).style.display = 'none'; } } if (document.getElementById(explanationinput)) { - if (ltitoolsExplain[j]) { + if ((ltitoolsExplain[j]) && (ltitoolsTarget[j] == 'window')) { document.getElementById(explanationinput).value = ltitoolsExplainDef[j]; } else { document.getElementById(explananationinput).value = ''; @@ -1047,26 +967,22 @@ function updateTooldim(form,dimendiv,win for (var i=0; i