--- loncom/homework/structuretags.pm 2002/08/29 21:21:09 1.109 +++ loncom/homework/structuretags.pm 2002/09/16 20:40:38 1.114 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.109 2002/08/29 21:21:09 albertel Exp $ +# $Id: structuretags.pm,v 1.114 2002/09/16 20:40:38 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') { @@ -462,7 +462,8 @@ 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); @@ -480,7 +481,8 @@ sub end_library { my $result=''; if ($target eq 'edit') { $result=&problem_edit_footer(); - } elsif ($target eq 'web' && $ENV{'request.state'} eq "construct") { + } elsif ($target eq 'web' && $$tagstack[0] ne 'problem' && + $ENV{'request.state'} eq "construct") { $result.=''.&Apache::lonxml::xmlend(); } return $result; @@ -489,7 +491,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;'; @@ -536,7 +538,7 @@ sub end_while { return ""; } -# +# # .. # .. # .. @@ -545,7 +547,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; @@ -666,7 +669,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]); @@ -681,7 +684,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]); } @@ -697,7 +700,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/) { @@ -714,7 +717,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]);