--- loncom/interface/statistics/lonstathelpers.pm 2004/09/29 14:56:59 1.26
+++ loncom/interface/statistics/lonstathelpers.pm 2004/10/04 19:11:38 1.28
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: lonstathelpers.pm,v 1.26 2004/09/29 14:56:59 matthew Exp $
+# $Id: lonstathelpers.pm,v 1.28 2004/10/04 19:11:38 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -118,6 +118,7 @@ sub ProblemSelector {
my ($AcceptedResponseTypes) = @_;
my $Str;
$Str = "\n
\n";
+ my $rb_count =0;
foreach my $seq (&Apache::lonstatistics::Sequences_with_Assess('all')) {
next if ($seq->{'num_assess'}<1);
my $seq_str = '';
@@ -141,16 +142,17 @@ sub ProblemSelector {
if (! defined($title) || $title eq '') {
($title) = ($res->{'src'} =~ m:/([^/]*)$:);
}
- $seq_str .= ''.
- ''.
- ' | '.
- $resptype.' | '.
- ''.$title.' ';
-# ''.$resptype.' '.$res->{'title'}.' ';
+ $seq_str .= ' |
'.
+ qq{ | }.
+ ' | '.
+ '';
if (scalar(@{$partdata->{'ResponseIds'}}) > 1) {
$seq_str .= &mt('response').' '.$respid;
}
+ $seq_str .= (' 'x2).
+ qq{view};
$seq_str .= " |
\n";
+ $rb_count++;
}
}
}
@@ -1106,13 +1108,15 @@ sub get_problem_data {
$Partdata{$part}->{'_Options'}=$value;
} elsif ($key eq 'concepts') {
$Partdata{$part}->{'_Concepts'}=$value;
+ } elsif ($key eq 'items') {
+ $Partdata{$part}->{'_Items'}=$value;
} elsif ($key =~ /^concept\.(.*)$/) {
my $concept = $1;
foreach my $foil (@$value) {
$Partdata{$part}->{'_Foils'}->{$foil}->{'_Concept'}=
$concept;
}
- } elsif ($key =~ /^(incorrect|answer|ans_low|ans_high)$/) {
+ } elsif ($key =~ /^(incorrect|answer|ans_low|ans_high|str_type)$/) {
$Partdata{$part}->{$key}=$value;
}
} else {
@@ -1124,13 +1128,51 @@ sub get_problem_data {
} elsif ($key =~ /^foil\.value\.(.*)$/) {
my $foil = $1;
$Partdata{$part}->{'_Foils'}->{$foil}->{'value'}=$value;
+ } elsif ($key eq 'answercomputed') {
+ $Partdata{$part}->{'answercomputed'} = $value;
}
}
}
}
+ # Further debugging code
+ if (0) {
+ &Apache::lonnet::logthis('lonstathelpers::get_problem_data');
+ &log_hash_ref(\%Partdata);
+ }
return %Partdata;
}
+sub log_array_ref {
+ my ($arrayref,$prefix) = @_;
+ return if (ref($arrayref) ne 'ARRAY');
+ if (! defined($prefix)) { $prefix = ''; };
+ foreach my $v (@$arrayref) {
+ if (ref($v) eq 'ARRAY') {
+ &log_array_ref($v,$prefix.' ');
+ } elsif (ref($v) eq 'HASH') {
+ &log_hash_ref($v,$prefix.' ');
+ } else {
+ &Apache::lonnet::logthis($prefix.'"'.$v.'"');
+ }
+ }
+}
+
+sub log_hash_ref {
+ my ($hashref,$prefix) = @_;
+ return if (ref($hashref) ne 'HASH');
+ if (! defined($prefix)) { $prefix = ''; };
+ while (my ($k,$v) = each(%$hashref)) {
+ if (ref($v) eq 'ARRAY') {
+ &Apache::lonnet::logthis($prefix.'"'.$k.'" = array');
+ &log_array_ref($v,$prefix.' ');
+ } elsif (ref($v) eq 'HASH') {
+ &Apache::lonnet::logthis($prefix.'"'.$k.'" = hash');
+ &log_hash_ref($v,$prefix.' ');
+ } else {
+ &Apache::lonnet::logthis($prefix.'"'.$k.'" => "'.$v.'"');
+ }
+ }
+}
####################################################
####################################################