version 1.10, 2006/02/14 15:44:25
|
version 1.15, 2007/04/03 20:10:41
|
Line 37 use Apache::lonstathelpers;
|
Line 37 use Apache::lonstathelpers;
|
use Spreadsheet::WriteExcel; |
use Spreadsheet::WriteExcel; |
use HTML::Entities(); |
use HTML::Entities(); |
use Time::Local(); |
use Time::Local(); |
|
use lib '/home/httpd/lib/perl/'; |
|
use LONCAPA; |
|
|
|
|
my @SubmitButtons = ( |
my @SubmitButtons = ( |
{ name => 'break'}, |
{ name => 'break'}, |
Line 201 sub SurveyProblemSelector {
|
Line 204 sub SurveyProblemSelector {
|
$checked = 'checked '; |
$checked = 'checked '; |
} |
} |
my $link = $problem->{'res'}->src. |
my $link = $problem->{'res'}->src. |
'?symb='.&Apache::lonnet::escape($problem->{'res'}->symb); |
'?symb='.&escape($problem->{'res'}->symb); |
$Str .= '<tr><td>'. |
$Str .= '<tr><td>'. |
'<input type="radio" name="problemchoice" id="'.$id.'" '. |
'<input type="radio" name="problemchoice" id="'.$id.'" '. |
'value="'.$value.'" '.$checked.'/>'.'</td>'. |
'value="'.$value.'" '.$checked.'/>'.'</td>'. |
Line 249 sub compile_student_answers {
|
Line 252 sub compile_student_answers {
|
foreach my $response (@responses) { |
foreach my $response (@responses) { |
my ($foilid,$option) = |
my ($foilid,$option) = |
map { |
map { |
&Apache::lonnet::unescape($_); |
&unescape($_); |
} split('=',$response); |
} split('=',$response); |
$data->{'foil_count'}->{$foilid}++; |
$data->{'foil_count'}->{$foilid}++; |
$data->{'foil_responses'}->{$foilid}->{$option}++; |
$data->{'foil_responses'}->{$foilid}->{$option}++; |
} |
} |
} elsif ($resptype =~ /^(radiobutton)$/) { |
} elsif ($resptype =~ /^(radiobutton)$/) { |
my ($foil,$value) = map { &Apache::lonnet::unescape($_); } split('=',$student_response); |
my ($foil,$value) = map { &unescape($_); } split('=',$student_response); |
$value += 1; # explicitly increment it... |
$value += 1; # explicitly increment it... |
$data->{'foil_responses'}->{$foil}++; |
$data->{'foil_responses'}->{$foil}++; |
$data->{'foil_values'}->{$value}++; |
$data->{'foil_values'}->{$value}++; |
if (! exists($data->{'map'}->{$value})) { |
if (! exists($data->{'map'}->{$value})) { |
$data->{'map'}->{$value} = $foil; |
$data->{'map'}->{$value} = $foil; |
|
$data->{'map_fv'}->{$foil} = $value; |
} |
} |
} else { |
} else { |
# Variable stuff (essays, raw numbers, strings) go here |
# Variable stuff (essays, raw numbers, strings) go here |
Line 401 sub make_Excel_report {
|
Line 405 sub make_Excel_report {
|
$worksheet->write_row($rows_output++,0, |
$worksheet->write_row($rows_output++,0, |
\@rowdata,$format->{'h4'}); |
\@rowdata,$format->{'h4'}); |
# |
# |
my @foils = sort(keys(%{$data->{'foil_responses'}})); |
my @foils = sort(keys(%{$respdata->{'_Foils'}})); |
foreach my $foilid (@foils) { |
foreach my $foilid (@foils) { |
my $foil_count = $data->{'foil_count'}->{$foilid}; |
my $foil_count = $data->{'foil_count'}->{$foilid}; |
my $foiltext = $respdata->{'_Foils'}->{$foilid}->{'text'}; |
my $foiltext = $respdata->{'_Foils'}->{$foilid}->{'text'}; |
Line 429 sub make_Excel_report {
|
Line 433 sub make_Excel_report {
|
my @rowdata = ('Foil Name','Foil Text','Frequency'); |
my @rowdata = ('Foil Name','Foil Text','Frequency'); |
$worksheet->write_row($rows_output++,0, |
$worksheet->write_row($rows_output++,0, |
\@rowdata,$format->{'h4'}); |
\@rowdata,$format->{'h4'}); |
foreach my $value (sort(keys(%{$data->{'foil_values'}}))) { |
my @foils = sort(keys(%{$respdata->{'_Foils'}})); |
|
foreach my $foilid (@foils) { |
undef(@rowdata); |
undef(@rowdata); |
my $foilid = $data->{'map'}->{$value}; |
my $value = $data->{'map_fv'}->{$foilid}; |
push(@rowdata,$respdata->{'_Foils'}->{$foilid}->{'name'}); |
push(@rowdata,$respdata->{'_Foils'}->{$foilid}->{'name'}); |
push(@rowdata,$respdata->{'_Foils'}->{$foilid}->{'text'}); |
push(@rowdata,$respdata->{'_Foils'}->{$foilid}->{'text'}); |
push(@rowdata,$data->{'foil_values'}->{$value}); |
push(@rowdata,$data->{'foil_values'}->{$value}); |
Line 509 sub make_HTML_report {
|
Line 514 sub make_HTML_report {
|
&mt('Option'), |
&mt('Option'), |
&mt('Frequency'), |
&mt('Frequency'), |
&mt('Percent'))).'</th></tr>'; |
&mt('Percent'))).'</th></tr>'; |
my @foils = sort(keys(%{$data->{'foil_responses'}})); |
my @foils = sort(keys(%{$ProblemData->{$partid.'.'.$respid}->{'_Foils'}})); |
foreach my $foilid (@foils) { |
foreach my $foilid (@foils) { |
my $prob_data = $ProblemData->{$partid.'.'.$respid}; |
my $prob_data = $ProblemData->{$partid.'.'.$respid}; |
my $foil_count = $data->{'foil_count'}->{$foilid}; |
my $foil_count = $data->{'foil_count'}->{$foilid}; |
Line 541 sub make_HTML_report {
|
Line 546 sub make_HTML_report {
|
my $total = $data->{'_count'}; |
my $total = $data->{'_count'}; |
my $sum = 0; |
my $sum = 0; |
my $tmp; |
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 $count = $data->{'foil_values'}->{$value}; |
my $foilid = $data->{'map'}->{$value}; |
|
my $foiltext = $ProblemData->{$partid.'.'.$respid}->{'_Foils'}->{$foilid}->{'text'}; |
my $foiltext = $ProblemData->{$partid.'.'.$respid}->{'_Foils'}->{$foilid}->{'text'}; |
my $foilname = $ProblemData->{$partid.'.'.$respid}->{'_Foils'}->{$foilid}->{'name'}; |
my $foilname = $ProblemData->{$partid.'.'.$respid}->{'_Foils'}->{$foilid}->{'name'}; |
$tmp .= '<tr>'. |
$tmp .= '<tr>'. |
Line 606 sub CreateInterface {
|
Line 613 sub CreateInterface {
|
$output_selector.= '>'.$output_format->{'text'}.'</option>'.$/; |
$output_selector.= '>'.$output_format->{'text'}.'</option>'.$/; |
} |
} |
$output_selector .= '</select>'.$/; |
$output_selector .= '</select>'.$/; |
$Str .= &Apache::lonhtmlcommon::breadcrumbs |
$Str .= &Apache::lonhtmlcommon::breadcrumbs('Student Submission Reports'); |
(undef,'Student Submission Reports'); |
|
$Str .= '<p>'; |
$Str .= '<p>'; |
$Str .= '<table cellspacing="5">'."\n"; |
$Str .= '<table cellspacing="5">'."\n"; |
$Str .= '<tr>'; |
$Str .= '<tr>'; |
$Str .= '<th>'.&mt('Sections').'</th>'; |
$Str .= '<th>'.&mt('Sections').'</th>'; |
$Str .= '<th>'.&mt('Enrollment Status').'</th>'; |
$Str .= '<th>'.&mt('Groups').'</th>'; |
|
$Str .= '<th>'.&mt('Access Status').'</th>'; |
$Str .= '<th>'.&mt('Output Format').'</th>'; |
$Str .= '<th>'.&mt('Output Format').'</th>'; |
$Str .= '<th>'.' '.'</th>'; |
$Str .= '<th>'.' '.'</th>'; |
$Str .= '</tr>'."\n"; |
$Str .= '</tr>'."\n"; |
Line 621 sub CreateInterface {
|
Line 628 sub CreateInterface {
|
$Str .= &Apache::lonstatistics::SectionSelect('Section','multiple',5); |
$Str .= &Apache::lonstatistics::SectionSelect('Section','multiple',5); |
$Str .= '</td>'; |
$Str .= '</td>'; |
# |
# |
|
$Str .= '<td align="center">'."\n"; |
|
$Str .= &Apache::lonstatistics::GroupSelect('Group','multiple',5); |
|
$Str .= '</td>'; |
|
# |
$Str .= '<td align="center">'; |
$Str .= '<td align="center">'; |
$Str .= &Apache::lonhtmlcommon::StatusOptions(undef,undef,5); |
$Str .= &Apache::lonhtmlcommon::StatusOptions(undef,undef,5); |
$Str .= '</td>'; |
$Str .= '</td>'; |