Diff for /loncom/interface/Attic/lonchart.pm between versions 1.46 and 1.48

version 1.46, 2002/06/28 21:12:46 version 1.48, 2002/07/01 15:39:55
Line 513  sub ProcessTopResourceMap { Line 513  sub ProcessTopResourceMap {
     $hash{'title_'.$currentResourceID};      $hash{'title_'.$currentResourceID};
   
                 my $totalProblems=0;                  my $totalProblems=0;
                 foreach (split(/\:/,$CacheData{$currentSequence.                  foreach my $currentProblem (split(/\:/,
                                                  $CacheData{$currentSequence.
                                                ':problems'})) {                                                 ':problems'})) {
                     foreach ($CacheData{$currentSequence.':'.$_.':parts'}) {                      foreach (split(/\:/,$CacheData{$currentSequence.':'.
                                                      $currentProblem.
                                                      ':parts'})) {
                         $totalProblems++;                          $totalProblems++;
                     }                      }
                 }                  }
Line 665  sub ProcessClassList { Line 668  sub ProcessClassList {
     my %CacheData;      my %CacheData;
     if(tie(%CacheData,'GDBM_File',$ChartDB,&GDBM_WRCREAT,0640)) {      if(tie(%CacheData,'GDBM_File',$ChartDB,&GDBM_WRCREAT,0640)) {
         foreach my $name (keys(%$classlist)) {          foreach my $name (keys(%$classlist)) {
             if($name =~ /\:section/ || $name =~ /\:studentInformation/) {              if($name =~ /\:section/ || $name =~ /\:studentInformation/ ||
                  $name eq '') {
                 next;                  next;
             }              }
             if($c->aborted()) {              if($c->aborted()) {
Line 680  sub ProcessClassList { Line 684  sub ProcessClassList {
                                     $name,$courseID,$c);                                      $name,$courseID,$c);
         }          }
   
         $CacheData{'NamesOfStudents'}=join(":::",@names);  
 #        $CacheData{'NamesOfStudents'}=&Apache::lonnet::arrayref2str(\@names);  
  untie(%CacheData);   untie(%CacheData);
     }      }
   
Line 760  sub ProcessFullName { Line 762  sub ProcessFullName {
 }  }
   
 sub SortStudents {  sub SortStudents {
     my ($CacheData)=@_;      my ($students,$CacheData)=@_;
     my @students = split(/:::/,$CacheData->{'NamesOfStudents'});  
 #    my @students=&Apache::lonnet::str2array($CacheData->{'NamesOfStudents'});  
   
     my @sorted1Students=();      my @sorted1Students=();
     foreach (@students) {      foreach (@$students) {
         my ($end,$start)=split(/\:/,$CacheData->{$_.':date'});          my ($end,$start)=split(/\:/,$CacheData->{$_.':date'});
         my $active=1;          my $active=1;
         my $now=time;          my $now=time;
Line 802  sub SortStudents { Line 802  sub SortStudents {
     }      }
   
     my @order = ();      my @order = ();
     foreach my $key (sort keys(%sortData)) {      foreach my $key (sort(keys(%sortData))) {
  push (@order,$sortData{$key});   push (@order,$sortData{$key});
     }      }
   
Line 855  sub ExtractStudentData { Line 855  sub ExtractStudentData {
             foreach my $key (keys (%$courseData)) {              foreach my $key (keys (%$courseData)) {
                 $CacheData{$name.':'.$key}=$courseData->{$key};                  $CacheData{$name.':'.$key}=$courseData->{$key};
             }              }
               if(defined($CacheData{'NamesOfStudents'})) {
                   $CacheData{'NamesOfStudents'}.=':::'.$name;
               } else {
                   $CacheData{'NamesOfStudents'}=$name;
               }
         }          }
         untie(%CacheData);          untie(%CacheData);
     }      }
Line 888  sub BuildChart { Line 893  sub BuildChart {
     }      }
   
     # Download class list information if not using cached data      # Download class list information if not using cached data
       my %CacheData;
     my @students=();      my @students=();
     my @studentInformation=('username','domain','section','id','fullname');      my @studentInformation=('username','domain','section','id','fullname');
     my @headings=('User Name','Domain','Section','PID','Full Name');      my @headings=('User Name','Domain','Section','PID','Full Name');
Line 911  sub BuildChart { Line 917  sub BuildChart {
         &SpaceColumns(\@students,\@studentInformation,\@headings,          &SpaceColumns(\@students,\@studentInformation,\@headings,
                       $ChartDB);                        $ChartDB);
         if($c->aborted()) { return; }          if($c->aborted()) { return; }
       } else {
           if(!$c->aborted() && tie(%CacheData,'GDBM_File',$ChartDB,
                                    &GDBM_READER,0640)) {
               @students=split(/:::/,$CacheData{'NamesOfStudents'});
           }
     }      }
   
     # Sort students and print out table desciptive data      # Sort students and print out table desciptive data
     my %CacheData;  
     if(tie(%CacheData,'GDBM_File',$ChartDB,&GDBM_READER,0640)) {      if(tie(%CacheData,'GDBM_File',$ChartDB,&GDBM_READER,0640)) {
         if(!$c->aborted()) { @students=&SortStudents(\%CacheData); }          if(!$c->aborted()) { @students=&SortStudents(\@students,\%CacheData); }
  if(!$c->aborted()) { $r->print(&CreateLegend()); }   if(!$c->aborted()) { $r->print(&CreateLegend()); }
  if(!$c->aborted()) { $r->print(&CreateForm()); }   if(!$c->aborted()) { $r->print(&CreateForm()); }
  if(!$c->aborted()) { $r->print('<h3>'.(scalar @students).   if(!$c->aborted()) { $r->print('<h3>'.(scalar @students).

Removed from v.1.46  
changed lines
  Added in v.1.48


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