version 1.3, 2002/12/13 21:39:19
|
version 1.4, 2003/01/08 03:27:54
|
Line 34 use Apache::lonhtmlcommon;
|
Line 34 use Apache::lonhtmlcommon;
|
use Apache::loncoursedata; |
use Apache::loncoursedata; |
use GDBM_File; |
use GDBM_File; |
|
|
#my $jr; |
|
|
|
sub BuildPercentageGraph { |
sub BuildPercentageGraph { |
my ($cacheDB, $students, $courseID, $c, $r)=@_; |
my ($cacheDB, $students, $courseID, $c, $r)=@_; |
Line 60 sub BuildPercentageGraph {
|
Line 59 sub BuildPercentageGraph {
|
return; |
return; |
} |
} |
|
|
my ($Ptr, $percentage) = &GraphData(\%cache, $students); |
my ($Ptr, $percentage) = &GraphData(\%cache, $students,$r); |
$r->print($Ptr.'<br><br>'); |
$r->print($Ptr.'<br>'); |
|
|
$r->print(&TableData(\%cache, $percentage)); |
$r->print(&TableData(\%cache, $percentage)); |
|
|
Line 186 sub InitializeSelectedStudents {
|
Line 185 sub InitializeSelectedStudents {
|
} |
} |
|
|
sub GraphData { |
sub GraphData { |
my ($cache,$students)=@_; |
my ($cache,$students,$r)=@_; |
|
|
my $sequenceSelected = $cache->{'StatisticsMaps'}; |
my $sequenceSelected = $cache->{'StatisticsMaps'}; |
my $problemSelected = $cache->{'StatisticsProblemSelect'}; |
my $problemSelected = $cache->{'StatisticsProblemSelect'}; |
Line 235 sub GraphData {
|
Line 234 sub GraphData {
|
my @percent = (); |
my @percent = (); |
my @percentCount = (); |
my @percentCount = (); |
my $max = 0; |
my $max = 0; |
foreach my $key (sort(keys(%percentages))) { |
my $pno = 0; |
|
foreach my $key (sort NumericSort keys(%percentages)) { |
push(@percent, $key); |
push(@percent, $key); |
my @temp = split(':::', $percentages{$key}); |
my @temp = split(':::', $percentages{$key}); |
my $count = scalar(@temp); |
my $count = scalar(@temp); |
Line 243 sub GraphData {
|
Line 243 sub GraphData {
|
$max = $count; |
$max = $count; |
} |
} |
push(@percentCount, $count); |
push(@percentCount, $count); |
|
$pno++; |
} |
} |
|
|
my @GData = ('', 'Percentage', 'Number_of_Students', |
# $r->print('<br>max='.$max); |
$max, scalar(@percent), |
# $r->print('<br> percentcount='.join(',', @percentCount)); |
|
# $r->print('<br> percent='.join(',', @percent)); |
|
|
|
my @GData = ('','Percentage','Number_of_Students',$max,$pno, |
join(',',@percent), join(',', @percentCount)); |
join(',',@percent), join(',', @percentCount)); |
|
|
|
|
|
# my @GData = ('', 'Percentage', 'Number_of_Students', |
|
# $max, scalar(@percent), |
|
# join(',',@percent), join(',', @percentCount)); |
|
|
$Ptr .= '</form>'."\n"; |
$Ptr .= '</form>'."\n"; |
$Ptr .= '<IMG src="/cgi-bin/graph.png?'.(join('&', @GData)); |
$Ptr .= '<IMG src="/cgi-bin/graph.png?'.(join('&', @GData)); |
$Ptr .= '" border="1" />'; |
$Ptr .= '" border="1" />'; |
Line 257 sub GraphData {
|
Line 266 sub GraphData {
|
return ($Ptr, \%percentages); |
return ($Ptr, \%percentages); |
} |
} |
|
|
|
sub NumericSort { |
|
$a <=> $b; |
|
} |
|
|
sub TableData { |
sub TableData { |
my($cache,$percentage)=@_; |
my($cache,$percentage)=@_; |
my $Ptr; |
my $Ptr; |
|
|
$Ptr .= '<table border="0"><tr><td bgcolor="#777777">'."\n"; |
$Ptr .= '<table border="0"><tr><td bgcolor="#D7D7D7">'."\n"; |
$Ptr .= '<table border="0" cellpadding="3"><tr bgcolor="#e6ffff">'."\n"; |
$Ptr .= '<table border="0" cellpadding="3"><tr bgcolor="#e6ffff">'."\n"; |
|
|
$Ptr .= '<tr>'."\n"; |
$Ptr .= '<tr>'."\n"; |
$Ptr .= '<td>Percent Correct</td><td>Students</td>'; |
$Ptr .= '<td>% Correct</td>'. |
|
'<td>Frequency</td>'. |
|
'<td>Students</td>'; |
$Ptr .= '</tr>'."\n"; |
$Ptr .= '</tr>'."\n"; |
|
|
my $alternate=0; |
my $alternate=0; |
foreach (sort(keys(%$percentage))) { |
foreach (sort NumericSort keys(%$percentage)) { |
|
|
|
my @temp = split(':::', $percentage->{$_}); |
|
my $count = scalar(@temp); |
|
|
if($alternate) { |
if($alternate) { |
$Ptr .= '<tr bgcolor="#ffffe6">'; |
$Ptr .= '<tr bgcolor="#ffffe6">'; |
} else { |
} else { |
Line 277 sub TableData {
|
Line 296 sub TableData {
|
} |
} |
$alternate = ($alternate + 1) % 2; |
$alternate = ($alternate + 1) % 2; |
|
|
$Ptr .= '<td>'.$_.'</td><td>'; |
$Ptr .= '<td>'.$_.'</td>'; |
|
$Ptr .= '<td>'.$count.'</td><td>'; |
|
|
foreach my $name (sort(split(':::', $percentage->{$_}))) { |
foreach my $name (sort(split(':::', $percentage->{$_}))) { |
$Ptr .= '<a href="/adm/statistics?reportSelected='; |
$Ptr .= '<a href="/adm/statistics?reportSelected='; |