--- loncom/interface/lonstatistics.pm 2002/02/06 16:59:01 1.4
+++ loncom/interface/lonstatistics.pm 2002/03/02 23:22:32 1.6
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# (Publication Handler
#
-# $Id: lonstatistics.pm,v 1.4 2002/02/06 16:59:01 minaeibi Exp $
+# $Id: lonstatistics.pm,v 1.6 2002/03/02 23:22:32 minaeibi Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -27,12 +27,10 @@
#
# (Navigate problems for statistical reports
# YEAR=2001
-# 5/05/01, 7/09/01, 7/25/01, 8/11/01,9/13/01, 9/26/01 Behrouz Minaei
-# 10/5/01, 10/9/01, 10/22/01, 10/26/01 Behrouz Minaei
-# 11/1/01, 11/4/01, 11/16/01 Behrouz Minaei
-# 12/14/01, 12/16/01, 12/18/01,12/20/01,12/31/01 Behrouz Minaei
+# 5/05,7/09,7/25/01,8/11,9/13,9/26,10/5,10/9,10/22,10/26 Behrouz Minaei
+# 11/1, 11/4, 11/16, 12/14, 12/16, 12/18,12/20,12/31 Behrouz Minaei
# YEAR=2002
-# 1/22/02,2/1/02 Behrouz Minaei
+# 1/22, 2/1, 2/6, 2/25, 3/2 Behrouz Minaei
###
package Apache::lonstatistics;
@@ -50,7 +48,7 @@ my %hash;
my %CachData;
my %GraphDat;
my %maps;
-my @mapsort;
+my %mapsort;
my %section;
my %StuBox;
my %DiscFac;
@@ -74,13 +72,13 @@ my $GData;
my $cid;
my $firstres;
my $lastres;
-my $DiscFlag=0;
-my $HWN=0;
-
-my %Header = (0,"Problem Title",1,"#Stdnts",2,"Tries",3,"Mod",
- 4,"Mean",5,"#YES",6,"#yes",7,"%Wrng",8,"S.D.",
- 9,"Skew.",10,"DoDiff",11,"Map");
-# 9,"Skew.",10,"DoDiff",11,"Dis.F.",12,"Resourse URL");
+my $DiscFlag;
+my $HWN;
+my $P_Order;
+my %Header = (0,"Homework Sets Order",1,"#Stdnts",2,"Tries",3,"Mod",
+ 4,"Mean",5,"#YES",6,"#yes",7,"%Wrng",8,"DoDiff",
+ 9,"S.D.",10,"Skew.",11,"Map");
+# 11,"Dis.F.",12,"Resourse URL");
sub NumericSort {
$a <=> $b;
@@ -98,6 +96,7 @@ sub StudentReport {
my $reply=&Apache::lonnet::reply('dump:'.$sdom.':'.$sname.':'.$cid,$shome );
my %result = ();
my $ResId;
+ my $PrOrd;
my $Code;
my $Tries;
my $TotalTries = 0;
@@ -117,12 +116,12 @@ sub StudentReport {
"\n".'
Tries | '.
"\n".'';
unless ($reply=~/^error\:/) {
- map {
+ foreach (split(/\&/,$reply)){
my ($name,$value)=split(/\=/,&Apache::lonnet::unescape($_));
$result{$name}=$value;
- } split(/\&/,$reply);;
- foreach $ResId (@cols) {
- if ( !$ResId ) {
+ }
+ foreach my $CurCol (@cols) {
+ if (!$CurCol){
my $Set=&Apache::lonnet::declutter($hash{'map_id_'.$1});
if ( $Set ) {
$SetNo++;
@@ -137,6 +136,7 @@ sub StudentReport {
$PtrCod='';
next;
}
+ ($PrOrd,$ResId)=split(/\:/,$CurCol);
$ResId=~/(\d+)\.(\d+)/;
my $Map = &Apache::lonnet::declutter( $hash{'map_id_'.$1} );
if ( $CurMap ne 'All Maps' ) {
@@ -146,17 +146,18 @@ sub StudentReport {
my $meta=$hash{'src_'.$ResId};
my $PartNo = 0;
undef %TempHash;
- map {
+ foreach (split(/\,/,&Apache::lonnet::metadata($meta,'keys'))){
if ($_=~/^stores\_(\d+)\_tries$/) {
my $Part=&Apache::lonnet::metadata($meta,$_.'.part');
if ( $TempHash{"$Part"} eq '' ) {
$TempHash{"$Part"} = $Part;
$TempHash{$PartNo}=$Part;
$TempHash{"$Part.Code"} = '-';
+ $TempHash{"$Part.PrOrd"} = $PrOrd+$PartNo;
$PartNo++;
}
}
- } split(/\,/,&Apache::lonnet::metadata($meta,'keys'));
+ }
my $Prob = $Map.'___'.$2.'___'.
&Apache::lonnet::declutter( $hash{'src_'.$ResId} );
@@ -210,7 +211,31 @@ sub StudentReport {
$r->rflush();
}
+sub CreateTable {
+ my ($Hd, $Hid)=@_;
+ if ( $Hd == 1 ) {
+# $Hid=~/(\d+)\.(\d+)/;
+ $r->print('
'.$hash{'title_'.$Hid}.''
+# .' ('.&Apache::lonnet::declutter($hash{'map_id_'.$1}).')'
+ );
+ }
+ my $Result = "\n".''."\n");
+ $r->rflush();
+}
+
# ------------------------------------------- Prepare Statistics Table
sub PreStatTable {
my $CacheDB = "/home/httpd/perl/tmp/$ENV{'user.name'}".
@@ -219,9 +244,22 @@ sub PreStatTable {
"_$ENV{'user.domain'}_$cid\_graph.db";
my $CachDisFac = "/home/httpd/perl/tmp/$ENV{'user.name'}".
"_$ENV{'user.domain'}_$cid\_DiscFactor.db";
- $r->print('
');
+ my $OpSel11='';
+ my $OpSel12='';
+ my $OpSel13='';
+ my $Status = $ENV{'form.status'};
+ if ( $Status eq 'Any' ) { $OpSel13='selected'; }
+ elsif ($Status eq 'Expired' ) { $OpSel12 = 'selected'; }
+ else { $OpSel11 = 'selected'; }
my $Ptr = '';
+ $Ptr .= '
Student Status: '."\n".
+ ' '."\n";
+ $Ptr .= ' ';
+ $Ptr .= ''."\n";
$Ptr .= '
Sorting Type: '."\n".
'