--- loncom/interface/statistics/lonsubmissiontimeanalysis.pm 2004/06/04 21:42:19 1.15 +++ loncom/interface/statistics/lonsubmissiontimeanalysis.pm 2004/06/25 18:23:02 1.16 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lonsubmissiontimeanalysis.pm,v 1.15 2004/06/04 21:42:19 matthew Exp $ +# $Id: lonsubmissiontimeanalysis.pm,v 1.16 2004/06/25 18:23:02 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -159,6 +159,7 @@ sub get_week_start { sub analyze_times { my ($r,$resource,$students,$part) = @_; + my $htmltable; # # Convenience arrays my @FullWeekDay = (qw/Sunday Monday Tuesday Wednesday Thursday Friday @@ -196,6 +197,7 @@ sub analyze_times { my @Ydata=(0); my @AnsData=(0); my @Xlabel=($WeekDay[$wday]); + my @BinEnd; my $cumulative_answers = 0; # foreach my $row (@$SubData) { @@ -206,6 +208,7 @@ sub analyze_times { $Ydata[$bincount]=0; $AnsData[$bincount]=$AnsData[$bincount-1]; $endtime += $binsize; + push(@BinEnd,$endtime); if ($bincount % (86400/$binsize) == 0) { $wday++; $wday %= 7; @@ -242,9 +245,42 @@ sub analyze_times { } } my $numstudents = scalar(@$students); + $htmltable = '<p>'. + '<table rules="groups" frame="border" '. + 'summary="Student submission data">'. + '<thead>'. + '<tr>'. + '<th valign="bottom">'.&mt('Begin Date').'</th>'. + '<th>'.(' 'x3).'</th>'. + '<th valign="bottom">'.&mt('End Date').'</th>'. + '<th valign="bottom">'.&mt('Submissions').'</th>'. + '<th>'.(' 'x3).'</th>'. + '<th valign="bottom">'.&mt('Correct<br />Submissions').'</th>'. + '<th>'.(' 'x3).'</th>'. + '<th valign="bottom">'.&mt('Percent<br />Correct').'</th>'. + '</tr>'. + '</thead>'. + '<tbody>'; for (my $i=0;$i<=$#AnsData;$i++) { $AnsData[$i] = int(100*($AnsData[$i]/$numstudents)); + if ($Ydata[$i] != 0) { + next if (! defined($BinEnd[$i]) || $BinEnd[$i] == 0); + $htmltable .= + '<tr>'. + '<td align="right">'. + &Apache::lonlocal::locallocaltime($BinEnd[$i]-$binsize). + '</td>'. + '<td> </td>'. + '<td align="right">'. + &Apache::lonlocal::locallocaltime($BinEnd[$i]).'</td>'. + '</td>'. + '<td align="right">'.$Ydata[$i].(' 'x3).'</td>'. + '<td> </td>'. + '<td align="right">'.($i>0?$AnsData[$i]-$AnsData[$i-1]:$AnsData[$i]).(' 'x3).'</td>'. + '</tr>'.$/; + } } + $htmltable .= '</tbody></table></p>'; my $title = 'Number of Submissions and Number Correct'; my $xlabel; (undef,undef,undef,$mday,$month,$year,$wday) = localtime($day_start); @@ -276,7 +312,7 @@ sub analyze_times { 'data.2.label'=>'Percent correct', ) ); - $html .= '<br />'; + $html .= '<br />'.$htmltable; return $html; } @@ -332,18 +368,19 @@ sub CreateInterface { $Str .= '<p>'; $Str .= '<table cellspacing="5">'."\n"; $Str .= '<tr>'; - $Str .= '<td align="center"><b>'.&mt('Sections').'</b></td>'; - $Str .= '<td align="center"><b>'.&mt('Enrollment Status').'</b></td>'; + $Str .= '<th align="center">'.&mt('Sections').'</th>'; + $Str .= '<th align="center">'.&mt('Enrollment Status').'</th>'; $Str .= '</tr>'."\n"; ## ## $Str .= '<tr><td align="center">'."\n"; - $Str .= &Apache::lonstatistics::SectionSelect('Section','multiple',5); + $Str .= &Apache::lonstatistics::SectionSelect('Section','multiple',4); $Str .= '</td>'; # $Str .= '<td align="center">'; - $Str .= &Apache::lonhtmlcommon::StatusOptions(undef,undef,5); + $Str .= &Apache::lonhtmlcommon::StatusOptions(undef,undef,4); $Str .= '</td>'; + # $Str .= '</tr>'."\n"; $Str .= '</table>'."\n"; #