--- loncom/homework/inputtags.pm 2002/03/08 19:55:00 1.54
+++ loncom/homework/inputtags.pm 2002/06/24 21:23:26 1.57
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# input definitons
#
-# $Id: inputtags.pm,v 1.54 2002/03/08 19:55:00 albertel Exp $
+# $Id: inputtags.pm,v 1.57 2002/06/24 21:23:26 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -28,6 +28,7 @@
# 2/19 Guy
package Apache::inputtags;
+use HTML::Entities();
use strict;
BEGIN {
@@ -75,14 +76,17 @@ sub start_textfield {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
my $result = "";
my $id = &start_input($parstack,$safeeval);
+ my $resid=$Apache::inputtags::response[-1];
if ($target eq 'web') {
- my $oldresponse = $Apache::lonhomework::history{"resource.$Apache::inputtags::part.$Apache::inputtags::response['-1'].submission"};
+ $Apache::lonxml::evaluate--;
+ my $partid=$Apache::inputtags::part;
+ my $oldresponse = &HTML::Entities::encode($Apache::lonhomework::history{"resource.$partid.$resid.submission"});
my $cols = &Apache::lonxml::get_param('cols',$parstack,$safeeval);
if ( $cols eq '') { $cols = 80; }
my $rows = &Apache::lonxml::get_param('rows',$parstack,$safeeval);
if ( $rows eq '') { $rows = 10; }
if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER') {
- $result= '";
}
@@ -117,12 +122,12 @@ sub start_textline {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
my $result = "";
if ($target eq 'web') {
+ $Apache::lonxml::evaluate--;
my $size = &Apache::lonxml::get_param('size',$parstack,$safeeval);
if ($size eq '') { $size=20; }
my $partid=$Apache::inputtags::part;
- my $id=$Apache::inputtags::response['-1'];
- my $oldresponse =
- $Apache::lonhomework::history{"resource.$partid.$id.submission"};
+ my $id=$Apache::inputtags::response[-1];
+ my $oldresponse = &HTML::Entities::encode($Apache::lonhomework::history{"resource.$partid.$id.submission"});
if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER') {
$result= '';
@@ -142,7 +147,8 @@ sub start_textline {
sub end_textline {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
- if ($target eq 'edit') { return ('','no'); }
+ if ($target eq 'web') { $Apache::lonxml::evaluate++; }
+ elsif ($target eq 'edit') { return ('','no'); }
return "";
}
@@ -195,6 +201,9 @@ sub finalizeawards {
if ($blankcount == ($#_ + 1)) { $result = 'NO_RESPONSE'; }
}
if ($result eq '' ) {
+ foreach $award (@_) { if ($award eq 'MISSING_ANSWER') {$result='MISSING_ANSWER'; last;}}
+ }
+ if ($result eq '' ) {
foreach $award (@_) { if ($award eq 'ERROR') {$result='ERROR'; last;}}
}
if ($result eq '' ) {