--- loncom/interface/lonextresedit.pm 2023/07/05 18:41:20 1.8.2.4.4.2
+++ loncom/interface/lonextresedit.pm 2016/01/26 14:30:25 1.9
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Documents
#
-# $Id: lonextresedit.pm,v 1.8.2.4.4.2 2023/07/05 18:41:20 raeburn Exp $
+# $Id: lonextresedit.pm,v 1.9 2016/01/26 14:30:25 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';
}
}
@@ -98,18 +98,7 @@ sub handler {
}
my %ltitools;
if ($type eq 'tool') {
- my (%domtools,%crstools);
- my %tooltypes = &Apache::loncommon::usable_exttools();
- if ($tooltypes{'dom'}) {
- %domtools = &Apache::lonnet::get_domain_lti($cdom,'consumer');
- }
- if ($tooltypes{'crs'}) {
- %crstools = &Apache::lonnet::get_course_lti($cnum,$cdom,'consumer');
- }
- %ltitools = (
- dom => \%domtools,
- crs => \%crstools,
- );
+ %ltitools = &Apache::lonnet::get_domain_ltitools($cdom);
}
my $js = &Apache::lonhtmlcommon::scripttag(&extedit_javascript());
my $pathitem = ' 'Title',
al => 'Add Link',
at => 'Add Tool',
- dd => 'Defined in domain',
- dc => 'Defined in course',
);
my $tabid = 'aa';
my $size = 60;
if ($supplementalflag) {
$tabid = 'ee';
}
- my ($formname,$formid,$toggle,$fieldsetid,$urlid,$subdivid,$dispdivstyle,$dimendivstyle,
- $windivstyle,$linktextstyle,$explanationstyle,$labelstyle,$titlestyle,
- $appendstyle,$gradablestyle,$subdivstyle,$legend,$urlelem,$toolelem,%toolattr);
+ my ($formname,$formid,$toggle,$fieldsetid,$urlid,$dispdivstyle,$dimendivstyle,
+ $legend,$urlelem,$toolelem,%toolattr);
$formname = 'new'.$type;
$toggle = $type;
$fieldsetid = 'upload'.$type.'form';
$urlid = $type.'url';
- map { $toolattr{$_} = $type.$_; } ('dispdiv','dimendiv','dimenwidth','dimenheight',
- 'crstitlediv','crslabeldiv','crsappenddiv',
- 'gradablediv','crstitle','crslabel','crsappend',
- 'windiv','linktextdiv','explanationdiv',
- 'linktext','explanation','providerurl');
+ map { $toolattr{$_} = $type.$_; } ('dispdiv','dimendiv','dimenwidth','dimenheight');
$dispdivstyle = 'display:none';
$dimendivstyle = 'display:none';
- $windivstyle = 'display:none';
- $linktextstyle = 'display:none';
- $explanationstyle = 'display:none';
- $labelstyle = 'display:none';
- $titlestyle = 'display:none';
- $appendstyle = 'display:none';
- $gradablestyle = 'display:none';
- $subdivstyle = 'display:block';
if ($supplementalflag) {
$formname = 'newsupp'.$type;
$toggle = 'supp'.$type;
@@ -425,24 +328,18 @@ sub extedit_form {
$urlid = 'supp'.$type.'url';
map { $toolattr{$_} = 'supp'.$toolattr{$_}; } (keys(%toolattr));
}
- my ($link,$legend,$active,$srcclass,$extsrc,$preview,$title,$save,$crstitle,$crslabel,
- $crsappend,$fieldsetstyle,$action,$hiddenelem,$form,$width,$height,$tooltarget,
- $linktext,$explanation,$providerurl,$chkgrd,$chknogrd,%chkstate);
+ my ($link,$legend,$active,$srcclass,$extsrc,$preview,$title,$save,
+ $fieldsetstyle,$action,$hiddenelem,$form,$width,$height,$tooltarget,%chkstate);
$fieldsetstyle = 'display: none;';
$action = '/adm/coursedocs';
- my $protocol = ($ENV{'SERVER_PORT'} == 443?'https':'http');
- my $rows = 2;
- my $cols = 20;
if ($residx) {
if ($caller eq 'direct') {
$fieldsetstyle = 'display: block;';
$action = '/adm/extresedit';
- $rows = 10;
- $cols = 45;
if ($type eq 'tool') {
- $legend = $lt{'te'};
- } else {
$legend = $lt{'ee'};
+ } else {
+ $legend = $lt{'te'};
}
$legend = '';
if ($symb) {
@@ -465,7 +362,7 @@ sub extedit_form {
$srcclass = ' class="LC_nobreak"';
if ($type eq 'ext') {
$extsrc = ''.$lt{'ul'}.' ';
- $preview = ' '.$lt{'pr'}.'';
+ $preview = ' '.$lt{'pr'}.'';
}
$title = ''.$lt{'ti'}.' ';
$save = $lt{'sv'};
@@ -487,224 +384,87 @@ sub extedit_form {
$orig_url = 'http://';
$orig_title = $lt{'ex'};
$extsrc = $lt{'ul'}.':
';
- $preview = '';
+ $preview = '';
$save = $lt{'al'};
} else {
$orig_title = $lt{'et'};
$save = $lt{'at'};
- $orig_url = "/adm/$cdom/$cnum/new/ext\.tool";
+ $orig_url = "/adm/$cdom/$cnum/new/exttool";
}
$pathitem .= '
';
}
$formid = $formname;
if ($type eq 'ext') {
- $urlelem = '';
+ $urlelem = '';
} else {
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);
- my ($tooltype,$tool,$ltihash);
- if ($toolhash{'id'} =~/^c(\d+)$/) {
- $tool = $1;
- $tooltype = 'crs';
+ if ($toolhash{'id'}) {
+ $dispdivstyle = 'display:block';
if (ref($ltitools) eq 'HASH') {
- if (ref($ltitools->{'crs'}) eq 'HASH') {
- $ltihash = $ltitools->{'crs'}->{$tool};
- }
- }
- } elsif ($toolhash{'id'} =~/^\d+$/) {
- $tooltype = 'dom';
- $tool = $toolhash{'id'};
- if (ref($ltitools) eq 'HASH') {
- if (ref($ltitools->{'dom'}) eq 'HASH') {
- $ltihash = $ltitools->{'dom'}->{$tool};
- }
- }
- }
- if (($tool ne '') && (ref($ltihash) eq 'HASH')) {
- my $tooltitle = $ltihash->{'title'};
- my $icon = $ltihash->{'image'};
- my $image;
- if ($icon) {
- $image = '
';
- }
- if ($ltihash->{'url'} =~ m{://}) {
- (my $prot,my $host,$providerurl) = ($ltihash->{'url'} =~ m{^([^/]+)://([^/]+)(|/.+)$});
- } else {
- $providerurl = $ltihash->{'url'};
- }
- $tooltarget = $toolhash{'target'};
- if ($tooltarget eq 'window') {
- $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" ';
- }
- $width = $toolhash{'width'};
- $height = $toolhash{'height'};
- $linktext = $toolhash{'linktext'};
- $explanation = $toolhash{'explanation'};
- if ($toolhash{'gradable'}) {
- $chkgrd = ' checked="checked"';
- } else {
- $chknogrd = ' checked="checked"';
- }
- if (ref($ltihash->{'crsconf'}) eq 'HASH') {
- if ($ltihash->{'crsconf'}->{'title'}) {
- $crstitle = $toolhash{'crstitle'};
- $titlestyle = 'display:inline';
- }
- if ($ltihash->{'crsconf'}->{'label'}) {
- $crslabel = $toolhash{'crslabel'};
- $labelstyle = 'display:inline';
- }
- if ($ltihash->{'crsconf'}->{'append'}) {
- $crsappend = $toolhash{'crsappend'};
- $appendstyle = 'display:inline';
- }
- if ($ltihash->{'crsconf'}->{'target'}) {
- $dispdivstyle = 'display:block';
- }
- if ($ltihash->{'crsconf'}->{'linktext'}) {
- $linktextstyle = 'padding:0;display:inline';
- }
- if ($ltihash->{'crsconf'}->{'explanation'}) {
- $explanationstyle = 'padding:0;display:inline';
+ if (keys(%{$ltitools})) {
+ if (ref($ltitools->{$toolhash{'id'}}) eq 'HASH') {
+ my $tooltitle = $ltitools->{$toolhash{'id'}}->{'title'};
+ my $icon = $ltitools->{$toolhash{'id'}}->{'image'};
+ my $image;
+ if ($icon) {
+ $image = '
';
+ }
+ $tooltarget = $toolhash{'target'};
+ if ($tooltarget eq 'window') {
+ $dimendivstyle = 'display:block';
+ $chkstate{'window'} = 'checked="checked" ';
+ } else {
+ $chkstate{'iframe'} = 'checked="checked" ';
+ }
+ $width = $toolhash{'width'};
+ $height = $toolhash{'height'};
+ $toolelem = ''.$image.' '.$tooltitle.'
';
+ }
}
}
- $toolelem = ''.$image.' '.$tooltitle.'
';
- $gradablestyle = 'display:inline';
}
}
} else {
- $subdivstyle = 'display:none';
- my $toolradio = 'exttooltype';
- my $exttypeon = 'LC_exttoolon';
- my $exttypeoff = 'LC_exttooloff';
- my $exttypeonsty = 'display:none';
- my $exttypeoffsty = 'display:none';
- my $exttypeofftext;
- if ($supplementalflag) {
- $toolradio = 'suppexttooltype';
- $exttypeon = 'LC_exttoolonsupp';
- $exttypeoff = 'LC_exttooloffsupp';
- }
- my ($numcrstools,$numdomtools,$typeclick,%defcheck,%typedesc);
- %typedesc = (
- crs => 'Defined in course',
- dom => 'Defined in domain',
- );
-#FIXME need crstype
- my $seloptions;
- $subdivid = 'LC_addtool';
- if ($supplementalflag) {
- $subdivid = 'LC_addtoolsupp';
- }
+ $toolelem = ''."\n".
+ '';
}
$toolelem .= '
'.
'
'.&mt('Display target:').' '.
''.(' 'x2).
- ''.(' 'x2).
+ "'$toolattr{dimendiv}','$toolattr{dimenwidth}','$toolattr{dimenheight}'".');">'.&mt('iframe').''.(' 'x2).
''.
- '
';
- $toolelem .= '
';
- $toolelem .= '
'.
- ''.&mt('Course label:').' '.
- '
'.
- '
'.
- '
'.
- ''.&mt('Course title:').' '.
- '
'.
- '
'.
- '
'.
- ''.&mt('Append to URL[_1]',
- ' ('.$providerurl.')
').
- '
'.
- '
'.
- '
'.
- ''.&mt('Gradable').' '.
- ''.(' 'x2).
- '
';
}
my $chooser = $toolelem;
if ($type eq 'ext') {
@@ -724,14 +484,14 @@ $preview
$legend
$active
$chooser
-
+
$title
-
+
$pathitem
$hiddenelem
-
+
@@ -744,38 +504,9 @@ ENDFORM
}
}
-sub ordered_tooloptions {
- my ($toolsref) = @_;
- my ($seloptions,@ids,@titles);
- if (ref($toolsref) eq 'HASH') {
- my %bynum;
- foreach my $id (keys(%{$toolsref})) {
- if (ref($toolsref->{$id}) eq 'HASH') {
- my $order = $toolsref->{$id}->{'order'};
- $bynum{$order} = [$id,$toolsref->{$id}];
- }
- }
- foreach my $item (sort { $a <=> $b } keys(%bynum)) {
- if (ref($bynum{$item}) eq 'ARRAY') {
- if (ref($bynum{$item}->[1]) eq 'HASH') {
- my $tooltitle = $bynum{$item}->[1]->{'title'};
- push(@titles,$tooltitle);
- push(@ids,$bynum{$item}->[0]);
- $seloptions .= '
'."\n";
- }
- }
- }
- }
- if (wantarray) {
- return (\@ids,\@titles);
- } else {
- return $seloptions;
- }
-}
-
sub display_editor {
- my ($url,$folderpath,$symb,$idx,$type,$cdom,$cnum,$hostname) = @_;
- my ($residx,$supplementalflag,$title,$pathitem,$output,$js,$navmap);
+ my ($url,$folderpath,$symb,$idx,$type,$cdom,$cnum) = @_;
+ my ($residx,$supplementalflag,$title,$pathitem,$output,$js);
if ($folderpath =~ /^supplemental/) {
$supplementalflag = 1;
$residx = $idx;
@@ -785,29 +516,15 @@ sub display_editor {
(my $map,$residx,my $res) =
&Apache::lonnet::decode_symb($symb);
$title = &Apache::lonnet::gettitle($symb);
- my $path = &Apache::loncommon::symb_to_docspath($symb,\$navmap);
+ my $path = &Apache::loncommon::symb_to_docspath($symb);
$pathitem = '
';
}
- my (%ltitools,%tooltypes);
+ my %ltitools;
if ($type eq 'tool') {
- my (%domtools,%crstools);
- %tooltypes = &Apache::loncommon::usable_exttools();
- if ($tooltypes{'dom'}) {
- %domtools = &Apache::lonnet::get_domain_lti($cdom,'consumer');
- }
- if ($tooltypes{'crs'}) {
- %crstools = &Apache::lonnet::get_course_lti($cnum,$cdom,'consumer');
- }
- %ltitools = (
- dom => \%domtools,
- crs => \%crstools,
- );
+ %ltitools = &Apache::lonnet::get_domain_ltitools($cdom);
}
$js = &Apache::lonhtmlcommon::scripttag(&extedit_javascript());
my $args = { 'force_register' => $env{'form.register'} };
- if ($hostname) {
- $args->{'hostname'} = $hostname;
- }
my $description = 'External Resource Editor';
if ($type eq 'tool') {
$description = 'External Tool Editor';
@@ -822,112 +539,31 @@ sub display_editor {
sub extedit_javascript {
my ($toolsref) = @_;
- my ($toolsjs,$exttoolnums,$exttooloptions);
+ my $toolsjs;
if (ref($toolsref) eq 'HASH') {
- $toolsjs = " var ltitools = new Array();\n".
- " var ltitoolsUrl = new Array();\n".
- " var ltitoolsTarget = new Array();\n".
- " var ltitoolsWidth = new Array();\n".
- " var ltitoolsHeight = new Array();\n".
- " var ltitoolsLinkDef = new Array();\n".
- " var ltitoolsExplainDef = new Array();\n".
- " var ltitoolsDisplay = new Array();\n".
- " var ltitoolsLink = new Array();\n".
- " var ltitoolsExplain = new Array();\n".
- " var ltitoolsLabel = new Array();\n".
- " var ltitoolsTitle = new Array();\n".
- " var ltitoolsAppend = new Array();\n";
- $exttoolnums = " var ltitoolsnum = new Array();\n".
- " var tooloptval = new Array();\n".
- " var toolopttxt = new Array();\n";
- my $idx = 0;
- foreach my $type ('crs','dom') {
- if (ref($toolsref->{$type}) eq 'HASH') {
- my $num = scalar(keys(%{$toolsref->{$type}}));
- $toolsjs .= " ltitools[$idx] = new Array($num);\n".
- " ltitoolsUrl[$idx] = new Array($num);\n".
- " ltitoolsTarget[$idx] = new Array($num);\n".
- " ltitoolsWidth[$idx] = new Array($num);\n".
- " ltitoolsHeight[$idx] = new Array($num);\n".
- " ltitoolsLinkDef[$idx] = new Array($num);\n".
- " ltitoolsExplainDef[$idx] = new Array($num);\n".
- " ltitoolsDisplay[$idx] = new Array($num);\n".
- " ltitoolsLink[$idx] = new Array($num);\n".
- " ltitoolsExplain[$idx] = new Array($num);\n".
- " ltitoolsLabel[$idx] = new Array($num);\n".
- " ltitoolsTitle[$idx] = new Array($num);\n".
- " ltitoolsAppend[$idx] = new Array($num);\n";
- my $i=0;
- foreach my $key (sort { $a <=> $b } keys(%{$toolsref->{$type}})) {
- if (ref($toolsref->{$type}->{$key}) eq 'HASH') {
- if (ref($toolsref->{$type}->{$key}->{'display'}) eq 'HASH') {
- my $target = $toolsref->{$type}->{$key}->{'display'}->{'target'};
- my $width = $toolsref->{$type}->{$key}->{'display'}->{'width'};
- my $height = $toolsref->{$type}->{$key}->{'display'}->{'height'};
- my $linkdef = $toolsref->{$type}->{$key}->{'display'}->{'linktext'};
- my $explaindef = $toolsref->{$type}->{$key}->{'display'}->{'explanation'};
- my $providerurl;
- if ($toolsref->{$type}->{$key}->{'url'} =~ m{://}) {
- (my $prot,my $host,$providerurl) =
- ($toolsref->{$type}->{$key}->{'url'} =~ m{^([^/]+)://([^/]+)(|/.+)$});
- } else {
- $providerurl = $toolsref->{$type}->{$key}->{'url'};
- }
- $providerurl = &LONCAPA::map::qtunescape($providerurl);
- $toolsjs .= " ltitools[$idx][$i] = '$key';\n".
- " ltitoolsTarget[$idx][$i] = '$target';\n".
- " ltitoolsWidth[$idx][$i] = '$width';\n".
- " ltitoolsHeight[$idx][$i] = '$height';\n".
- " ltitoolsLinkDef[$idx][$i] = '$linkdef';\n".
- " ltitoolsExplainDef[$idx][$i] = '$explaindef';\n".
- " ltitoolsUrl[$idx][$i] = '$providerurl';\n";
- }
- if (ref($toolsref->{$type}->{$key}->{'crsconf'}) eq 'HASH') {
- my $display = $toolsref->{$type}->{$key}->{'crsconf'}->{'target'};
- $toolsjs .= " ltitoolsDisplay[$idx][$i] = '$display';\n";
- my $linktext = $toolsref->{$type}->{$key}->{'crsconf'}->{'linktext'};
- $toolsjs .= " ltitoolsLink[$idx][$i] = '$linktext';\n";
- my $explanation = $toolsref->{$type}->{$key}->{'crsconf'}->{'explanation'};
- $toolsjs .= " ltitoolsExplain[$idx][$i] = '$explanation';\n";
- my $label = $toolsref->{$type}->{$key}->{'crsconf'}->{'label'};
- $toolsjs .= " ltitoolsLabel[$idx][$i] = '$label';\n";
- my $title = $toolsref->{$type}->{$key}->{'crsconf'}->{'title'};
- $toolsjs .= " ltitoolsTitle[$idx][$i] = '$title';\n";
- my $append = $toolsref->{$type}->{$key}->{'crsconf'}->{'append'};
- $toolsjs .= " ltitoolsAppend[$idx][$i] = '$append';\n";
- }
- }
- $i++;
- }
- my $firstoption = '
';
- my ($idsref,$titlesref) = &ordered_tooloptions($toolsref->{$type});
- if ((ref($idsref) eq 'ARRAY') && (ref($titlesref) eq 'ARRAY')) {
- my $count = scalar(@{$idsref});
- $exttooloptions .= " tooloptval[$idx] = new Array($count);\n".
- " toolopttxt[$idx] = new Array($count);\n";
- for (my $n=0; $n<@{$idsref}; $n++) {
- my $id = $idsref->[$n];
- my $text = $titlesref->[$n];
- $exttooloptions .= " tooloptval[$idx][$n] = '$id';\n".
- " toolopttxt[$idx][$n] = '$text';\n";
- }
- }
- $exttoolnums .= " ltitoolsnum[$idx] = $i;\n";
+ my $num = scalar(keys(%{$toolsref}));
+ $toolsjs = " var ltitools = new Array($num);\n".
+ " var ltitoolsTarget = new Array($num);\n".
+ " var ltitoolsWidth = new Array($num);\n".
+ " var ltitoolsHeight = new Array($num);\n";
+ my $i = 0;
+ foreach my $key (sort { $a <=> $b } keys(%{$toolsref})) {
+ if (ref($toolsref->{$key})) {
+ my $target = $toolsref->{$key}->{'target'};
+ my $width = $toolsref->{$key}->{'width'};
+ my $height = $toolsref->{$key}->{'height'};
+ $toolsjs .= ' ltitools['.$i.'] = '."'$key';\n".
+ ' ltitoolsTarget['.$i.'] = '."'$target';\n".
+ ' ltitoolsWidth['.$i.'] = '."'$width';\n".
+ ' ltitoolsHeight['.$i.'] = '."'$height';\n";
+ $i++;
}
- $idx ++;
}
}
my %js_lt = &Apache::lonlocal::texthash(
invurl => 'Invalid URL',
titbl => 'Title is blank',
invtool => 'Please select an external tool',
- 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',
- sele => 'Select',
);
&js_escape(\%js_lt);
@@ -939,7 +575,7 @@ ENDREGEXP
var regexp = $urlregexp;
-function setExternal(extform,residx,type,exttoolurl,supplementalflag) {
+function setExternal(extform,residx,type,exttoolurl) {
var title=extform.exttitle.value;
if (!String.trim) {
String.prototype.trim = function() {return this.replace(\/^\\s+|\\s+$\/g, "");}; }
@@ -966,143 +602,28 @@ function setExternal(extform,residx,type
} else {
title = escape(title);
var info = exttoolurl;
- var prefix = '';
- if (supplementalflag == 1) {
- prefix = 'supp';
- }
if (residx == 0) {
var toolid = parseInt(extform.exttoolid.options[extform.exttoolid.selectedIndex].value);
if (isNaN(toolid)) {
alert("$js_lt{'invtool'}");
return;
}
- var typeelem = extform.elements[prefix+'exttooltype'];
- if (typeelem.length) {
- for (var i=0; i
0) {
- dispdiv += '_'+residx;
- windiv += '_'+residx;
- }
- if (document.getElementById(dispdiv)) {
- if (document.getElementById(dispdiv).style.display == 'block') {
- if (extform.exttooltarget.length) {
- for (var i=0; i 0) {
- linktextdiv += '_'+residx;
- explanationdiv += '_'+residx;
- }
- if (document.getElementById(linktextdiv).style.display == 'inline') {
- var linktext = extform.exttoollinktext.value;
- linktext.trim();
- info += ':'+escape(linktext);
- } else {
- info += ':';
- }
- if (document.getElementById(explanationdiv).style.display == 'inline') {
- var explaintext = extform.exttoolexplanation.value;
- explaintext.trim();
- info += ':'+escape(explaintext);
- } else {
- info += ':';
- }
- } else {
- info += '::';
- }
- } else {
- info += '::';
- }
- var labelinput = prefix+'toolcrslabel';
- var titleinput = prefix+'toolcrstitle';
- var appendinput = prefix+'toolcrsappend';
- if (residx > 0) {
- labelinput += '_'+residx;
- titleinput += '_'+residx;
- appendinput += '_'+residx;
- }
- if (document.getElementById(labelinput)) {
- var crslabel = document.getElementById(labelinput).value;
- crslabel.trim();
- info += ':'+escape(crslabel);
- } else {
- info += ':';
- }
- if (document.getElementById(titleinput)) {
- var crstitle = document.getElementById(titleinput).value;
- crstitle.trim();
- info += ':'+escape(crstitle);
- } else {
- info += ':';
- }
- if (document.getElementById(appendinput)) {
- var crsappend = document.getElementById(appendinput).value;
- crsappend.trim();
- info += ':'+escape(crsappend);
- } else {
- info += ':';
- }
- var gradablediv = prefix+'toolgradablediv';
- if (residx > 0) {
- gradablediv += '_'+residx;
- }
- if (document.getElementById(gradablediv)) {
- if (document.getElementById(gradablediv).style.display == 'inline') {
- if (extform.exttoolgradable.length) {
- for (var i=0; i 0) {
@@ -1127,152 +648,17 @@ function editext(residx,type) {
return;
}
-function extUrlPreview(caller,protocol) {
+function extUrlPreview(caller) {
if (document.getElementById(caller)) {
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);
+ openMyModal(url,500,400,'yes');
} 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 {
- 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');
- }
-}
-
-function updateExttoolSel(form,radioname,supplementalflag) {
- var prefix = '';
- var typepick;
- var radelem = form.elements[radioname];
- if (radelem.length) {
- for (var i=0; i=0) {
- for (i = numopts; i >= 0; i--) {
- selelem.remove(i);
- }
- }
- if (ltitoolsnum[typepick]) {
- if ((Array.isArray(tooloptval[typepick])) && (Array.isArray(toolopttxt[typepick]))) {
- var len = tooloptval[typepick].length;
- if (len) {
- selelem.options[selelem.options.length] = new Option('$js_lt{sele}','',1,1);
- var j;
- for (j=0; j 0) {
- for (var j=0; j 0) {
+ for (var j=0; j';
- }
- }
- } else {
- document.getElementById(appenddiv).style.display = 'none';
- if (document.getElementById(providerurl)) {
- document.getElementById(providerurl).innerHTML = '';
- }
- }
- }
- if (document.getElementById(gradablediv)) {
- if (supplementalflag != 1) {
- document.getElementById(gradablediv).style.display = 'inline';
- }
- }
- break;
+ }
+ if (ltitoolsTarget[j] == 'window') {
+ dimen = 'block';
+ dimenwidth = ltitoolsWidth[j];
+ dimenheight = ltitoolsHeight[j];
+ } else {
+ dimen = 'none';
+ dimenwidth = '';
+ dimenheight = '';
+ }
+ if (document.getElementById(dimendiv)) {
+ document.getElementById(dimendiv).style.display = dimen;
+ }
+ if (document.getElementById(widthinput)) {
+ document.getElementById(widthinput).value = dimenwidth;
+ }
+ if (document.getElementById(heightinput)) {
+ document.getElementById(heightinput).value = dimenheight;
}
}
+ break;
}
}
}
}
}
-function updateTooldim(form,dimendiv,windiv,widthinput,heightinput,linkinput,explaininput) {
+function updateTooldim(form,dimendiv,widthinput,heightinput) {
if (form.exttooltarget.length) {
for (var i=0; i