Diff for /loncom/interface/lonstatistics.pm between versions 1.70 and 1.74

version 1.70, 2003/05/13 14:30:26 version 1.74, 2003/06/03 18:10:33
Line 206  upon the calling context. Line 206  upon the calling context.
 #######################################################  #######################################################
 #######################################################  #######################################################
 sub PrepareClasslist {  sub PrepareClasslist {
     my $r = shift;  
     my %Sections;      my %Sections;
     &clear_classlist_variables();      &clear_classlist_variables();
     #      #
Line 301  sub PrepareClasslist { Line 300  sub PrepareClasslist {
     @Students = @TmpStudents;      @Students = @TmpStudents;
     #       # 
     # Now deal with that current student thing....      # Now deal with that current student thing....
     if (exists($ENV{'form.StudentAssessmentStudent'})) {      $curr_student = undef;
       if (exists($ENV{'form.SelectedStudent'})) {
         my ($current_uname,$current_dom) =           my ($current_uname,$current_dom) = 
             split(':',$ENV{'form.StudentAssessmentStudent'});              split(':',$ENV{'form.SelectedStudent'});
         my $i;          my $i;
         for ($i = 0; $i<=$#Students; $i++) {          for ($i = 0; $i<=$#Students; $i++) {
             next if (($Students[$i]->{'username'} ne $current_uname) ||               next if (($Students[$i]->{'username'} ne $current_uname) || 
Line 311  sub PrepareClasslist { Line 311  sub PrepareClasslist {
             $curr_student = $Students[$i];              $curr_student = $Students[$i];
             last; # If we get here, we have our student.              last; # If we get here, we have our student.
         }          }
         if ($i == 0) {          if (defined($curr_student)) {
             $prev_student = 'none';              if ($i == 0) {
         } else {                  $prev_student = undef;
             $prev_student = $Students[$i-1];              } else {
         }                  $prev_student = $Students[$i-1];
         if ($i == $#Students) {              }
             $next_student = 'none';              if ($i == $#Students) {
         } else {                  $next_student = undef;
             $next_student = $Students[$i+1];              } else {
                   $next_student = $Students[$i+1];
               }
         }          }
     }      }
     #      #
Line 330  sub PrepareClasslist { Line 332  sub PrepareClasslist {
             @SelectedStudentData = ($ENV{'form.StudentData'});              @SelectedStudentData = ($ENV{'form.StudentData'});
         }          }
     } else {      } else {
         @SelectedStudentData = ('fullname');          @SelectedStudentData = ('username');
     }      }
     foreach (@SelectedStudentData) {      foreach (@SelectedStudentData) {
         if ($_ eq 'all') {          if ($_ eq 'all') {
Line 342  sub PrepareClasslist { Line 344  sub PrepareClasslist {
     return;      return;
 }  }
   
   
   #######################################################
   #######################################################
   
   =pod
   
   =item get_students
   
   Returns a list of the selected students
   
   =cut
   
   #######################################################
   #######################################################
   sub get_students {
       if (! @Students) {
           &PrepareClasslist()
       }
       return @Students;
   }
   
 #######################################################  #######################################################
 #######################################################  #######################################################
   
Line 357  selected student. Line 380  selected student.
 #######################################################  #######################################################
 #######################################################  #######################################################
 sub current_student {   sub current_student { 
     if (defined($curr_student)) {      return $curr_student;
         return $curr_student;  
     } else {  
         return 'All Students';  
     }  
 }  }
   
 #######################################################  #######################################################
Line 379  in the list of students.  Or something. Line 398  in the list of students.  Or something.
 #######################################################  #######################################################
 #######################################################  #######################################################
 sub previous_student {   sub previous_student { 
     if (defined($prev_student)) {      return $prev_student;
         return $prev_student;  
     } else {  
         return 'No Student Selected';  
     }  
 }  }
   
 #######################################################  #######################################################
Line 401  to be viewed. Line 416  to be viewed.
 #######################################################  #######################################################
 #######################################################  #######################################################
 sub next_student {   sub next_student { 
     if (defined($next_student)) {      return $next_student;
         return $next_student;  
     } else {  
         return 'No Student Selected';  
     }  
 }  }
   
 #######################################################  #######################################################
Line 739  sub MapSelect { Line 750  sub MapSelect {
 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
 =over 4  =over 4
   
 =item $elementname The name of the HTML form element  =item $elementname The name of the HTML form element
Line 747  of the sections in the course. Line 759  of the sections in the course.
   
 =item $numvisible The number of options to be visible  =item $numvisible The number of options to be visible
   
 =item $selected Array ref to the names of the already selected sections.  
 If undef, $ENV{'form.'.$elementname} is used.    
 If $ENV{'form.'.$elementname} is also empty, none will be selected.  
   
 =item $restriction Code reference to subroutine which returns true or   
 false.  The code must expect a reference to a sequence data structure.  
   
 =back  =back
   
 =cut  =cut
Line 766  sub SectionSelect { Line 771  sub SectionSelect {
         return;          return;
     }      }
     #      #
       # Make sure we have the data we need to continue
       if (! @Sections) {
           &PrepareClasslist()
       }
       #
     # Build the form element      # Build the form element
     my $Str = "\n";      my $Str = "\n";
     $Str .= '<select name="'.$elementname.'" ';      $Str .= '<select name="'.$elementname.'" ';
Line 820  sub DisplayClasslist { Line 830  sub DisplayClasslist {
             if ($field eq 'fullname') {              if ($field eq 'fullname') {
                 $Str .= '<a href="/adm/statistics?reportSelected=';                  $Str .= '<a href="/adm/statistics?reportSelected=';
                 $Str .= &Apache::lonnet::escape('student_assessment');                  $Str .= &Apache::lonnet::escape('student_assessment');
                 $Str .= '&StudentAssessmentStudent=';                  $Str .= '&sort='.&Apache::lonnet::escape($ENV{'form.sort'});
                   $Str .= '&SelectedStudent=';
                 $Str .= &Apache::lonnet::escape($sname).'">';                  $Str .= &Apache::lonnet::escape($sname).'">';
                 $Str .= $student->{$field}.'&nbsp';                  $Str .= $student->{$field}.'&nbsp';
                 $Str .= '</a>';                  $Str .= '</a>';
Line 848  sub CreateMainMenu { Line 859  sub CreateMainMenu {
     #      #
     $Str .= '<table border="0"><tbody><tr>'."\n";      $Str .= '<table border="0"><tbody><tr>'."\n";
     $Str .= '<td></td>'."\n";      $Str .= '<td></td>'."\n";
     $Str .= '<td></td>'."\n";  
     $Str .= '<td align="center"><b>Select a Report</b></td>'."\n";      $Str .= '<td align="center"><b>Select a Report</b></td>'."\n";
       $Str .= '<td></td>'."\n";
       $Str .= '<td></td>'."\n";
     $Str .= '<tr>'."\n";      $Str .= '<tr>'."\n";
     #      #
     $Str .= '<td align="center">'.      $Str .= '<td align="center">'.
         '<input type="submit" name="Refresh" value="Update Display" />'.          '<input type="submit" name="Refresh" value="Update Display" />'.
             "</td>\n";              "</td>\n";
     $Str .= '<td align="center">'.  
         '<input type="submit" name="ClearCache" value="Clear Caches" />'.  
             "</td>\n";  
     #      #
     $Str .= '<td align="center">';      $Str .= '<td align="center">';
     $Str .= '<select name="reportSelected" >'."\n";      $Str .= '<select name="reportSelected" >'."\n";
Line 870  sub CreateMainMenu { Line 879  sub CreateMainMenu {
     }      }
     $Str .= '</select></td>'."\n";      $Str .= '</select></td>'."\n";
     #      #
       $Str .= '<td>'.('&nbsp;'x30).'</td>';
       $Str .= '<td align="center">'.
           '<input type="submit" name="ClearCache" value="Clear Caches" />'.
               "</td>\n";
     $Str .= '</tr></tbody></table>'."\n";      $Str .= '</tr></tbody></table>'."\n";
     $Str .= '<hr>'."\n";      $Str .= '<hr>'."\n";
     #      #
Line 921  sub handler { Line 934  sub handler {
     # Extract form elements from query string      # Extract form elements from query string
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
                                             ['sort','reportSelected',                                              ['sort','reportSelected',
                                              'StudentAssessmentStudent']);                                               'SelectedStudent']);
     if (! exists($ENV{'form.reportSelected'})) {      if (! exists($ENV{'form.reportSelected'})) {
         $ENV{'form.reportSelected'} = 'student_assessment';          $ENV{'form.reportSelected'} = 'student_assessment';
     }      }
Line 952  END Line 965  END
     }      }
     #      #
     # Set up the statistics and chart environment      # Set up the statistics and chart environment
     &PrepareClasslist($r);      &PrepareClasslist();
     &PrepareCourseData($r);      &PrepareCourseData($r);
     #      #
     # Begin form output      # Begin form output
Line 963  END Line 976  END
     my %reports = ('classlist'          => 'Class list',      my %reports = ('classlist'          => 'Class list',
                    'problem_statistics' => 'Problem Statistics',                     'problem_statistics' => 'Problem Statistics',
                    'student_assessment' => 'Problem Status Chart',                     'student_assessment' => 'Problem Status Chart',
                    'percentage'         => 'Correct-problems Plot',  #                   'percentage'         => 'Correct-problems Plot',
                    'option_response'    => 'Option Response Analysis',  #                   'option_response'    => 'Option Response Analysis',
 #                   'activitylog'        => 'Activity Log',  #                   'activitylog'        => 'Activity Log',
                    );                     );
     $r->print(&CreateMainMenu($ENV{'form.status'},      $r->print(&CreateMainMenu($ENV{'form.status'},

Removed from v.1.70  
changed lines
  Added in v.1.74


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