--- loncom/xml/scripttag.pm 2002/10/21 20:31:06 1.79 +++ loncom/xml/scripttag.pm 2003/02/24 23:32:32 1.86 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # '; + } + return ('','no'); +} + +sub end_LONCAPA_INTERNAL_LONHTTPD_PORT { + return ('','no'); } sub start_script { @@ -53,7 +79,7 @@ sub start_script { my $type= &Apache::lonxml::get_param('type',$parstack,$safeeval); &Apache::lonxml::debug("found type of $type"); if ($type eq "loncapa/perl") { - my $bodytext=&Apache::lonxml::get_all_text("/script",$$parser[$#$parser]); + my $bodytext=&Apache::lonxml::get_all_text("/script",$parser); if ( $target eq "modified" ) { $result=$token->[4].&Apache::edit::modifiedfield(); } elsif ( $target eq 'web' || $target eq 'tex' || @@ -65,11 +91,11 @@ sub start_script { &Apache::run::run($bodytext,$safeeval); if (($target eq 'answer') && ($Apache::lonhomework::viewgrades == 'F')) { $Apache::lonxml::evaluate--; - $result.="newwindow
";
+	    $result.="Script Vars
"; + $result.= "</pre></body></html>\');newWindow.document.close();void(0);\">Script Vars
"; } } elsif ($target eq "edit" ) { #&Apache::run::run($bodytext,$safeeval); @@ -80,7 +106,7 @@ sub start_script { } else { if ($target ne "meta") { $result = $token->[4]; - my $bodytext=&Apache::lonxml::get_all_text("/script",$$parser[$#$parser]); + my $bodytext=&Apache::lonxml::get_all_text("/script",$parser); $result.=$bodytext; } } @@ -107,18 +133,21 @@ sub start_display { my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; my $result; - my $bodytext=&Apache::lonxml::get_all_text("/display",$$parser[$#$parser]); + my $bodytext=&Apache::lonxml::get_all_text("/display",$parser); if ( $target eq "modified" ) { $result=$token->[4].&Apache::edit::modifiedfield(); } elsif ( $target eq 'web' || $target eq 'tex' || $target eq 'grade' || $target eq 'answer' || $target eq 'analyze') { - $result=&Apache::run::run($bodytext,$safeeval); - if ($target eq 'grade' || $target eq 'answer' || - $target eq 'analyze') { - $result=''; # grade should produce no output - } + if (!$Apache::lonxml::default_homework_loaded) { + &Apache::lonxml::default_homework_load($safeeval); + } + $result=&Apache::run::run($bodytext,$safeeval); + if ($target eq 'grade' || $target eq 'answer' || + $target eq 'analyze') { + $result=''; # grade should produce no output + } } elsif ($target eq "edit" ) { #$result = # "
<$token->[1]> output:
$bodytext
Source:
"; @@ -163,7 +192,8 @@ sub start_scriptlib { if ($target eq "edit" ) { $result= &Apache::edit::tag_start($target,$token,'New Script Functions'). - &Apache::edit::editline($token->[1],$bodytext,'',40). + &Apache::edit::editline($token->[1],$bodytext,'scriptlib',40). + &Apache::edit::browse(undef,'textnode'). $error.''. &Apache::edit::end_table(); } @@ -282,6 +312,7 @@ sub start_import { } elsif ($target eq "edit" ) { $result.=&Apache::edit::tag_start($target,$token); $result.=&Apache::edit::editline($token->[1],$bodytext,'',40); + $result.=&Apache::edit::browse(undef,'textnode'); #FIXME this need to convert $bodytext to be a contruction space reference #my $location=&Apache::lonnet::filelocation($Apache::lonxml::pwd['-1'],$bodytext); #$result.="Clickhere to edit
" @@ -350,7 +381,7 @@ sub start_standalone { my $result=''; if ($target eq 'web' ) { if ( $ENV{'request.course.id'} ) { - my $inside = &Apache::lonxml::get_all_text("/standalone",$$parser[-1]); + my $inside = &Apache::lonxml::get_all_text("/standalone",$parser); } else { $result='
'; } @@ -375,14 +406,14 @@ sub start_comment { my $result=''; if ($target eq 'edit') { $result=&Apache::edit::tag_start($target,$token); - my $bodytext=&Apache::lonxml::get_all_text("/comment",$$parser[$#$parser]); + my $bodytext=&Apache::lonxml::get_all_text("/comment",$parser); $result.=&Apache::edit::editfield($token->[1],$bodytext,'',80,4) } elsif ( $target eq 'modified') { $result=$token->[4].&Apache::edit::modifiedfield($token); } elsif ( $target eq 'web' || $target eq 'tex' || $target eq 'grade' || $target eq 'answer' || $target eq 'meta' || $target eq 'analyze') { #normally throw away comments - my $bodytext=&Apache::lonxml::get_all_text("/comment",$$parser[$#$parser]); + my $bodytext=&Apache::lonxml::get_all_text("/comment",$parser); } return $result; }