--- loncom/interface/lonextresedit.pm 2023/07/05 18:41:20 1.8.2.4.4.2 +++ loncom/interface/lonextresedit.pm 2016/11/22 00:43:12 1.11 @@ -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.11 2016/11/22 00:43:12 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, + $labelstyle,$titlestyle,$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'); + 'crstitlediv','crslabeldiv','crstitle','crslabel'); $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; @@ -426,23 +344,17 @@ sub extedit_form { 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); + $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 = ''.$legend.''; if ($symb) { @@ -465,7 +377,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,12 +399,12 @@ 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 .= '
'; } @@ -503,208 +415,93 @@ 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); - my ($tooltype,$tool,$ltihash); - if ($toolhash{'id'} =~/^c(\d+)$/) { - $tool = $1; - $tooltype = 'crs'; + if ($toolhash{'id'}) { 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 = ''.$tooltitle.''; - } - 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 = ''.$tooltitle.''; + } + $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'}; + if (ref($ltitools->{$toolhash{'id'}}->{'crsconf'}) eq 'HASH') { + if ($ltitools->{$toolhash{'id'}}->{'crsconf'}->{'title'}) { + $crstitle = $toolhash{'crstitle'}; + $titlestyle = 'display:inline'; + } + if ($ltitools->{$toolhash{'id'}}->{'crsconf'}->{'label'}) { + $crslabel = $toolhash{'crslabel'}; + $labelstyle = 'display:inline'; + } + if ($ltitools->{$toolhash{'id'}}->{'crsconf'}->{'target'}) { + $dispdivstyle = 'display:block'; + } + } + $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". + ''.$typedesc{$type}.' '."\n"; - } - $toolelem .= '
'. - '
'."\n". - '
'. - $exttypeofftext. - '
'."\n"; + $toolelem .= '
'; $crslabel = $env{'course.'.$cdom.'_'.$cnum.'.internal.coursecode'}; $crstitle = $env{'course.'.$cdom.'_'.$cnum.'.description'}; - $crsappend = ''; - $chknogrd = ' checked="checked"'; } $toolelem .= '
'. ''.&mt('Display target:').' '. ''.(' 'x2). - ''.(' 'x2). + "'$toolattr{dimendiv}','$toolattr{dimenwidth}','$toolattr{dimenheight}'".');"'.$disabled.'>'.&mt('iframe').''.(' 'x2). ''. - '
'. - &mt('Width').': '.(' 'x2). - &mt('Height').': '."\n". - '
'; - $toolelem .= '
'. - '
'. - ''.&mt('Link Text').'
'. - '
'. - ''.&mt('Explanation').'
'. - '
'. - '
'; - $toolelem .= '
'. + "'$toolattr{dimendiv}','$toolattr{dimenwidth}','$toolattr{dimenheight}'".');"'.$disabled.'>'.&mt('window').''. + '
'. + ''. + &mt('Width').''.(' 'x2). + &mt('Height').''."\n". + '
'. + '
'. ''.&mt('Course label:').' '. - '
'. + '
'. '
'. '
'. ''.&mt('Course title:').' '. - '
'. - '
'. - '
'. - ''.&mt('Append to URL[_1]', - ' ('.$providerurl.')
'). - '

'. - '
'. - '
'. - ''.&mt('Gradable').' '. - ''.(' 'x2). - '
'; + '
'. + ''; } my $chooser = $toolelem; if ($type eq 'ext') { @@ -724,14 +521,14 @@ $preview $legend $active $chooser -
+
$title $pathitem $hiddenelem - +
@@ -744,38 +541,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 +553,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 +576,43 @@ 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"; - } + 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". + " var ltitoolsDisplay = new Array($num);\n". + " var ltitoolsLabel = new Array($num);\n". + " var ltitoolsTitle = 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"; + my %courseconfig; + if (ref($toolsref->{$key}->{'crsconf'}) eq 'HASH') { + my $display = $toolsref->{$key}->{'crsconf'}->{'target'}; + $toolsjs .= ' ltitoolsDisplay['.$i.'] = '."'$display';\n"; + my $label = $toolsref->{$key}->{'crsconf'}->{'label'}; + $toolsjs .= ' ltitoolsLabel['.$i.'] = '."'$label';\n"; + my $title = $toolsref->{$key}->{'crsconf'}->{'title'}; + $toolsjs .= ' ltitoolsTitle['.$i.'] = '."'$title';\n"; } - $exttoolnums .= " ltitoolsnum[$idx] = $i;\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); @@ -966,35 +651,21 @@ 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') { @@ -1006,9 +677,7 @@ function setExternal(extform,residx,type width.trim(); var height = extform.exttoolheight.value; height.trim(); - info += ':window:'+width+':'+height; - } else if (extform.exttooltarget[i].value == 'tab') { - info += ':tab::'; + info += ':window:'+width+':'+height; } else { info += ':iframe::'; } @@ -1021,41 +690,11 @@ function setExternal(extform,residx,type } else { info += ':::'; } - if (document.getElementById(windiv)) { - if (document.getElementById(windiv).style.display == 'block') { - var linktextdiv = prefix+'toollinktextdiv'; - var explanationdiv = prefix+'toolexplanationdiv'; - if (residx > 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; @@ -1071,39 +710,6 @@ function setExternal(extform,residx,type } 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) { eval("extform.importdetail.value=title+'='+info+'='+residx;extform.submit();"); @@ -1127,152 +733,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'; - } + } + if (document.getElementById(labeldiv)) { + if (ltitoolsLabel[j]) { + document.getElementById(labeldiv).style.display = 'inline'; + } else { + document.getElementById(labeldiv).style.display = 'none'; + } + } + if (document.getElementById(titlediv)) { + if (ltitoolsTitle[j]) { + document.getElementById(titlediv).style.display = 'inline'; + } else { + document.getElementById(titlediv).style.display = 'none'; } - break; } + break; } } } @@ -1452,39 +830,24 @@ function updateExttool(caller,form,suppl } } -function updateTooldim(form,dimendiv,windiv,widthinput,heightinput,linkinput,explaininput) { +function updateTooldim(form,dimendiv,widthinput,heightinput) { if (form.exttooltarget.length) { for (var i=0; i