Diff for /loncom/interface/lonstatistics.pm between versions 1.21 and 1.22

version 1.21, 2002/05/27 00:24:05 version 1.22, 2002/05/29 17:58:45
Line 749  sub usection { Line 749  sub usection {
     my ($udom,$unam,$courseid,$ActiveFlag)=@_;      my ($udom,$unam,$courseid,$ActiveFlag)=@_;
     $courseid=~s/\_/\//g;      $courseid=~s/\_/\//g;
     $courseid=~s/^(\w)/\/$1/;      $courseid=~s/^(\w)/\/$1/;
     foreach (split(/\&/,&Apache::lonnet::reply('dump:'.  
              $udom.':'.$unam.':roles',      my %result=&Apache::lonnet::dump('roles',$udom,$unam);
              &Apache::lonnet::homeserver($unam,$udom)))){      foreach my $key (keys (%result)) {
         my ($key,$value)=split(/\=/,$_);   my $value=$result{$key};
         $key=&Apache::lonnet::unescape($key);  
         if ($key=~/^$courseid(?:\/)*(\w+)*\_st$/) {          if ($key=~/^$courseid(?:\/)*(\w+)*\_st$/) {
             my $section=$1;              my $section=$1;
             if ($key eq $courseid.'_st') { $section=''; }              if ($key eq $courseid.'_st') { $section=''; }
     my ($dummy,$end,$start)=split(/\_/,&Apache::lonnet::unescape($value));      my ($dummy,$end,$start)=split(/\_/,$value);
     if ( $ActiveFlag ne 'Any' ) {      if ( $ActiveFlag ne 'Any' ) {
  my $now=time;   my $now=time;
  my $notactive=0;   my $notactive=0;
Line 1401  sub ClassList { Line 1400  sub ClassList {
     &GetStatus();      &GetStatus();
   
     $cid=$ENV{'request.course.id'};      $cid=$ENV{'request.course.id'};
     my $chome=$ENV{'course.'.$cid.'.home'};  
     my ($cdom,$cnum)=split(/\_/,$cid);      my ($cdom,$cnum)=split(/\_/,$cid);
 # ----------------------- Get first and last resource, see if there is anything  # ----------------------- Get first and last resource, see if there is anything
     $firstres=$hash{'map_start_/res/'.$ENV{'request.course.uri'}};      $firstres=$hash{'map_start_/res/'.$ENV{'request.course.uri'}};
Line 1418  sub ClassList { Line 1416  sub ClassList {
 #    foreach my $KeyPoint(sort keys(%students)) {  #    foreach my $KeyPoint(sort keys(%students)) {
   
   
  my $classlst=&Apache::lonnet::reply('dump:'.$cdom.':'.$cnum.':classlist',$chome);   my %classlist=&Apache::lonnet::dump('classlist',$cdom,$cnum);
   
  my $StudNo = 0;   my $StudNo = 0;
  my $now=time;   my $now=time;
  unless ($classlst=~/^error\:/) {   foreach my $name (keys (%classlist)) {
     foreach my $KeyPoint(sort split(/\&/,$classlst)) {      my $value=$classlist{$name};
  my ($name,$value)=split(/\=/,$KeyPoint);      my ($end,$start)=split(/\:/,$value);
  my ($end,$start)=split(/\:/,&Apache::lonnet::unescape($value));      my $active=1;
  my $active=1;      my $Status=$ENV{'form.status'};
  my $Status=$ENV{'form.status'};      $Status = ($Status) ? $Status : 'Active';
  $Status = ($Status) ? $Status : 'Active';      if ( ( ($end) && $now > $end ) && 
  if ( ( ($end) && $now > $end ) &&    ( ($Status eq 'Active') ) ) { $active=0; }
                      ( ($Status eq 'Active') ) ) { $active=0; }      if ( ($Status eq 'Expired') && 
    ($end == 0 || $now < $end) ) { $active=0; }
  if ( ($Status eq 'Expired') &&       if ($active) {
                      ($end == 0 || $now < $end) ) { $active=0; }   my $thisindex=$#students+1;
    $students[$thisindex]=$name;
  if ($active) {   my ($sname,$sdom)=split(/\:/,$name);
     my $thisindex=$#students+1;   my $ssec=&usection($sdom,$sname,$cid,$Status);
     $name=&Apache::lonnet::unescape($name);   if ($ssec==-1 || $ssec eq 'adm' ) {next;}
     $students[$thisindex]=$name;   $ssec=($ssec) ? $ssec : '(none)';
     my ($sname,$sdom)=split(/\:/,$name);   #$ssec=(int($ssec)) ? int($ssec) : $ssec;
     my $ssec=&usection($sdom,$sname,$cid,$Status);   $section{$ssec}=$ssec;
     if ($ssec==-1 || $ssec eq 'adm' ) {next;}   if ($CurSec eq 'All Sections' || $ssec eq $CurSec) {
     $ssec=($ssec) ? $ssec : '(none)';      $students[$StudNo]=$name;
     #$ssec=(int($ssec)) ? int($ssec) : $ssec;      $StuBox{$sname}=$sdom;
     $section{$ssec}=$ssec;   }
     if ($CurSec eq 'All Sections' || $ssec eq $CurSec) {   $StudNo++;
  $students[$StudNo]=$name;  
  $StuBox{$sname}=$sdom;  
     }  
     $StudNo++;  
         }  
     }      }
  }   }
  else {  
     $r->print('<h1>Could not access course data</h1>');  
  }   
         $r->print("Total number of students : ".($#students+1));          $r->print("Total number of students : ".($#students+1));
         $r->rflush();          $r->rflush();
 # --------------- Find all assessments and put them into some linear-like order  # --------------- Find all assessments and put them into some linear-like order

Removed from v.1.21  
changed lines
  Added in v.1.22


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>