--- loncom/homework/structuretags.pm 2002/08/23 21:17:16 1.105
+++ loncom/homework/structuretags.pm 2002/11/06 23:05:02 1.132
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# definition of tags that give a structure to a document
#
-# $Id: structuretags.pm,v 1.105 2002/08/23 21:17:16 albertel Exp $
+# $Id: structuretags.pm,v 1.132 2002/11/06 23:05:02 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -141,7 +141,7 @@ sub problem_edit_header {
-
+
';
}
@@ -161,8 +161,15 @@ sub problem_web_to_edit_header {
Show All Foils
+ $result.= ' /> Show All Foils
';
+ my $numtoanalyze=$ENV{'form.numtoanalyze'};
+ if (!$numtoanalyze) { $numtoanalyze=100; }
+ #DISABLED for now.
+ #$result.= '
+#
';
+ return $result;
}
sub initialize_storage {
@@ -283,10 +290,11 @@ sub start_problem {
my $expression='$external::datestatus="'.$status.'";';
$expression.='$external::gradestatus="'.$Apache::lonhomework::history{"resource.0.solved"}.'";';
&Apache::run::run($expression,$safeeval);
+ &Apache::lonxml::debug("Got $status");
if (( $status eq 'CLOSED' ) ||
( $status eq 'UNCHECKEDOUT') ||
( $status eq 'BANNED')) {
- my $bodytext=&Apache::lonxml::get_all_text("/problem",$$parser[$#$parser]);
+ my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser);
if ( $target eq "web" ) {
$result.= $head_tag_start.'';
my $msg=$body_tag_start.
@@ -297,7 +305,9 @@ sub start_problem {
$msg.=&checkout_msg;
}
$result.=$msg.'
';
- }
+ } elsif ($target eq 'tex') {
+ $result.="\\begin{document}\\noindent \\vskip 1 mm \\begin{minipage}{\\textwidth}\\vskip 0 mm Problem is not open to be viewed. It $accessmsg \\vskip 0 mm ";
+ }
} elsif ($target eq 'web') {
my $name= &get_resource_name($parstack,$safeeval);
if ($status eq 'CAN_ANSWER') {
@@ -345,18 +355,18 @@ sub start_problem {
print $temp_file "$duedate\n";
if (not $ENV{'request.symb'} =~ m/\.page_/) {
if(not $duedate=~m/1969/) {
- $result .= '\begin{document} \noindent\textit{Due date: '.$duedate.'} \vskip 1 mm';
+ $result .= '\begin{document} \noindent\textit{Due date: '.$duedate.'} \vskip 1 mm\noindent \begin{minipage}{\textwidth}';
} else {
- $result .= '\begin{document} \noindent \vskip 1 mm';
+ $result .= '\begin{document} \noindent \vskip 1 mm \noindent\begin{minipage}{\textwidth}';
}
} else {
- $result .= '\parbox{\minipagewidth}{\vskip 1mm\textit{Due date: '.$duedate.'} \\\\\\\\';
+ $result .= '\vskip 1mm\textit{Due date: '.$duedate.'} \\\\\\\\';
}
} else {
if (not $ENV{'request.symb'} =~ m/\.page_/) {
- $result .= '\begin{document} \noindent \vskip 1 mm';
+ $result .= '\begin{document} \noindent \vskip 1 mm\noindent\begin{minipage}{\textwidth}';
} else {
- $result .= '\parbox{\minipagewidth}{\vskip 1mm \\\\\\\\';
+ $result .= '\vskip 1mm \\\\\\\\';
}
}
}
@@ -379,27 +389,41 @@ sub end_problem {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
my $result='';
my $status=$Apache::inputtags::status['-1'];
- if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' ) {
+ if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || $target eq 'tex') {
if ( $target eq 'grade' && $Apache::inputtags::part eq '0') {
# if part is zero, no s existed, so we need to the grading
&Apache::inputtags::grade;
- } elsif ( $target eq 'web' && $Apache::inputtags::part eq '0' &&
+ } elsif ( ($target eq 'web' || $target eq 'tex') && $Apache::inputtags::part eq '0' &&
$status ne 'UNCHECKEDOUT') {
# if part is zero, no s existed, so we need show the current
# grading status
- $result.= &Apache::inputtags::gradestatus($Apache::inputtags::part);
+ my $gradestatus = &Apache::inputtags::gradestatus($Apache::inputtags::part,$target);
+ if ($Apache::lonhomework::type ne 'exam') {$result.= $gradestatus;}
}
if (
- ($target eq 'web' && ($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') {
- $result.="