[LON-CAPA-cvs] cvs: loncom /homework lonhomework.pm optionresponse.pm
albertel
lon-capa-cvs@mail.lon-capa.org
Fri, 29 Mar 2002 19:19:21 -0000
albertel Fri Mar 29 14:19:21 2002 EDT
Modified files:
/loncom/homework lonhomework.pm optionresponse.pm
Log:
- undef the hash when done
- now reports back the possible options, and the shown foil order
- <foil> outside of <conceptgroup> also reported
Index: loncom/homework/lonhomework.pm
diff -u loncom/homework/lonhomework.pm:1.74 loncom/homework/lonhomework.pm:1.75
--- loncom/homework/lonhomework.pm:1.74 Fri Mar 29 13:32:46 2002
+++ loncom/homework/lonhomework.pm Fri Mar 29 14:19:21 2002
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# The LON-CAPA Homework handler
#
-# $Id: lonhomework.pm,v 1.74 2002/03/29 18:32:46 albertel Exp $
+# $Id: lonhomework.pm,v 1.75 2002/03/29 19:19:21 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -359,6 +359,7 @@
} else {
if ($target eq 'analyze') {
$result=&Apache::lonnet::hashref2str(\%Apache::lonhomework::analyze);
+ undef(%Apache::lonhomework::analyze);
}
#my $td=&tv_interval($t0);
#if ( $Apache::lonxml::debug) {
Index: loncom/homework/optionresponse.pm
diff -u loncom/homework/optionresponse.pm:1.34 loncom/homework/optionresponse.pm:1.35
--- loncom/homework/optionresponse.pm:1.34 Fri Mar 29 13:32:46 2002
+++ loncom/homework/optionresponse.pm Fri Mar 29 14:19:21 2002
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# option list style responses
#
-# $Id: optionresponse.pm,v 1.34 2002/03/29 18:32:46 albertel Exp $
+# $Id: optionresponse.pm,v 1.35 2002/03/29 19:19:21 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -148,7 +148,7 @@
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $result;
- if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || $target eq 'tex') {
+ if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || $target eq 'tex' || $target eq 'analyze') {
my $name;
my ($count,$max) = &getfoilcounts($parstack,$safeeval);
if ($count>$max) { $count=$max }
@@ -166,10 +166,12 @@
if (defined($Apache::lonhomework::analyze{"$part_id.foil.value.$name"})) { next; }
push (@{ $Apache::lonhomework::analyze{"$part_id.foils"} },$name);
$Apache::lonhomework::analyze{"$part_id.foil.value.$name"} =
- $Apache::response::conceptgroup{"$name.value"};
+ $Apache::response::foilgroup{"$name.value"};
$Apache::lonhomework::analyze{"$part_id.foil.text.$name"} =
- $Apache::response::conceptgroup{"$name.text"};
+ $Apache::response::foilgroup{"$name.text"};
}
+ push (@{ $Apache::lonhomework::analyze{"$part_id.options"} },@opt);
+ push (@{ $Apache::lonhomework::analyze{"$part_id.shown"} },&whichfoils($count));
} elsif ( $target eq 'grade') {
if ( defined $ENV{'form.submitted'}) {
my @whichopt = &whichfoils($count);
@@ -340,34 +342,38 @@
$Apache::optionresponse::conceptgroup=0;
my $result='';
if ($target eq 'web' || $target eq 'grade' || $target eq 'answer'
- || $target eq 'tex') {
+ || $target eq 'tex' || $target eq 'analyze') {
#if not there aren't any foils to display and thus no question
if (defined(@{ $Apache::response::conceptgroup{'names'} })) {
my @names = @{ $Apache::response::conceptgroup{'names'} };
my $pick=int rand $#names+1;
my $name=$names[$pick];
push @{ $Apache::response::foilgroup{'names'} }, $name;
- $Apache::response::foilgroup{"$name.value"} = $Apache::response::conceptgroup{"$name.value"};
- $Apache::response::foilgroup{"$name.text"} = $Apache::response::conceptgroup{"$name.text"};
+ $Apache::response::foilgroup{"$name.value"} =
+ $Apache::response::conceptgroup{"$name.value"};
+ $Apache::response::foilgroup{"$name.text"} =
+ $Apache::response::conceptgroup{"$name.text"};
my $concept = &Apache::lonxml::get_param('concept',$parstack,$safeeval);
$Apache::response::foilgroup{"$name.concept"} = $concept;
&Apache::lonxml::debug("Selecting $name in $concept");
+ if ($target eq 'analyze') {
+ my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]";
+ push (@{ $Apache::lonhomework::analyze{"$part_id.concepts"} },
+ $concept);
+ $Apache::lonhomework::analyze{"$part_id.concept.$concept"}=
+ $Apache::response::conceptgroup{'names'};
+ foreach my $name (@{ $Apache::response::conceptgroup{'names'} }) {
+ push (@{ $Apache::lonhomework::analyze{"$part_id.foils"} },
+ $name);
+ $Apache::lonhomework::analyze{"$part_id.foil.value.$name"} =
+ $Apache::response::conceptgroup{"$name.value"};
+ $Apache::lonhomework::analyze{"$part_id.foil.text.$name"} =
+ $Apache::response::conceptgroup{"$name.text"};
+ }
+ }
}
} elsif ($target eq 'edit') {
$result=&Apache::edit::end_table();
- } elsif ($target eq 'analyze') {
- my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]";
- my $concept = &Apache::lonxml::get_param('concept',$parstack,$safeeval);
- push (@{ $Apache::lonhomework::analyze{"$part_id.concepts"} },$concept);
- $Apache::lonhomework::analyze{"$part_id.concept.$concept"}=
- $Apache::response::conceptgroup{'names'};
- foreach my $name (@{ $Apache::response::conceptgroup{'names'} }) {
- push (@{ $Apache::lonhomework::analyze{"$part_id.foils"} },$name);
- $Apache::lonhomework::analyze{"$part_id.foil.value.$name"} =
- $Apache::response::conceptgroup{"$name.value"};
- $Apache::lonhomework::analyze{"$part_id.foil.text.$name"} =
- $Apache::response::conceptgroup{"$name.text"};
- }
}
return $result;
}