--- loncom/homework/inputtags.pm 2001/11/12 20:27:28 1.46 +++ loncom/homework/inputtags.pm 2002/04/01 21:26:57 1.56 @@ -1,12 +1,38 @@ # The LearningOnline Network with CAPA # input definitons +# +# $Id: inputtags.pm,v 1.56 2002/04/01 21:26:57 albertel Exp $ +# +# Copyright Michigan State University Board of Trustees +# +# This file is part of the LearningOnline Network with CAPA (LON-CAPA). +# +# LON-CAPA is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# LON-CAPA is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LON-CAPA; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# /home/httpd/html/adm/gpl.txt +# +# http://www.lon-capa.org/ +# # 2/19 Guy package Apache::inputtags; +use HTML::Entities(); use strict; -sub BEGIN { - &Apache::lonxml::register('Apache::inputtags',('textarea','textline','datasubmission')); +BEGIN { + &Apache::lonxml::register('Apache::inputtags',('textfield','textline','datasubmission')); } @@ -46,31 +72,40 @@ sub end_input { return ''; } -sub start_textarea { +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"}; + 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= '