version 1.145, 2003/02/07 21:50:12
|
version 1.146, 2003/02/07 22:03:21
|
Line 43 BEGIN {
|
Line 43 BEGIN {
|
|
|
sub start_web { |
sub start_web { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my $bodytext=&Apache::lonxml::get_all_text("/web",$$parser[$#$parser]); |
my $bodytext=&Apache::lonxml::get_all_text("/web",$parser); |
if ($target eq 'web') { |
if ($target eq 'web') { |
return $bodytext; |
return $bodytext; |
} |
} |
Line 56 sub end_web {
|
Line 56 sub end_web {
|
|
|
sub start_tex { |
sub start_tex { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my $bodytext=&Apache::lonxml::get_all_text("/tex",$$parser[$#$parser]); |
my $bodytext=&Apache::lonxml::get_all_text("/tex",$parser); |
if ($target eq 'tex') { |
if ($target eq 'tex') { |
return $bodytext.' '; |
return $bodytext.' '; |
} |
} |
Line 245 sub start_problem {
|
Line 245 sub start_problem {
|
# won't get reset |
# won't get reset |
if ( $Apache::inputtags::part ne '' && $target != 'meta' ) { |
if ( $Apache::inputtags::part ne '' && $target != 'meta' ) { |
&Apache::lonxml::error('Only one problem allowed in a .problem file'); |
&Apache::lonxml::error('Only one problem allowed in a .problem file'); |
my $bodytext=&Apache::lonxml::get_all_text("/problem",$$parser[-1]); |
my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser); |
return ''; |
return ''; |
} |
} |
#intialize globals |
#intialize globals |
Line 526 sub start_block {
|
Line 526 sub start_block {
|
$result='1'; |
$result='1'; |
} |
} |
if ( ! $result ) { |
if ( ! $result ) { |
my $skip=&Apache::lonxml::get_all_text("/block",$$parser[-1]); |
my $skip=&Apache::lonxml::get_all_text("/block",$parser); |
&Apache::lonxml::debug("skipping ahead :$skip: $$parser[-1]"); |
&Apache::lonxml::debug("skipping ahead :$skip: $$parser[-1]"); |
} |
} |
$result=''; |
$result=''; |
Line 589 sub start_randomlist {
|
Line 589 sub start_randomlist {
|
my $result; |
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' || $target eq 'analyze') { |
$target eq 'tex' || $target eq 'analyze') { |
my $body= &Apache::lonxml::get_all_text("/randomlist",$$parser[$#$parser]); |
my $body= &Apache::lonxml::get_all_text("/randomlist",$parser); |
my $b_parser= HTML::TokeParser->new(\$body); |
my $b_parser= HTML::TokeParser->new(\$body); |
my $b_tok; |
my $b_tok; |
my @randomlist; |
my @randomlist; |
Line 674 sub start_part {
|
Line 674 sub start_part {
|
$expression.='$external::gradestatus="'.$Apache::lonhomework::history{"resource.$id.solved"}.'";'; |
$expression.='$external::gradestatus="'.$Apache::lonhomework::history{"resource.$id.solved"}.'";'; |
&Apache::run::run($expression,$safeeval); |
&Apache::run::run($expression,$safeeval); |
if ( $status eq 'CLOSED' ) { |
if ( $status eq 'CLOSED' ) { |
my $bodytext=&Apache::lonxml::get_all_text("/part",$$parser[$#$parser]); |
my $bodytext=&Apache::lonxml::get_all_text("/part",$parser); |
if ( $target eq "web" ) { |
if ( $target eq "web" ) { |
$result="<br />Part is not open to be viewed. It $accessmsg<br />"; |
$result="<br />Part is not open to be viewed. It $accessmsg<br />"; |
} elsif ( $target eq 'tex' ) { |
} elsif ( $target eq 'tex' ) { |
Line 729 sub start_preduedate {
|
Line 729 sub start_preduedate {
|
if ($Apache::inputtags::status['-1'] ne 'CAN_ANSWER' && |
if ($Apache::inputtags::status['-1'] ne 'CAN_ANSWER' && |
$Apache::inputtags::status['-1'] ne 'CANNOT_ANSWER' && |
$Apache::inputtags::status['-1'] ne 'CANNOT_ANSWER' && |
$Apache::inputtags::status['-1'] ne 'SHOW_ANSWER') { |
$Apache::inputtags::status['-1'] ne 'SHOW_ANSWER') { |
&Apache::lonxml::get_all_text("/preduedate",$$parser[$#$parser]); |
&Apache::lonxml::get_all_text("/preduedate",$parser); |
} |
} |
} |
} |
return ''; |
return ''; |
Line 743 sub start_postanswerdate {
|
Line 743 sub start_postanswerdate {
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
if ($target eq 'web' || $target eq 'grade' || $target eq 'tex') { |
if ($target eq 'web' || $target eq 'grade' || $target eq 'tex') { |
if ($Apache::inputtags::status['-1'] ne 'SHOW_ANSWER') { |
if ($Apache::inputtags::status['-1'] ne 'SHOW_ANSWER') { |
&Apache::lonxml::get_all_text("/postanswerdate",$$parser[$#$parser]); |
&Apache::lonxml::get_all_text("/postanswerdate",$parser); |
} |
} |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
return '\vskip 0 mm \noindent'; |
return '\vskip 0 mm \noindent'; |
Line 762 sub start_notsolved {
|
Line 762 sub start_notsolved {
|
&Apache::lonxml::debug("not solved has :$gradestatus:"); |
&Apache::lonxml::debug("not solved has :$gradestatus:"); |
if ($gradestatus =~ /^correct/) { |
if ($gradestatus =~ /^correct/) { |
&Apache::lonxml::debug("skipping"); |
&Apache::lonxml::debug("skipping"); |
&Apache::lonxml::get_all_text("/notsolved",$$parser[$#$parser]); |
&Apache::lonxml::get_all_text("/notsolved",$parser); |
} |
} |
} |
} |
return ''; |
return ''; |
Line 777 sub start_solved {
|
Line 777 sub start_solved {
|
if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' || $target eq 'tex') { |
if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' || $target eq 'tex') { |
my $gradestatus=$Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"}; |
my $gradestatus=$Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"}; |
if ($gradestatus !~ /^correct/) { |
if ($gradestatus !~ /^correct/) { |
&Apache::lonxml::get_all_text("/solved",$$parser[$#$parser]); |
&Apache::lonxml::get_all_text("/solved",$parser); |
} |
} |
} |
} |
return ''; |
return ''; |
Line 799 sub end_startouttext {
|
Line 799 sub end_startouttext {
|
my $text=''; |
my $text=''; |
|
|
if ($target eq 'edit') { |
if ($target eq 'edit') { |
$text=&Apache::lonxml::get_all_text("endouttext",$$parser[-1]); |
$text=&Apache::lonxml::get_all_text("endouttext",$parser); |
$result.=&Apache::edit::start_table($token)."<tr><td>Text Block</td> |
$result.=&Apache::edit::start_table($token)."<tr><td>Text Block</td> |
<td>Delete:". |
<td>Delete:". |
&Apache::edit::deletelist($target,$token) |
&Apache::edit::deletelist($target,$token) |
Line 810 sub end_startouttext {
|
Line 810 sub end_startouttext {
|
&Apache::edit::editfield($token->[1],$text,"",80,4); |
&Apache::edit::editfield($token->[1],$text,"",80,4); |
} |
} |
if ($target eq 'modified') { |
if ($target eq 'modified') { |
$text=&Apache::lonxml::get_all_text("endouttext",$$parser['-1']); |
$text=&Apache::lonxml::get_all_text("endouttext",$parser); |
$result='<startouttext />'.&Apache::edit::modifiedfield(); |
$result='<startouttext />'.&Apache::edit::modifiedfield(); |
} |
} |
if ($target eq 'tex') { |
if ($target eq 'tex') { |
Line 835 sub end_endouttext {
|
Line 835 sub end_endouttext {
|
} |
} |
sub delete_startouttext { |
sub delete_startouttext { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
# my $text=&Apache::lonxml::get_all_text("endouttext",$$parser['-1']); |
# my $text=&Apache::lonxml::get_all_text("endouttext",$parser); |
my $text=$$parser['-1']->get_text("/endouttext"); |
my $text=$$parser['-1']->get_text("/endouttext"); |
my $ntoken=$$parser['-1']->get_token(); |
my $ntoken=$$parser['-1']->get_token(); |
&Apache::lonxml::debug("Deleting :$text: and :$ntoken->[0]:$ntoken->[1]:$ntoken->[2]: for startouttext"); |
&Apache::lonxml::debug("Deleting :$text: and :$ntoken->[0]:$ntoken->[1]:$ntoken->[2]: for startouttext"); |