--- loncom/xml/scripttag.pm 2002/10/21 20:31:06 1.79
+++ 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');
}
sub start_script {
@@ -53,7 +104,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' ||
@@ -63,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.="";
- my $listing= &HTML::Entities::encode(&Apache::run::dump($target,$safeeval));
-
+ $result.="Script Vars
";
}
} elsif ($target eq "edit" ) {
#&Apache::run::run($bodytext,$safeeval);
@@ -80,7 +135,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 +162,22 @@ 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
+ }
+ $Apache::lonxml::post_evaluate=0;
} elsif ($target eq "edit" ) {
#$result =
# "
<$token->[1]> output:
$bodytext
Source:
";
@@ -163,7 +222,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();
}
@@ -244,8 +304,16 @@ sub end_window {
my $result;
if ($target eq 'web') {
my $output=&Apache::lonxml::endredirection;
- $output =~ s/\"/\"\;/g;
- $result = "
"
@@ -350,7 +422,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 +447,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; } @@ -396,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; |