--- loncom/homework/structuretags.pm 2003/11/26 19:35:28 1.227
+++ loncom/homework/structuretags.pm 2004/02/12 19:07:12 1.234
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# definition of tags that give a structure to a document
#
-# $Id: structuretags.pm,v 1.227 2003/11/26 19:35:28 albertel Exp $
+# $Id: structuretags.pm,v 1.234 2004/02/12 19:07:12 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -37,6 +37,7 @@ use Apache::lonnet;
use Apache::File();
use Apache::lonmenu;
use Apache::lonlocal;
+use Apache::lonxml;
BEGIN {
&Apache::lonxml::register('Apache::structuretags',('block','languageblock','instructorcomment','while','randomlist','problem','library','web','tex','part','preduedate','postanswerdate','solved','notsolved','startouttext','endouttext',
@@ -186,8 +187,12 @@ sub problem_edit_header {
-
- ';
+ '.
+ &Apache::loncommon::help_open_topic('Problem_Editor_XML_Index',
+ 'Problem Editing Help').' '.
+ &Apache::loncommon::help_open_faq(5).
+ &Apache::loncommon::help_open_bug('Authoring').'
'.
+ '';
}
sub problem_edit_footer {
@@ -208,8 +213,9 @@ sub problem_web_to_edit_header {
onChange="javascript:document.lonhomework.changerandseed.click()" />
'.&mt(' Show All Foils').'
- ';
+ $result.= ' />'.&mt(' Show All Foils').
+ &Apache::loncommon::help_open_topic('Problem_Editor_Testing_Area','Testing Problems').
+ ' ';
my $numtoanalyze=$ENV{'form.numtoanalyze'};
if (!$numtoanalyze) { $numtoanalyze=20; }
$result.= ' '.$filename);
print $temp_file "$duedate\n";
@@ -517,7 +523,7 @@ sub end_problem {
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' ||
$target eq 'tex') {
if ( $target eq 'grade' && $Apache::inputtags::part eq '0' &&
- $status eq 'CAN_ANSWER' ) {
+ ($status eq 'CAN_ANSWER' || $Apache::lonhomework::scantronmode)) {
# if part is zero, no s existed, so we need to the grading
&Apache::inputtags::grade;
} elsif ( ($target eq 'web' || $target eq 'tex') &&
@@ -969,15 +975,17 @@ sub start_part {
$result.='\noindent \end{minipage}\vskip 0 mm \noindent \begin{minipage}{\textwidth}\noindent';
}
my $weight = &Apache::lonnet::EXT("resource.$id.weight");
- my $allkeys=&Apache::lonnet::metadata($ENV{'request.uri'},'keys');
+ my $allkeys=&Apache::lonnet::metadata($ENV{'request.uri'},'packages');
my @allkeys = split /,/,$allkeys;
my $allow_print_points = 0;
foreach my $partial_key (@allkeys) {
- if ($partial_key=~m/\_(\d*)\_weight/) {
+ if ($partial_key=~m/^part_(.*)$/) {
if ($1 ne '0') {$allow_print_points=1;}
}
}
if (($Apache::lonhomework::type eq 'exam') && ($allow_print_points)) { $result .= '\fbox{\textit{'.$weight.' pt}}';}
+ } elsif ($target eq 'web') {
+ $result.=' ';
}
}
}
@@ -1009,7 +1017,9 @@ sub end_part {
my $result='';
if ( $target eq 'meta' ) {
$result='';
- } elsif ( $target eq 'grade' && $status eq 'CAN_ANSWER' && !$hidden) {
+ } elsif ($target eq 'grade' &&
+ ($status eq 'CAN_ANSWER' || $Apache::lonhomework::scantronmode) &&
+ !$hidden) {
$result=&Apache::inputtags::grade;
} elsif (($target eq 'web' || $target eq 'tex') && !$hidden ) {
my $gradestatus=&Apache::inputtags::gradestatus($Apache::inputtags::part,
@@ -1044,12 +1054,12 @@ sub end_preduedate {
sub start_postanswerdate {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
- if ($target eq 'web' || $target eq 'grade' || $target eq 'tex') {
+ if ($target eq 'web' || $target eq 'grade') {
if ($Apache::inputtags::status['-1'] ne 'SHOW_ANSWER') {
&Apache::lonxml::get_all_text("/postanswerdate",$parser);
}
} elsif ($target eq 'tex') {
- return '\vskip 0 mm \noindent';
+ &Apache::lonxml::get_all_text("/postanswerdate",$parser);
}
return '';
}