--- loncom/homework/inputtags.pm 2003/01/19 08:16:43 1.79
+++ loncom/homework/inputtags.pm 2003/02/07 22:03:21 1.84
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# input definitons
#
-# $Id: inputtags.pm,v 1.79 2003/01/19 08:16:43 albertel Exp $
+# $Id: inputtags.pm,v 1.84 2003/02/07 22:03:21 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -30,6 +30,7 @@
package Apache::inputtags;
use HTML::Entities();
use strict;
+use Apache::loncommon;
BEGIN {
&Apache::lonxml::register('Apache::inputtags',('textfield','textline'));
@@ -92,17 +93,17 @@ sub start_textfield {
"rows=\"$rows\" cols=\"$cols\">".$oldresponse;
if ($oldresponse ne '') {
#get rid of any startup text if the user has already responded
- &Apache::lonxml::get_all_text("/textfield",$$parser[-1]);
+ &Apache::lonxml::get_all_text("/textfield",$parser);
}
} else {
#right or wrong don't show it
#$result='
';
$result='';
#get rid of any startup text
- &Apache::lonxml::get_all_text("/textfield",$$parser[-1]);
+ &Apache::lonxml::get_all_text("/textfield",$parser);
}
} elsif ($target eq 'grade') {
- my $seedtext=&Apache::lonxml::get_all_text("/textfield",$$parser[-1]);
+ my $seedtext=&Apache::lonxml::get_all_text("/textfield",$parser);
if ($seedtext eq $ENV{'form.HWVAL'.$resid}) {
# if the seed text is still there it wasn't a real submission
$ENV{'form.HWVAL'.$resid}='';
@@ -111,7 +112,7 @@ sub start_textfield {
$result.=&Apache::edit::tag_start($target,$token);
$result.=&Apache::edit::text_arg('Rows:','rows',$token,4);
$result.=&Apache::edit::text_arg('Columns:','cols',$token,4);
- my $bodytext=&Apache::lonxml::get_all_text("/textfield",$$parser[-1]);
+ my $bodytext=&Apache::lonxml::get_all_text("/textfield",$parser);
$result.=&Apache::edit::editfield($token->[1],$bodytext,'Text you want to appear by default:',80,2);
} elsif ($target eq 'modified') {
my $constructtag=&Apache::edit::get_new_args($token,$parstack,
@@ -242,6 +243,9 @@ sub finalizeawards {
foreach $award (@_) { if ($award eq 'MISORDERED_RANK') {$result=$award; last;} }
}
if ($result eq '' ) {
+ foreach $award (@_) { if ($award eq 'INVALID_FILETYPE') {$result=$award; last;} }
+ }
+ if ($result eq '' ) {
foreach $award (@_) { if ($award eq 'DRAFT') {$result=$award; last;} }
}
if ($result eq '' ) {
@@ -296,20 +300,25 @@ sub decideoutput {
$message = "This question expects a numeric answer";
$button=1;
} elsif ($award eq 'MISORDERED_RANK') {
- $message = 'You have provided an invalid ranking, look '.
- 'here for more information.';
+ $message = 'You have provided an invalid ranking, please refer to '.
+ &Apache::loncommon::help_open_topic('Ranking_Problems','help on ranking problems').'.';
+ $button=1;
+ } elsif ($award eq 'INVALID_FILETYPE') {
+ $message = 'The filetype extension of the file you uploaded is not allowed.';
$button=1;
} elsif ($award eq 'SIG_FAIL') {
$message = "Please adjust significant figures.";# you provided %s significant figures";
$button=1;
} elsif ($award eq 'UNIT_FAIL') {
- $message = "Units incorrect."; #Computer reads units as %s";
+ $message = "Units incorrect. ".
+ &Apache::loncommon::help_open_topic('Physical_Units'); #Computer reads units as %s";
$button=1;
} elsif ($award eq 'UNIT_NOTNEEDED') {
$message = "Only a number required.";# Computer reads units of %s";
$button=1;
} elsif ($award eq 'NO_UNIT') {
- $message = "Units required";
+ $message = "Units required".
+ &Apache::loncommon::help_open_topic('Physical_Units');
$button=1;
} elsif ($award eq 'BAD_FORMULA') {
$message = "Unable to understand formula";
@@ -469,6 +478,8 @@ sub gradestatus {
if ($target eq 'tex') {
if ($ENV{'request.state'} ne "construct") {
$trystr = ' {\small \textit{Tries} '.$tries.'/'.$maxtries.'} \vskip 0 mm ';
+ } else {
+ $trystr = '\vskip 0 mm ';
}
} else {
$trystr = "Tries $tries/$maxtries | ";