Diff for /loncom/interface/lonstatistics.pm between versions 1.96 and 1.103

version 1.96, 2004/02/12 22:23:30 version 1.103, 2004/06/04 21:42:18
Line 65  use Apache::lonhomework; Line 65  use Apache::lonhomework;
 use Apache::loncommon;  use Apache::loncommon;
 use Apache::loncoursedata;  use Apache::loncoursedata;
 use Apache::lonhtmlcommon;  use Apache::lonhtmlcommon;
   use Apache::lonmysql;
   use Apache::lonlocal;
   use Time::HiRes;
   #
   # Statistics Packages
 use Apache::lonproblemanalysis();  use Apache::lonproblemanalysis();
 use Apache::lonsubmissiontimeanalysis();  use Apache::lonsubmissiontimeanalysis();
 use Apache::loncorrectproblemplot();  use Apache::loncorrectproblemplot();
 use Apache::lonproblemstatistics();  use Apache::lonproblemstatistics();
 use Apache::lonstudentassessment();  use Apache::lonstudentassessment();
 use Apache::lonpercentage;  use Apache::lonpercentage;
 use Apache::lonmysql;  use Apache::lonstudentsubmissions();
 use Apache::lonlocal;  
 use Time::HiRes;  
   
 #######################################################  #######################################################
 #######################################################  #######################################################
Line 468  assessments. Line 471  assessments.
 #######################################################  #######################################################
 #######################################################  #######################################################
 sub Sequences_with_Assess {  sub Sequences_with_Assess {
       my ($mode) = @_;
       $mode = 'selected' if (! defined($mode));
     my @Sequences_to_Show;      my @Sequences_to_Show;
     foreach my $map_symb (@SelectedMaps) {      foreach my $sequence (@Sequences) {
         foreach my $sequence (@Sequences) {          next if ($sequence->{'num_assess'} < 1);
             next if ($sequence->{'symb'} ne $map_symb && $map_symb ne 'all');          if ($mode eq 'all') {
             next if ($sequence->{'num_assess'} < 1);  
             push (@Sequences_to_Show,$sequence);              push (@Sequences_to_Show,$sequence);
           } elsif ($mode eq 'selected') {
               foreach my $map_symb (@SelectedMaps) {
                   if ($sequence->{'symb'} eq $map_symb || $map_symb eq 'all'){
                       push (@Sequences_to_Show,$sequence);
                       last; # Only put it in once
                   }
               }
         }          }
   
     }      }
     return @Sequences_to_Show;      return @Sequences_to_Show;
 }  }
