Diff for /loncom/interface/lonstatistics.pm between versions 1.118 and 1.119

version 1.118, 2005/03/01 22:25:59 version 1.119, 2005/03/14 20:28:21
Line 50  use vars qw( Line 50  use vars qw(
     @FullClasslist       @FullClasslist 
     @Students      @Students
     @Sections       @Sections 
     @SelectedSections  
     %StudentData      %StudentData
     @StudentDataOrder      @StudentDataOrder
     @SelectedStudentData      @SelectedStudentData
Line 124  undef the following package variables: Line 123  undef the following package variables:
   
 =item @Sections  =item @Sections
   
 =item @SelectedSections  
   
 =item %StudentData  =item %StudentData
   
 =item @StudentDataOrder  =item @StudentDataOrder
Line 148  sub clear_classlist_variables { Line 145  sub clear_classlist_variables {
     undef(@FullClasslist);      undef(@FullClasslist);
     undef(@Students);      undef(@Students);
     undef(@Sections);      undef(@Sections);
     undef(@SelectedSections);  
     undef(%StudentData);      undef(%StudentData);
     undef(@SelectedStudentData);      undef(@SelectedStudentData);
     undef($curr_student);      undef($curr_student);
Line 174  the following package variables: Line 170  the following package variables:
   
 =item @Sections  =item @Sections
   
 =item @SelectedSections  
   
 =item %StudentData  =item %StudentData
   
 =item @SelectedStudentData  =item @SelectedStudentData
Line 205  sub PrepareClasslist { Line 199  sub PrepareClasslist {
     my $cnum = $ENV{'course.'.$cid.'.num'};      my $cnum = $ENV{'course.'.$cid.'.num'};
     my ($classlist,$field_names) = &Apache::loncoursedata::get_classlist($cid,      my ($classlist,$field_names) = &Apache::loncoursedata::get_classlist($cid,
                                                                   $cdom,$cnum);                                                                    $cdom,$cnum);
     if (exists($ENV{'form.Section'})) {      my @selected_sections = &get_selected_sections();
         if (ref($ENV{'form.Section'})) {  
             @SelectedSections = @{$ENV{'form.Section'}};  
         } elsif ($ENV{'form.Section'} !~ /^\s*$/) {  
             @SelectedSections = ($ENV{'form.Section'});  
         }  
     }  
     @SelectedSections = ('all') if (! @SelectedSections);  
     foreach (@SelectedSections) {  
         if ($_ eq 'all') {  
             @SelectedSections = ('all');  
         }  
     }  
     #      #
     # Deal with instructors with restricted section access      # Deal with instructors with restricted section access
     if ($ENV{'request.course.sec'} !~ /^\s*$/) {      if ($ENV{'request.course.sec'} !~ /^\s*$/) {
         @SelectedSections = ($ENV{'request.course.sec'});          @selected_sections = ($ENV{'request.course.sec'});
     }      }
     #      #
     # Set up %StudentData      # Set up %StudentData
Line 262  sub PrepareClasslist { Line 244  sub PrepareClasslist {
         $Sections{$section}++;          $Sections{$section}++;
         #          #
         # Only put in the list those students we are interested in          # Only put in the list those students we are interested in
         foreach my $sect (@SelectedSections) {          foreach my $sect (@selected_sections) {
             if ( (($sect eq 'all') ||               if ( (($sect eq 'all') || 
                   ($section eq $sect)) &&                    ($section eq $sect)) &&
                  (($studenthash->{'status'} eq $enrollment_status) ||                    (($studenthash->{'status'} eq $enrollment_status) || 
Line 334  sub PrepareClasslist { Line 316  sub PrepareClasslist {
     return;      return;
 }  }
   
   #######################################################
   #######################################################
   
   =pod
   
   =item get_selected_sections
   
   Returns an array of the selected sections
   
   =cut
   
   #######################################################
   #######################################################
   sub get_selected_sections {
       my @selected_sections;
       if (exists($ENV{'form.Section'})) {
           if (ref($ENV{'form.Section'})) {
               @selected_sections = @{$ENV{'form.Section'}};
           } elsif ($ENV{'form.Section'} !~ /^\s*$/) {
               @selected_sections = ($ENV{'form.Section'});
           }
       }
       @selected_sections = ('all') if (! @selected_sections);
       foreach (@selected_sections) {
           if ($_ eq 'all') {
               @selected_sections = ('all');
           }
       }
       #
       # Deal with instructors with restricted section access
       if ($ENV{'request.course.sec'} !~ /^\s*$/) {
           @selected_sections = ($ENV{'request.course.sec'});
       }
       return @selected_sections;
   }
   
   #######################################################
   #######################################################
   
   =pod
   
   =item &section_and_enrollment_description
   
   =cut
   
   #######################################################
   #######################################################
   sub section_and_enrollment_description {
       my @sections = &Apache::lonstatistics::get_selected_sections();
       my $description = &mt('Unable to determine section and enrollment');
       if (scalar(@sections) == 1 && $sections[0] ne 'all') {
           $description = &mt('Section [_1]. [_2] enrollment status',
                              $sections[0],$ENV{'form.Status'});
       } elsif (scalar(@sections) && $sections[0] eq 'all') {
           $description = &mt('All sections. [_1] enrollment status',
                              $ENV{'form.Status'});
       } elsif (scalar(@sections)) {
           my $lastsection = pop(@sections);
           $description = &mt('Sections [_1] and [_2]. [_3] enrollment status',
                              join(', ',@sections),$lastsection,
                              $ENV{'form.Status'});
       }
       return $description;
   }
   
 #######################################################  #######################################################
 #######################################################  #######################################################
Line 644  sub map_select { Line 690  sub map_select {
 Returns html for a selection box allowing the user to choose one (or more)   Returns html for a selection box allowing the user to choose one (or more) 
 of the sections in the course.    of the sections in the course.  
   
 Uses the package variables @Sections and @SelectedSections  Uses the package variables @Sections
 =over 4  =over 4
   
 =item $elementname The name of the HTML form element  =item $elementname The name of the HTML form element
Line 681  sub SectionSelect { Line 727  sub SectionSelect {
     # Loop through the sequences      # Loop through the sequences
     foreach my $s (@Sections) {      foreach my $s (@Sections) {
         $Str .= '    <option value="'.$s.'" ';          $Str .= '    <option value="'.$s.'" ';
         foreach (@SelectedSections) {          foreach (&get_selected_sections()) {
             if ($s eq $_) {              if ($s eq $_) {
                 $Str .= 'selected ';                  $Str .= 'selected ';
                 last;                  last;
Line 726  sub DisplayClasslist { Line 772  sub DisplayClasslist {
     my @Fields = ('fullname','username','domain','id','section','status');      my @Fields = ('fullname','username','domain','id','section','status');
     #      #
     $Str = '';      $Str = '';
       my @selected_sections = &get_selected_sections();
     if (! @Students) {      if (! @Students) {
         if ($SelectedSections[0] eq 'all') {           if ($selected_sections[0] eq 'all') { 
             if (lc($ENV{'form.Status'}) eq 'any') {              if (lc($ENV{'form.Status'}) eq 'any') {
                 $Str .= '<h2>'.                  $Str .= '<h2>'.
                     &mt('There are no students in the course.').                      &mt('There are no students in the course.').

Removed from v.1.118  
changed lines
  Added in v.1.119


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