version 1.54, 2001/08/17 14:10:40
|
version 1.58, 2001/08/18 16:08:34
|
Line 2
|
Line 2
|
# definition of tags that give a structure to a document |
# definition of tags that give a structure to a document |
# 2/19 Guy |
# 2/19 Guy |
# 6/26/2001 fixed extra web display at end of <web></web> tags |
# 6/26/2001 fixed extra web display at end of <web></web> tags |
# 8/17 Gerd Kortemeyer |
# 8/17,8/18 Gerd Kortemeyer |
|
|
package Apache::structuretags; |
package Apache::structuretags; |
|
|
Line 82 sub start_problem {
|
Line 82 sub start_problem {
|
&Apache::lonxml::debug("Using default type, problem, :$uri:"); |
&Apache::lonxml::debug("Using default type, problem, :$uri:"); |
} |
} |
} |
} |
|
|
#adeed vars to the scripting enviroment |
#adeed vars to the scripting enviroment |
my $expression='$external::part='.$Apache::inputtags::part.';'; |
my $expression='$external::part='.$Apache::inputtags::part.';'; |
&Apache::run::run($expression,$safeeval); |
&Apache::run::run($expression,$safeeval); |
my $status; |
my $status; |
my $datemsg; |
my $accessmsg; |
|
|
#should get back a <html> or the neccesary stuff to start XML/MathML |
#should get back a <html> or the neccesary stuff to start XML/MathML |
my ($result,$head_tag_start,$body_tag_start)= |
my ($result,$head_tag_start,$body_tag_start)= |
&page_start($target,$token,$tagstack,$parstack,$parser,$safeeval); |
&page_start($target,$token,$tagstack,$parstack,$parser,$safeeval); |
|
|
|
if ($Apache::lonhomework::type eq 'exam') { |
|
if ($target eq 'web') { |
|
my $token=$Apache::lonhomework::history{"resource.0.outtoken"}; |
|
if (($ENV{'form.doescheckout'}) && (!$token)) { |
|
$token=&Apache::lonxml::maketoken(); |
|
} |
|
$body_tag_start.=&Apache::lonxml::printtokenheader($target,$token); |
|
} |
|
if ($target eq 'meta') { |
|
print "Cool, I was called"; |
|
|
|
return (<<ENDSTORES); |
|
<stores part="0" name="outtoken" type="string" |
|
display="Document ID checked out" /> |
|
<stores part="0" name="checkouttime" type="date" |
|
display="Time checked out" /> |
|
<stores part="0" name="outremote" type="string" |
|
display="Client IP checked out from" /> |
|
|
|
<stores part="0" name="intoken" type="string" |
|
display="Document ID checked in" /> |
|
<stores part="0" name="checkintime" type="date" |
|
display="Time checked in" /> |
|
<stores part="0" name="inremote" type="string" |
|
display="Client IP checked in from" /> |
|
ENDSTORES |
|
} |
|
} |
if ($target eq 'web' || $target eq 'grade') { |
if ($target eq 'web' || $target eq 'grade') { |
($status,$datemsg) = &Apache::lonhomework::check_date('0'); |
($status,$accessmsg) = &Apache::lonhomework::check_access('0'); |
push (@Apache::inputtags::status,$status); |
push (@Apache::inputtags::status,$status); |
my $expression='$external::datestatus="'.$status.'";'; |
my $expression='$external::datestatus="'.$status.'";'; |
$expression.='$external::gradestatus="'.$Apache::lonhomework::history{"resource.0.solved"}.'";'; |
$expression.='$external::gradestatus="'.$Apache::lonhomework::history{"resource.0.solved"}.'";'; |
Line 107 sub start_problem {
|
Line 136 sub start_problem {
|
my $msg=$body_tag_start. |
my $msg=$body_tag_start. |
'<h1>Not open to be viewed</h1>'; |
'<h1>Not open to be viewed</h1>'; |
if ($status eq 'CLOSED') { |
if ($status eq 'CLOSED') { |
$msg.='The problem '.$datemsg; |
$msg.='The problem '.$accessmsg; |
} elsif ($status eq 'UNCHECKEDOUT') { |
} elsif ($status eq 'UNCHECKEDOUT') { |
$msg.='The resource needs to be checked out'; |
$msg.=(<<ENDCHECKOUT); |
|
<h2>The resource needs to be checked out</h2> |
|
As a resource gets checked out, a unique timestamped ID is given to it, and a |
|
permanent record is left in the system.<p /> |
|
<font color=red> |
|
Checking out resources is subject to course policies, and may exclude future |
|
credit even if done erroneously.<p /> |
|
</font> |
|
<form method=post> |
|
<input type=submit name="doescheckout" |
|
value="Check out Exam for Viewing" /> |
|
</form> |
|
ENDCHECKOUT |
} |
} |
return $result.$msg.'<br />'; |
return $result.$msg.'<br />'; |
} |
} |
Line 344 sub start_part {
|
Line 385 sub start_part {
|
if ($target eq 'meta') { |
if ($target eq 'meta') { |
return &Apache::response::mandatory_part_meta; |
return &Apache::response::mandatory_part_meta; |
} elsif ($target eq 'web' || $target eq 'grade') { |
} elsif ($target eq 'web' || $target eq 'grade') { |
my ($status,$datemsg) = &Apache::lonhomework::check_date($id); |
my ($status,$accessmsg) = &Apache::lonhomework::check_access($id); |
push (@Apache::inputtags::status,$status); |
push (@Apache::inputtags::status,$status); |
my $expression='$external::datestatus="'.$status.'";'; |
my $expression='$external::datestatus="'.$status.'";'; |
$expression.='$external::gradestatus="'.$Apache::lonhomework::history{"resource.$id.solved"}.'";'; |
$expression.='$external::gradestatus="'.$Apache::lonhomework::history{"resource.$id.solved"}.'";'; |
Line 352 sub start_part {
|
Line 393 sub start_part {
|
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[$#$parser]); |
if ( $target eq "web" ) { |
if ( $target eq "web" ) { |
return "<br />Part is not open to be viewed. It $datemsg<br />"; |
return "<br />Part is not open to be viewed. It $accessmsg<br />"; |
} |
} |
} |
} |
} |
} |