[LON-CAPA-cvs] cvs: loncom /interface/statistics lonsubmissiontimeanalysis.pm
matthew
lon-capa-cvs@mail.lon-capa.org
Fri, 25 Jun 2004 18:23:02 -0000
matthew Fri Jun 25 14:23:02 2004 EDT
Modified files:
/loncom/interface/statistics lonsubmissiontimeanalysis.pm
Log:
Bug 2473: html table of data for submission time plots.
Index: loncom/interface/statistics/lonsubmissiontimeanalysis.pm
diff -u loncom/interface/statistics/lonsubmissiontimeanalysis.pm:1.15 loncom/interface/statistics/lonsubmissiontimeanalysis.pm:1.16
--- loncom/interface/statistics/lonsubmissiontimeanalysis.pm:1.15 Fri Jun 4 17:42:19 2004
+++ loncom/interface/statistics/lonsubmissiontimeanalysis.pm Fri Jun 25 14:23:02 2004
@@ -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 analyze_times {
my ($r,$resource,$students,$part) = @_;
+ my $htmltable;
#
# Convenience arrays
my @FullWeekDay = (qw/Sunday Monday Tuesday Wednesday Thursday Friday
@@ -196,6 +197,7 @@
my @Ydata=(0);
my @AnsData=(0);
my @Xlabel=($WeekDay[$wday]);
+ my @BinEnd;
my $cumulative_answers = 0;
#
foreach my $row (@$SubData) {
@@ -206,6 +208,7 @@
$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 @@
}
}
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 @@
'data.2.label'=>'Percent correct',
)
);
- $html .= '<br />';
+ $html .= '<br />'.$htmltable;
return $html;
}
@@ -332,18 +368,19 @@
$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";
#