--- loncom/homework/structuretags.pm 2002/08/26 21:01:52 1.108
+++ loncom/homework/structuretags.pm 2002/09/09 21:08:31 1.113
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# definition of tags that give a structure to a document
#
-# $Id: structuretags.pm,v 1.108 2002/08/26 21:01:52 albertel Exp $
+# $Id: structuretags.pm,v 1.113 2002/09/09 21:08:31 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -393,8 +393,8 @@ sub end_problem {
$result.= $gradestatus;
}
if (
- (($target eq 'web' || $target eq 'tex') && ($ENV{'request.state'} ne 'construct')) ||
- ($target eq 'answer')
+ (($target eq 'web') && ($ENV{'request.state'} ne 'construct')) ||
+ ($target eq 'answer') || ($target eq 'tex')
) {
if ($status eq 'CAN_ANSWER') {
if ($target ne 'tex') {
@@ -450,9 +450,11 @@ sub html_to_tex {
sub start_library {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
- my ($result,$head_tag_start,$body_tag_start,$form_tag_start)=
- &page_start($target,$token,$tagstack,$parstack,$parser,$safeeval);
+ my ($result,$head_tag_start,$body_tag_start,$form_tag_start);
+
if ($target eq 'edit') {
+ ($result,$head_tag_start,$body_tag_start,$form_tag_start)=
+ &page_start($target,$token,$tagstack,$parstack,$parser,$safeeval);
$result.=$head_tag_start."".$body_tag_start.$form_tag_start.
&problem_edit_header();
my $temp=&Apache::edit::insertlist($target,$token);
@@ -460,7 +462,10 @@ sub start_library {
} elsif ($target eq 'modified') {
$result=$token->[4];
$result.=&Apache::edit::handle_insert();
- } elsif ($target eq 'web' && $ENV{'request.state'} eq "construct" ) {
+ } elsif ($target eq 'web' && $$tagstack[0] ne 'problem' &&
+ $ENV{'request.state'} eq "construct" ) {
+ ($result,$head_tag_start,$body_tag_start,$form_tag_start)=
+ &page_start($target,$token,$tagstack,$parstack,$parser,$safeeval);
my $name=&get_resource_name($parstack,$safeeval);
my $rndseed=&setup_rndseed($safeeval);
$result.="$head_tag_start
$name
@@ -485,7 +490,7 @@ sub end_library {
sub start_block {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
- if ($target eq 'web' || $target eq 'grade' || $target eq 'answer') {
+ if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' || $target eq 'tex') {
my $code = @$parstack[$#$parstack];
$code =~ s/\"//g;
$code .=';return $condition;';
@@ -532,7 +537,7 @@ sub end_while {
return "";
}
-#
+#
# ..
# ..
# ..
@@ -541,7 +546,8 @@ sub end_while {
sub start_randomlist {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
my $result;
- if ($target eq 'answer' || $target eq 'grade' || $target eq 'web') {
+ if ($target eq 'answer' || $target eq 'grade' || $target eq 'web' ||
+ $target eq 'tex') {
my $body= &Apache::lonxml::get_all_text("/randomlist",$$parser[$#$parser]);
my $b_parser= HTML::TokeParser->new(\$body);
my $b_tok;
@@ -662,7 +668,7 @@ sub end_part {
sub start_preduedate {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
- if ($target eq 'web' || $target eq 'grade' || $target eq 'answer') {
+ if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' || $target eq 'tex') {
if ($Apache::inputtags::status['-1'] ne 'CAN_ANSWER' &&
$Apache::inputtags::status['-1'] ne 'CANNOT_ANSWER' ) {
&Apache::lonxml::get_all_text("/preduedate",$$parser[$#$parser]);
@@ -677,7 +683,7 @@ sub end_preduedate {
sub start_postanswerdate {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
- if ($target eq 'web' || $target eq 'grade') {
+ if ($target eq 'web' || $target eq 'grade' || $target eq 'tex') {
if ($Apache::inputtags::status['-1'] ne 'SHOW_ANSWER') {
&Apache::lonxml::get_all_text("/postanswerdate",$$parser[$#$parser]);
}
@@ -693,7 +699,7 @@ sub end_postanswerdate {
sub start_notsolved {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
- if ($target eq 'web' || $target eq 'grade' || $target eq 'answer') {
+ if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' || $target eq 'tex') {
my $gradestatus=$Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"};
&Apache::lonxml::debug("not solved has :$gradestatus:");
if ($gradestatus =~ /^correct/) {
@@ -710,7 +716,7 @@ sub end_notsolved {
sub start_solved {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
- if ($target eq 'web' || $target eq 'grade' || $target eq 'answer') {
+ if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' || $target eq 'tex') {
my $gradestatus=$Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"};
if ($gradestatus !~ /^correct/) {
&Apache::lonxml::get_all_text("/solved",$$parser[$#$parser]);