--- loncom/xml/scripttag.pm 2003/02/07 22:03:21 1.85 +++ loncom/xml/scripttag.pm 2003/10/03 17:15:01 1.101 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # '; + } + return ('','no'); +} + +sub end_LONCAPA_INTERNAL_LONHTTPD_PORT { return ('','no'); } @@ -73,13 +114,17 @@ sub start_script { &Apache::lonxml::default_homework_load($safeeval); } &Apache::run::run($bodytext,$safeeval); - if (($target eq 'answer') && ($Apache::lonhomework::viewgrades == 'F')) { + if (($target eq 'answer') && + ($ENV{'form.answer_output_mode'} ne 'tex') && + ($Apache::lonhomework::viewgrades == 'F')) { $Apache::lonxml::evaluate--; - $result.=" function LONCAPA_scriptvars_$Apache::lonxml::curdepth() {newWindow=open('','new_W','width=500,height=200,scrollbars=1');newWindow.document.open('text/html','replace');newWindow.document.writeln('Script Vars
";
+	    my $listing=&Apache::run::dump($target,$safeeval);
+	    $listing=~s/\'/\\\'/g;
+	    $listing=~s/\n/\\n/g;
+	    $listing=~s/\r/\\r/g;
 	    $result.=$listing;
-	    $result.= "</pre></body></html>\');newWindow.document.close();void(0);\">Script Vars
"; + $result.= "
');newWindow.document.close();}Script Vars
"; } } elsif ($target eq "edit" ) { #&Apache::run::run($bodytext,$safeeval); @@ -132,6 +177,7 @@ sub start_display { $target eq 'analyze') { $result=''; # grade should produce no output } + $Apache::lonxml::post_evaluate=0; } elsif ($target eq "edit" ) { #$result = # "
<$token->[1]> output:
$bodytext
Source:
"; @@ -258,8 +304,16 @@ sub end_window { my $result; if ($target eq 'web') { my $output=&Apache::lonxml::endredirection; - $output =~ s/\"/\"\;/g; - $result = "newwindow $output \');newWindow.document.close();void(0);\">*"; + $output =~ s/[\n\r]/ /g; +# $output = &HTML::Entities::encode($output,'<>&"\''); + $output =~ s/\'/\\\'/g; + my $linktext= &Apache::lonxml::get_param('linktext',$parstack,$safeeval); + if (!$linktext) { $linktext='*'; } + my $width= &Apache::lonxml::get_param('width',$parstack,$safeeval); + if (!$width) { $width='500'; } + my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval); + if (!$height) { $height='200'; } + $result = "$linktext"; } elsif ($target eq 'tex') { $result = '}'; } else { @@ -292,7 +346,10 @@ sub start_import { my $id= &Apache::lonxml::get_param('id',$parstack,$safeeval); if (!$id) { $id=$Apache::lonxml::curdepth; } push(@Apache::inputtags::import,$id); - &Apache::lonxml::newparser($parser,\$file,$dir); + push(@Apache::inputtags::importlist,$id); + + &Apache::lonxml::newparser($parser,\$file,$dir); + } elsif ($target eq "edit" ) { $result.=&Apache::edit::tag_start($target,$token); $result.=&Apache::edit::editline($token->[1],$bodytext,'',40); @@ -411,7 +468,7 @@ sub end_comment { sub xmlparse { my ($string) = @_; - &Apache::lonxml::debug("Got $string"); +# &Apache::lonxml::debug("Got $string"); my ($target,$token,$tagstack,$parstack,$oldparser,$safeeval,$style)= @Apache::scripttag::parser_env; my @parser;