[LON-CAPA-cvs] cvs: loncom /homework inputtags.pm

albertel lon-capa-cvs@mail.lon-capa.org
Mon, 11 Mar 2002 21:37:55 -0000


albertel		Mon Mar 11 16:37:55 2002 EDT

  Modified files:              
    /loncom/homework	inputtags.pm 
  Log:
  - fixes Bug #94
  - some cleanups
  
  
Index: loncom/homework/inputtags.pm
diff -u loncom/homework/inputtags.pm:1.54 loncom/homework/inputtags.pm:1.55
--- loncom/homework/inputtags.pm:1.54	Fri Mar  8 14:55:00 2002
+++ loncom/homework/inputtags.pm	Mon Mar 11 16:37:55 2002
@@ -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.55 2002/03/11 21:37:55 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,16 @@
   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"};
+    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= '<textarea name="HWVAL'.$Apache::inputtags::response['-1'].'" '.
+      $result= '<textarea name="HWVAL'.$resid.'" '.
 	"rows=\"$rows\" cols=\"$cols\">".$oldresponse;
     } else {
       $result='<table border="1"><tr><td><i>'.$oldresponse.'</i></td></tr></table>';
@@ -94,9 +97,9 @@
   }
   if ($target eq 'grade') {
     my $seedtext=&Apache::lonxml::get_all_text("/textfield",$$parser[-1]);
-    if ($seedtext eq $ENV{'form.HWVAL'.$Apache::inputtags::response[-1]}) {
+    if ($seedtext eq $ENV{'form.HWVAL'.$resid}) {
       # if the seed text is still there it wasn't a real submission
-      $ENV{'form.HWVAL'.$Apache::inputtags::response['-1']}='';
+      $ENV{'form.HWVAL'.$resid}='';
     }
   }
   return $result;
@@ -120,9 +123,8 @@
     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= '<input type="text" name="HWVAL'.$id.'" value="'.
 	$oldresponse.'" size="'.$size.'" />';