--- loncom/homework/structuretags.pm 2005/11/21 22:16:38 1.325
+++ loncom/homework/structuretags.pm 2005/12/01 18:46:31 1.326
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# definition of tags that give a structure to a document
#
-# $Id: structuretags.pm,v 1.325 2005/11/21 22:16:38 albertel Exp $
+# $Id: structuretags.pm,v 1.326 2005/12/01 18:46:31 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -42,8 +42,8 @@ BEGIN {
}
sub start_web {
- my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
- my $bodytext=&Apache::lonxml::get_all_text("/web",$parser);
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
+ my $bodytext=&Apache::lonxml::get_all_text("/web",$parser,$style);
if ($target eq 'web') {
return $bodytext;
}
@@ -55,9 +55,9 @@ sub end_web {
}
sub start_tex {
- my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $result='';
- my $bodytext=&Apache::lonxml::get_all_text("/tex",$parser);
+ my $bodytext=&Apache::lonxml::get_all_text("/tex",$parser,$style);
if ($target eq 'tex') {
return $bodytext.' ';
}
@@ -514,7 +514,7 @@ sub get_problem_status {
}
sub start_problem {
- my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
# We'll use the redirection to fix up printing of duedates.
if (!$Apache::lonxml::metamode) {
@@ -527,7 +527,7 @@ sub start_problem {
if ( $Apache::inputtags::part ne '' ||
$Apache::lonhomework::parsing_a_problem) {
&Apache::lonxml::error('Only one <problem> allowed in a .problem file');
- #my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser);
+ #my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser,$style);
return '';
}
@@ -630,7 +630,8 @@ sub start_problem {
( $status eq 'UNAVAILABLE') ||
( $status eq 'NOT_IN_A_SLOT') ||
( $status eq 'INVALID_ACCESS')) {
- my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser);
+ my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser,
+ $style);
if ( $target eq "web" ) {
$result.= $head_tag_start.'';
my $msg=$body_tag_start;
@@ -658,7 +659,8 @@ sub start_problem {
}
}
} elsif ($status eq 'NEEDS_CHECKIN') {
- my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser);
+ my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser,
+ $style);
if ($target eq 'web') {
$result .= $head_tag_start.'';
$result .= $body_tag_start;
@@ -933,12 +935,12 @@ sub end_library {
}
sub start_definetag {
- my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $result;
my $name = $token->[2]->{'name'};
- my $skip=&Apache::lonxml::get_all_text("/definetag",$parser);
+ my $skip=&Apache::lonxml::get_all_text("/definetag",$parser,$style);
if ($name=~/^\//) {
$result=
'
END '.$name.' |
';
@@ -1084,7 +1086,7 @@ sub end_instructorcomment {
}
sub start_while {
- my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $result;
if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
@@ -1096,7 +1098,7 @@ sub start_while {
&Apache::lonxml::default_homework_load($safeeval);
}
my $result = &Apache::run::run($code,$safeeval);
- my $bodytext=&Apache::lonxml::get_all_text("/while",$parser);
+ my $bodytext=&Apache::lonxml::get_all_text("/while",$parser,$style);
push( @Apache::structuretags::whilebody, $bodytext);
push( @Apache::structuretags::whileline, $token->[5]);
&Apache::lonxml::debug("s code $code got -$result-");
@@ -1152,11 +1154,11 @@ sub end_while {
# ...
#
sub start_randomlist {
- my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $result;
if ($target eq 'answer' || $target eq 'grade' || $target eq 'web' ||
$target eq 'tex' || $target eq 'analyze') {
- my $body= &Apache::lonxml::get_all_text("/randomlist",$parser);
+ my $body= &Apache::lonxml::get_all_text("/randomlist",$parser,$style);
my $b_parser= HTML::LCParser->new(\$body);
$b_parser->xml_mode(1);
$b_parser->marked_sections(1);
@@ -1245,7 +1247,7 @@ sub ordered_show_check {
}
sub start_part {
- my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
if (!$Apache::lonxml::metamode) {
&Apache::lonxml::startredirection(); # we'll use redirection to fix up
# duedates.
@@ -1274,7 +1276,7 @@ sub start_part {
} elsif ($target eq 'web' || $target eq 'grade' ||
$target eq 'answer' || $target eq 'tex') {
if ($hidden || !$in_order_show) {
- my $bodytext=&Apache::lonxml::get_all_text("/part",$parser);
+ my $bodytext=&Apache::lonxml::get_all_text("/part",$parser,$style);
} else {
my ($status,$accessmsg) = &Apache::lonhomework::check_access($id);
push (@Apache::inputtags::status,$status);
@@ -1290,7 +1292,8 @@ sub start_part {
( $status eq 'BANNED') ||
( $status eq 'UNAVAILABLE') ||
( $status eq 'INVALID_ACCESS')) {
- my $bodytext=&Apache::lonxml::get_all_text("/part",$parser);
+ my $bodytext=&Apache::lonxml::get_all_text("/part",$parser,
+ $style);
if ( $target eq "web" ) {
$result="
".&mt('Part is not open to be viewed. It')." $accessmsg
";
} elsif ( $target eq 'tex' ) {
@@ -1392,14 +1395,14 @@ sub end_part {
}
sub start_preduedate {
- my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' || $target eq 'tex') {
&Apache::lonxml::debug("State in preduedate is ". $Apache::inputtags::status['-1']);
if (!$Apache::lonhomework::scantronmode &&
$Apache::inputtags::status['-1'] ne 'CAN_ANSWER' &&
$Apache::inputtags::status['-1'] ne 'CANNOT_ANSWER') {
&Apache::lonxml::debug("Wha? ". ($Apache::inputtags::status['-1'] ne 'SHOW_ANSWER'));
- &Apache::lonxml::get_all_text("/preduedate",$parser);
+ &Apache::lonxml::get_all_text("/preduedate",$parser,$style);
}
}
return '';
@@ -1410,14 +1413,14 @@ sub end_preduedate {
}
sub start_postanswerdate {
- my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
if ($target eq 'web' || $target eq 'grade') {
if ($Apache::lonhomework::scantronmode ||
$Apache::inputtags::status['-1'] ne 'SHOW_ANSWER') {
- &Apache::lonxml::get_all_text("/postanswerdate",$parser);
+ &Apache::lonxml::get_all_text("/postanswerdate",$parser,$style);
}
} elsif ($target eq 'tex') {
- &Apache::lonxml::get_all_text("/postanswerdate",$parser);
+ &Apache::lonxml::get_all_text("/postanswerdate",$parser,$style);
}
return '';
}
@@ -1427,7 +1430,7 @@ sub end_postanswerdate {
}
sub start_notsolved {
- my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
$target eq 'tex') {
my $gradestatus=$Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"};
@@ -1435,7 +1438,7 @@ sub start_notsolved {
if ($gradestatus =~ /^correct/ &&
&Apache::response::show_answer()) {
&Apache::lonxml::debug("skipping");
- &Apache::lonxml::get_all_text("/notsolved",$parser);
+ &Apache::lonxml::get_all_text("/notsolved",$parser,$style);
}
}
return '';
@@ -1446,13 +1449,13 @@ sub end_notsolved {
}
sub start_solved {
- my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
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::response::show_answer()) {
- &Apache::lonxml::get_all_text("/solved",$parser);
+ &Apache::lonxml::get_all_text("/solved",$parser,$style);
}
}
return '';
@@ -1463,7 +1466,7 @@ sub end_solved {
}
sub start_problemtype {
- my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $result;
if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
$target eq 'tex' || $target eq 'analyze') {
@@ -1475,10 +1478,10 @@ sub start_problemtype {
if ($Apache::lonhomework::type eq lc($type)) { $found=1; }
}
if ($mode eq 'show' && !$found) {
- &Apache::lonxml::get_all_text("/problemtype",$parser);
+ &Apache::lonxml::get_all_text("/problemtype",$parser,$style);
}
if ($mode eq 'hide' && $found) {
- &Apache::lonxml::get_all_text("/problemtype",$parser);
+ &Apache::lonxml::get_all_text("/problemtype",$parser,$style);
}
} elsif ($target eq 'edit') {
$result .=&Apache::edit::tag_start($target,$token);
@@ -1512,12 +1515,12 @@ sub start_startouttext {
}
sub end_startouttext {
- my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $result='';
my $text='';
if ($target eq 'edit') {
- $text=&Apache::lonxml::get_all_text("endouttext",$parser);
+ $text=&Apache::lonxml::get_all_text("endouttext",$parser,$style);
$result.=&Apache::edit::start_table($token)."".&mt('Text Block')." |
".&mt('Delete:').
&Apache::edit::deletelist($target,$token)
@@ -1556,8 +1559,8 @@ sub end_endouttext {
}
sub delete_startouttext {
- my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
- # my $text=&Apache::lonxml::get_all_text("endouttext",$parser);
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
+ # my $text=&Apache::lonxml::get_all_text("endouttext",$parser,$style);
my $text=$$parser['-1']->get_text("/endouttext");
my $ntoken=$$parser['-1']->get_token();
&Apache::lonxml::debug("Deleting :$text: and :$ntoken->[0]:$ntoken->[1]:$ntoken->[2]: for startouttext");
|