--- loncom/interface/statistics/lonsurveyreports.pm 2006/05/30 12:46:50 1.13
+++ loncom/interface/statistics/lonsurveyreports.pm 2008/09/14 15:16:30 1.16
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: lonsurveyreports.pm,v 1.13 2006/05/30 12:46:50 www Exp $
+# $Id: lonsurveyreports.pm,v 1.16 2008/09/14 15:16:30 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -203,8 +203,8 @@ sub SurveyProblemSelector {
if ($env{'form.problemchoice'} eq $value) {
$checked = 'checked ';
}
- my $link = $problem->{'res'}->src.
- '?symb='.&escape($problem->{'res'}->symb);
+ my $link = $problem->{'res'}->link.
+ '?symb='.&escape($problem->{'res'}->shown_symb);
$Str .= '
'.
''.'
'.
@@ -264,6 +264,7 @@ sub compile_student_answers {
$data->{'foil_values'}->{$value}++;
if (! exists($data->{'map'}->{$value})) {
$data->{'map'}->{$value} = $foil;
+ $data->{'map_fv'}->{$foil} = $value;
}
} else {
# Variable stuff (essays, raw numbers, strings) go here
@@ -404,7 +405,7 @@ sub make_Excel_report {
$worksheet->write_row($rows_output++,0,
\@rowdata,$format->{'h4'});
#
- my @foils = sort(keys(%{$data->{'foil_responses'}}));
+ my @foils = sort(keys(%{$respdata->{'_Foils'}}));
foreach my $foilid (@foils) {
my $foil_count = $data->{'foil_count'}->{$foilid};
my $foiltext = $respdata->{'_Foils'}->{$foilid}->{'text'};
@@ -432,9 +433,10 @@ sub make_Excel_report {
my @rowdata = ('Foil Name','Foil Text','Frequency');
$worksheet->write_row($rows_output++,0,
\@rowdata,$format->{'h4'});
- foreach my $value (sort(keys(%{$data->{'foil_values'}}))) {
+ my @foils = sort(keys(%{$respdata->{'_Foils'}}));
+ foreach my $foilid (@foils) {
undef(@rowdata);
- my $foilid = $data->{'map'}->{$value};
+ my $value = $data->{'map_fv'}->{$foilid};
push(@rowdata,$respdata->{'_Foils'}->{$foilid}->{'name'});
push(@rowdata,$respdata->{'_Foils'}->{$foilid}->{'text'});
push(@rowdata,$data->{'foil_values'}->{$value});
@@ -512,7 +514,7 @@ sub make_HTML_report {
&mt('Option'),
&mt('Frequency'),
&mt('Percent'))).'
';
- my @foils = sort(keys(%{$data->{'foil_responses'}}));
+ my @foils = sort(keys(%{$ProblemData->{$partid.'.'.$respid}->{'_Foils'}}));
foreach my $foilid (@foils) {
my $prob_data = $ProblemData->{$partid.'.'.$respid};
my $foil_count = $data->{'foil_count'}->{$foilid};
@@ -544,9 +546,11 @@ sub make_HTML_report {
my $total = $data->{'_count'};
my $sum = 0;
my $tmp;
- foreach my $value (sort(keys(%{$data->{'foil_values'}}))) {
+ my @foils = sort(keys(%{$ProblemData->{$partid.'.'.$respid}
+ ->{'_Foils'}}));
+ foreach my $foilid (@foils) {
+ my $value = $data->{'map_fv'}->{$foilid};
my $count = $data->{'foil_values'}->{$value};
- my $foilid = $data->{'map'}->{$value};
my $foiltext = $ProblemData->{$partid.'.'.$respid}->{'_Foils'}->{$foilid}->{'text'};
my $foilname = $ProblemData->{$partid.'.'.$respid}->{'_Foils'}->{$foilid}->{'name'};
$tmp .= '