--- loncom/interface/lonstatistics.pm 2002/09/01 06:23:19 1.50
+++ loncom/interface/lonstatistics.pm 2002/11/26 18:02:38 1.55
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# (Publication Handler
#
-# $Id: lonstatistics.pm,v 1.50 2002/09/01 06:23:19 stredwic Exp $
+# $Id: lonstatistics.pm,v 1.55 2002/11/26 18:02:38 minaeibi Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -35,7 +35,7 @@
#
###
-package Apache::lonstatistics;
+package Apache::lonstatistics;
use strict;
use Apache::Constants qw(:common :http);
@@ -245,9 +245,11 @@ sub SortStudents {
my $sortBy = '';
if(defined($cache->{'sort'})) {
$sortBy = ':'.$cache->{'sort'};
+ } else {
+ $sortBy = ':fullname';
}
- my @order = sort { $cache->{$a.$sortBy} cmp $cache->{$b.$sortBy} ||
- $cache->{$a.':fullname'} cmp $cache->{$b.':fullname'} }
+ my @order = sort { lc($cache->{$a.$sortBy}) cmp lc($cache->{$b.$sortBy}) ||
+ lc($cache->{$a.':fullname'}) cmp lc($cache->{$b.':fullname'}) }
@sorted1Students;
return \@order;
@@ -312,7 +314,7 @@ sub PrepareData {
$isRecalculate=1;
}
- my $isCached = &Apache::loncoursedata::TestCacheData($cacheDB,
+ my $isCached = &Apache::loncoursedata::TestCacheData($cacheDB,
$isRecalculate);
if($isCached < 0) {
return "Unable to tie hash to db file.";
@@ -383,16 +385,16 @@ sub PrepareData {
if($download ne 'false') {
my @who = ($download);
- if(&Apache::loncoursedata::DownloadStudentCourseData(\@who, 'false',
- $cacheDB, 'true',
+ if(&Apache::loncoursedata::DownloadStudentCourseData(\@who, 'false',
+ $cacheDB, 'true',
'false', $courseID,
$r, $c) ne 'OK') {
return 'Stop at download individual';
}
} elsif($downloadAll ne 'false') {
- if(&Apache::loncoursedata::DownloadStudentCourseData(\@allStudents,
- 'false',
- $cacheDB, 'true',
+ if(&Apache::loncoursedata::DownloadStudentCourseData(\@allStudents,
+ 'false',
+ $cacheDB, 'true',
'true', $courseID,
$r, $c) ne 'OK') {
return 'Stop at download all';
@@ -410,19 +412,37 @@ sub BuildClasslist {
return '
Unable to tie database.';
}
+# my $Ptr = '';
+# $Ptr .= '';
+# $Ptr .= 'Select Sections';
+# $Ptr .= ' | '."\n";
+# $Ptr .= ''."\n";
+# my @sectionsSelected = split(':',$cache{'sectionsSelected'});
+# my @sections = split(':',$cache{'sectionList'});
+# $Ptr .= &Apache::lonhtmlcommon::MultipleSectionSelect(\@sections,
+# \@sectionsSelected,
+# 'Statistics');
+# $Ptr .= ' |
';
+# $r->print($Ptr);
+# $r->rflush();
+# my %mySections = ();
+# foreach (@sections) { $mySections{$_} = 'True'; }
+# $r->print("
$cache{'sectionsSelected'}
");
+
my $Str='';
$Str .= ''."\n";
$Str .= ''."\n";
my $displayString = 'DISPLAYDATA  | '."\n";
- $Str .= &Apache::lonhtmlcommon::CreateHeadings(\%cache,
+ $Str .= &Apache::lonhtmlcommon::CreateHeadings(\%cache,
$studentInformation,
$headings, $displayString);
$Str .= ' '."\n";
my $alternate=0;
foreach (@$students) {
+# if ($mySections{$cache{$_.':'.'section'}} ne 'True') {next;}
my ($username, $domain) = split(':', $_);
if($alternate) {
$Str .= '';
@@ -510,6 +530,7 @@ sub BuildStatistics {
my @headings=('Full Name', 'Section', 'PID', 'Domain', 'User Name',
'Last Updated');
my $spacing = ' ';
+
my %reports = ('classlist' => 'Class list',
'problem_statistics' => 'Problem Statistics',
'student_assessment' => 'Student Assessment',
@@ -524,15 +545,15 @@ sub BuildStatistics {
$r->print(&Apache::lonhtmlcommon::Title('Course Statistics and Charts'));
- my ($returnValue, $students) = &PrepareData($c, $cacheDB,
- \@studentInformation,
+ my ($returnValue, $students) = &PrepareData($c, $cacheDB,
+ \@studentInformation,
\@headings,$r);
if($returnValue ne 'OK') {
$r->print($returnValue."\n".'
|