--- loncom/homework/inputtags.pm 2003/01/13 21:22:43 1.78 +++ 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.78 2003/01/13 21:22:43 sakharuk 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='
'.$oldresponse.'
'; $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, @@ -239,6 +240,12 @@ sub finalizeawards { foreach $award (@_) { if ($award eq 'INCORRECT') {$result=$award; last;} } } if ($result eq '' ) { + 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 '' ) { @@ -292,17 +299,26 @@ sub decideoutput { } elsif ($award eq 'WANTED_NUMERIC') { $message = "This question expects a numeric answer"; $button=1; + } elsif ($award eq 'MISORDERED_RANK') { + $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"; @@ -462,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";