--- loncom/homework/optionresponse.pm 2004/02/19 21:55:54 1.102
+++ loncom/homework/optionresponse.pm 2004/03/08 23:23:04 1.103
@@ -1,7 +1,7 @@
# LearningOnline Network with CAPA
# option list style responses
#
-# $Id: optionresponse.pm,v 1.102 2004/02/19 21:55:54 sakharuk Exp $
+# $Id: optionresponse.pm,v 1.103 2004/03/08 23:23:04 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -27,7 +27,8 @@
#
package Apache::optionresponse;
use strict;
-use Apache::response;
+use Apache::response();
+use Apache::lonlocal;
BEGIN {
&Apache::lonxml::register('Apache::optionresponse',('optionresponse'));
@@ -41,6 +42,7 @@ sub start_optionresponse {
push (@Apache::lonxml::namespace,'optionresponse');
my $id = &Apache::response::start_response($parstack,$safeeval);
%Apache::hint::option=();
+ undef(%Apache::response::foilnames);
if ($target eq 'edit') {
$result.=&Apache::edit::start_table($token).
"
Multiple Option Response Question ".
@@ -75,6 +77,7 @@ sub end_optionresponse {
&Apache::lonxml::deregister('Apache::optionresponse',('foilgroup','foil','conceptgroup'));
my $result;
if ($target eq 'edit') { $result=&Apache::edit::end_table(); }
+ undef(%Apache::response::foilnames);
return $result;
}
@@ -565,10 +568,14 @@ sub end_foil {
my $value = &Apache::lonxml::get_param('value',$parstack,$safeeval);
if ($value ne 'unused') {
my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval);
- my $location =&Apache::lonxml::get_param('location',$parstack,$safeeval);
+ $Apache::response::foilnames{$name}++;
&Apache::lonxml::debug("Got a name of :$name:");
if (!$name) { $name=$Apache::lonxml::curdepth; }
&Apache::lonxml::debug("Using a name of :$name:");
+ if (defined($Apache::response::foilnames{$name})) {
+ &Apache::lonxml::error(&mt("Foil name [_1] appears more than once. Foil names need to be unique.",$name));
+ }
+ my $location =&Apache::lonxml::get_param('location',$parstack,$safeeval);
if ( $Apache::optionresponse::conceptgroup
&& !&Apache::response::showallfoils() ) {
push @{ $Apache::response::conceptgroup{'names'} }, $name;
|