--- loncom/interface/statistics/lonproblemstatistics.pm 2009/03/05 09:12:14 1.117 +++ loncom/interface/statistics/lonproblemstatistics.pm 2012/05/03 11:21:33 1.122 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lonproblemstatistics.pm,v 1.117 2009/03/05 09:12:14 bisitz Exp $ +# $Id: lonproblemstatistics.pm,v 1.122 2012/05/03 11:21:33 goltermann Exp $ # # Copyright Michigan State University Board of Trustees # @@ -52,6 +52,7 @@ package Apache::lonproblemstatistics; use strict; use Apache::lonnet; use Apache::loncommon(); +use Apache::lonquickgrades(); use Apache::lonhtmlcommon; use Apache::loncoursedata; use Apache::lonstatistics; @@ -610,8 +611,6 @@ sub CreateInterface { &parse_field_selection(); # my $Str = ''; - $Str .= &Apache::lonhtmlcommon::breadcrumbs('Overall Problem Statistics', - 'Statistics_Overall_Key'); $Str .= '<p>'; $Str .= &Apache::loncommon::start_data_table(); $Str .= &Apache::loncommon::start_data_table_header_row(); @@ -645,12 +644,6 @@ sub CreateInterface { $Str .= &Apache::loncommon::end_data_table_row(); $Str .= &Apache::loncommon::end_data_table(); # - $Str .= '<p><span class="LC_nobreak">' - .&mt('Status: [_1]', - '<input type="text" name="stats_status"' - .' size="60" value="" readonly="readonly" />') - .'</span></p>'; - # $Str .= '</p>'; $Str .= '<input type="submit" name="GenerateStatistics" value="'. &mt('Generate Statistics').'" />'; @@ -704,6 +697,10 @@ sub BuildProblemStatisticsPage { undef(%SeqStat); # # Finally let the user know we are here + $r->print(&Apache::lonhtmlcommon::breadcrumbs('Overall Problem Statistics', + 'Statistics_Overall_Key')); + &Apache::lonquickgrades::startGradeScreen($r,'statistics'); + my $interface = &CreateInterface($r); $r->print($interface); $r->print('<input type="hidden" name="sortby" value="'.$env{'form.sortby'}. @@ -744,17 +741,17 @@ sub BuildProblemStatisticsPage { return; } if (exists($env{'form.Excel'})) { - $r->print('<h4>'. + $r->print('<p>'. &Apache::lonstatistics::section_and_enrollment_description(). - '</h4>'); + '</p>'); &Excel_output($r); } else { $r->print('<input type="submit" name="Excel" value="'. &mt('Produce Excel Output').'" />'.' 'x5); $r->rflush(); - $r->print('<h4>'. + $r->print('<p>'. &Apache::lonstatistics::section_and_enrollment_description(). - '</h4>'); + '</p>'); my $count = 0; foreach my $seq (@sequences) { my @resources = @@ -798,17 +795,15 @@ sub output_sequence_statistics { $r->print('<h2>'.&mt('Sequence Statistics'). &Apache::loncommon::help_open_topic('Statistics_Sequence'). '</h2>'); - $r->print('<table border="0"><tr><td bgcolor="#777777">'."\n". - '<table border="0" cellpadding="3">'."\n". - '<tr bgcolor="#FFFFE6">'); + $r->print(&Apache::loncommon::start_data_table().&Apache::loncommon::start_data_table_header_row()); $r->print(&sequence_html_header()); + $r->print(&Apache::loncommon::end_data_table_header_row()); foreach my $seq (@sequences) { last if ($c->aborted); &compute_sequence_statistics($seq); $r->print(&sequence_html_output($seq)); } - $r->print('</table>'); - $r->print('</table>'); + $r->print(&Apache::loncommon::end_data_table()); $r->rflush(); return; } @@ -824,22 +819,22 @@ sub output_sequence_statistics { sub output_html_by_sequence { my ($r) = @_; my $c = $r->connection(); - $r->print(&html_preamble()); + $r->print('<br>'.&html_preamble()); # foreach my $seq (@sequences) { last if ($c->aborted); $r->print("<h3>".$seq->compTitle."</h3>". - '<table border="0"><tr><td bgcolor="#777777">'."\n". - '<table border="0" cellpadding="3">'."\n". - '<tr bgcolor="#FFFFE6">'. - &statistics_table_header('no container')."</tr>\n"); + &Apache::loncommon::start_data_table(). + &Apache::loncommon::start_data_table_header_row(). + &statistics_table_header('no container'). + &Apache::loncommon::end_data_table_header_row()."\n"); my @Data = &compute_statistics_on_sequence($seq); foreach my $data (@Data) { - $r->print('<tr>'.&statistics_html_table_data($data, - 'no container'). - "</tr>\n"); + $r->print(&Apache::loncommon::start_data_table_row(). + &statistics_html_table_data($data,'no container'). + &Apache::loncommon::end_data_table_row()."\n"); } - $r->print('</table>'."\n".'</table>'."\n"); + $r->print(&Apache::loncommon::end_data_table()."\n"); $r->rflush(); } return; @@ -854,17 +849,17 @@ sub output_html_stats { my $count=0; foreach my $data (@StatsArray) { if ($count++ % 50 == 0) { - $r->print("</table>\n</table>\n"); - $r->print('<table border="0"><tr><td bgcolor="#777777">'."\n". - '<table border="0" cellpadding="3">'."\n". - '<tr bgcolor="#FFFFE6">'. - '<tr bgcolor="#FFFFE6">'. - &statistics_table_header(). - "</tr>\n"); - } - $r->print('<tr>'.&statistics_html_table_data($data)."</tr>\n"); + $r->print(&Apache::loncommon::end_data_table()); + $r->print(&Apache::loncommon::start_data_table(). + &Apache::loncommon::start_data_table_row(). + &statistics_table_header(). + &Apache::loncommon::end_data_table_row()); + } + $r->print(&Apache::loncommon::start_data_table_row(). + &statistics_html_table_data($data). + &Apache::loncommon::end_data_table_row()); } - $r->print("</table>\n</table>\n"); + $r->print(&Apache::loncommon::end_data_table_row()); return; } @@ -881,8 +876,8 @@ sub html_preamble { &Apache::lonlocal::locallocaltime($endtime) ).'</h3>'; } - $Str .= "<h3>".&mt('Compiled on [_1]', - &Apache::lonlocal::locallocaltime(time))."</h3>"; + $Str .= "<p>".&mt('Compiled on [_1]', + &Apache::lonlocal::locallocaltime(time))."</p>"; return $Str; } @@ -900,7 +895,7 @@ sub statistics_html_table_data { foreach my $field (@Fields) { next if ($options =~ /no $field->{'name'}/); next if ($field->{'selected'} ne 'yes'); - $row .= '<td bgcolor="'.$field->{'color'}.'"'; + $row .= '<td style="background-color:'.$field->{'color'}.'"'; if (exists($field->{'align'})) { $row .= ' align="'.$field->{'align'}.'"'; } @@ -1457,7 +1452,7 @@ sub compute_statistics_on_sequence { my @Data; foreach my $res (&Apache::lonstathelpers::get_resources($navmap,$seq)) { foreach my $part (@{$res->parts}) { - next if ($res->is_survey($part)); + next if (($res->is_survey($part)) || ($res->is_anonsurvey($part))) ; # # This is where all the work happens my $data = &get_statistics($seq,$res,$part,scalar(@StatsArray)+1); @@ -1592,7 +1587,6 @@ sub get_statistics { $data->{'sections'}=$sections; $data->{'course'} = $env{'request.course.id'}; my $urlres=(&Apache::lonnet::decode_symb($resource->symb))[2]; - $data->{'urlres'}=$urlres; my %storestats = &LONCAPA::lonmetadata::dynamic_metadata_storage($data); my ($dom,$user) = ($urlres=~m{^($LONCAPA::domain_re)/($LONCAPA::username_re)});