Line 893  Ensures all student data is up to date. Line 905  Ensures all student data is up to date.
 ###############################################  ###############################################
 ###############################################  ###############################################
 sub Gather_Full_Student_Data {  sub Gather_Full_Student_Data {
     my ($r) = @_;      my ($r,$formname,$inputname) = @_;
       my $status_type;
       if (defined($formname)) {
           $status_type = 'inline';
       } else {
           $status_type = 'popup';
       }
     my $c = $r->connection();      my $c = $r->connection();
     #      #
     &Apache::loncoursedata::clear_internal_caches();      &Apache::loncoursedata::clear_internal_caches();
Line 903  sub Gather_Full_Student_Data { Line 921  sub Gather_Full_Student_Data {
     # Open the progress window      # Open the progress window
     my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin      my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin
         ($r,&mt('Student Data Compilation Status'),          ($r,&mt('Student Data Compilation Status'),
          &mt('Student Data Compilation Progress'), scalar(@Students));           &mt('Student Data Compilation Progress'), scalar(@Students),
            $status_type,undef,$formname,$inputname);
     #      #
     while (my $student = shift @Students) {      while (my $student = shift @Students) {
         return if ($c->aborted());          return if ($c->aborted());
Line 968  sub DisplayClasslist { Line 987  sub DisplayClasslist {
     $Str .= '<table border="0"><tr><td bgcolor="#777777">'."\n";      $Str .= '<table border="0"><tr><td bgcolor="#777777">'."\n";
     $Str .= '<table border="0" cellpadding="3"><tr bgcolor="#e6ffff">'."\n";      $Str .= '<table border="0" cellpadding="3"><tr bgcolor="#e6ffff">'."\n";
     foreach my $field (@Fields) {      foreach my $field (@Fields) {
         $Str .= '<th><a href="/adm/statistics?reportSelected=classlist&sort='.$field.'">'.$field.          $Str .= '<th><a href="/adm/statistics?'.
               'reportSelected=student_assessment&'.
               'selectstudent=1&'.
               'sort='.$field.'">'.$field.
             '</a></th>';              '</a></th>';
     }      }
     $Str .= '</tr>'."\n";      $Str .= '</tr>'."\n";
Line 1028  sub CreateMainMenu { Line 1050  sub CreateMainMenu {
                      short_description =>                        short_description => 
     &mt('Display and analysis of submission times on assessments.'),      &mt('Display and analysis of submission times on assessments.'),
                  },                   },
                      { internal_name => 'student_submission_reports',
                        name => &mt('Student Submission Reports'),
                        short_description => 
       &mt('Prepare Excel spreadsheets of student submissions.'),
                    },
                    { internal_name => 'correct_problems_plot',                     { internal_name => 'correct_problems_plot',
                      name => &mt('Correct Problems Plot'),                       name => &mt('Correct Problems Plot'),
                      short_description =>                        short_description => 
Line 1044  sub CreateMainMenu { Line 1071  sub CreateMainMenu {
     #      #
     # Create the menu      # Create the menu
     my $Str;      my $Str;
     $Str .= '<h1>'.&mt('Please select a report to generate').'</h1>';      $Str .= '<h2>'.&mt('Please select a report to generate').'</h2>';
     foreach my $reportdata (@reports) {      foreach my $reportdata (@reports) {
         $Str .='    <h3><a href="/adm/statistics?reportSelected='.          $Str .='    <h3><a href="/adm/statistics?reportSelected='.
             $reportdata->{'internal_name'}.'" >'.              $reportdata->{'internal_name'}.'" >'.
Line 1098  sub handler { Line 1125  sub handler {
     $r->print('<html><head><title>'.      $r->print('<html><head><title>'.
               &mt('Course Statistics and Charts').                &mt('Course Statistics and Charts').
               "</title></head>\n".                "</title></head>\n".
               &Apache::loncommon::bodytag('Course Statistics and Charts')."\n".                &Apache::loncommon::bodytag('Course Statistics and Charts'));
       &Apache::loncommon::help_open_faq(139).  
       &Apache::loncommon::help_open_bug('Statistics and Charts'));  
     $r->rflush();      $r->rflush();
     #       # 
     # Either print out a menu for them or send them to a report      # Either print out a menu for them or send them to a report
       &Apache::lonhtmlcommon::clear_breadcrumbs();
       &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/statistics',
                                               title=>'Statistics',
                                               text =>'Statistics',
                                               faq=>139,
                                               bug=>'Statistics and Charts'});
     if (! exists($ENV{'form.reportSelected'}) ||       if (! exists($ENV{'form.reportSelected'}) || 
         $ENV{'form.reportSelected'} eq '') {          $ENV{'form.reportSelected'} eq '') {
         $r->print(&CreateMainMenu());          $r->print(&Apache::lonhtmlcommon::breadcrumbs
                     (undef,&mt('Statistics Main Page')).
                     &CreateMainMenu());
     } else {      } else {
     #      #
         if (! &Apache::lonmysql::verify_sql_connection()) {          if (! &Apache::lonmysql::verify_sql_connection()) {
Line 1146  sub handler { Line 1179  sub handler {
         if($GoToPage eq 'activitylog') {          if($GoToPage eq 'activitylog') {
 #        &Apache::lonproblemstatistics::Activity();  #        &Apache::lonproblemstatistics::Activity();
         } elsif($GoToPage eq 'problem_statistics') {          } elsif($GoToPage eq 'problem_statistics') {
               &Apache::lonhtmlcommon::add_breadcrumb
                   ({href=>'/adm/statistics?reportselected=problem_statistics',
                     text=>'Overall Problem Statistics'});
             &Apache::lonproblemstatistics::BuildProblemStatisticsPage($r,$c);              &Apache::lonproblemstatistics::BuildProblemStatisticsPage($r,$c);
         } elsif($GoToPage eq 'problem_analysis') {          } elsif($GoToPage eq 'problem_analysis') {
               &Apache::lonhtmlcommon::add_breadcrumb
                   ({href=>'/adm/statistics?reportselected=problem_analysis',
                     text=>'Detailed Problem Analysis'});
             &Apache::lonproblemanalysis::BuildProblemAnalysisPage($r,$c);              &Apache::lonproblemanalysis::BuildProblemAnalysisPage($r,$c);
         } elsif($GoToPage eq 'submissiontime_analysis') {          } elsif($GoToPage eq 'submissiontime_analysis') {
               &Apache::lonhtmlcommon::add_breadcrumb
                   ({href=>
                         '/adm/statistics?reportselected=submissiontime_analysis',
                         text=>'Submission Time Plots'});
             &Apache::lonsubmissiontimeanalysis::BuildSubmissionTimePage($r,$c);              &Apache::lonsubmissiontimeanalysis::BuildSubmissionTimePage($r,$c);
           } elsif($GoToPage eq 'student_submission_reports') {
               &Apache::lonhtmlcommon::add_breadcrumb
                   ({href=>
                     '/adm/statistics?reportselected=student_submission_reports',
                     text=>'Student Submission Reports'});
               &Apache::lonstudentsubmissions::BuildStudentSubmissionsPage($r,$c);
         } elsif($GoToPage eq 'correct_problems_plot') {          } elsif($GoToPage eq 'correct_problems_plot') {
               &Apache::lonhtmlcommon::add_breadcrumb
                   ({href=>'/adm/statistics?reportselected=correct_problems_plot',
                     text=>'Correct Problems Plot'});
             &Apache::loncorrectproblemplot::BuildCorrectProblemsPage($r,$c);              &Apache::loncorrectproblemplot::BuildCorrectProblemsPage($r,$c);
         } elsif($GoToPage eq 'student_assessment') {          } elsif($GoToPage eq 'student_assessment') {
               &Apache::lonhtmlcommon::clear_breadcrumbs();
               &Apache::lonhtmlcommon::add_breadcrumb
                   ({href=>'/adm/statistics?reportselected=student_assessment',
                     text=>'Chart'});
             &Apache::lonstudentassessment::BuildStudentAssessmentPage($r,$c);              &Apache::lonstudentassessment::BuildStudentAssessmentPage($r,$c);
         } elsif($GoToPage eq 'DoDiffGraph' || $GoToPage eq 'PercentWrongGraph') {  
 #        &Apache::lonproblemstatistics::BuildGraphicChart($r,$c);  
         } elsif($GoToPage eq 'Correct-problems Plot') {  
             # &Apache::lonpercentage::BuildPercentageGraph($r,$c);  
         }          }
         #          #
         $r->print("</form>\n");          $r->print("</form>\n");

Removed from v.1.96  
changed lines
  Added in v.1.103


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