Diff for /loncom/interface/statistics/lonsubmissiontimeanalysis.pm between versions 1.33 and 1.37

version 1.33, 2011/12/21 21:25:51 version 1.37, 2020/11/10 19:28:32
Line 75  sub BuildSubmissionTimePage { Line 75  sub BuildSubmissionTimePage {
     #      #
     if (@Students < 1) {      if (@Students < 1) {
         $r->print('<div class="LC_warning">'          $r->print('<div class="LC_warning">'
                  .&mt('There are no students in the sections selected.'                   .&mt('There are no students in the sections selected.')
                  .'</div>')                   .'</div>'
         );          );
     }      }
     #      #
Line 105  sub BuildSubmissionTimePage { Line 105  sub BuildSubmissionTimePage {
         $r->rflush();          $r->rflush();
         #          #
         # Determine which problem we are to analyze          # Determine which problem we are to analyze
         my $current_problem = &Apache::lonstathelpers::get_target_from_id          my ($navmap,$current_problem) = &get_current_problem(); # need to retrieve $navmap
             ($env{'form.problemchoice'});                                                                  # to support $resource->* calls
         #                                                                  # for src and compTitle (below)
         my ($navmap,$prev,$curr,$next) =   
             &Apache::lonstathelpers::get_prev_curr_next($current_problem,  
                                                         '.',  
                                                         'part');  
         if (exists($env{'form.PrevProblemAnalysis'}) && defined($prev)) {  
             $current_problem = $prev;  
         } elsif (exists($env{'form.NextProblemAnalysis'}) && defined($next)) {  
             $current_problem = $next;  
         } else {  
             $current_problem = $curr;  
         }  
         #          #
         # Store the current problem choice and send it out in the form          # Store the current problem choice and send it out in the form
         $env{'form.problemchoice'} =           $env{'form.problemchoice'} = 
Line 138  sub BuildSubmissionTimePage { Line 127  sub BuildSubmissionTimePage {
         } else {          } else {
             $r->print('<h1>'.$resource->compTitle.'</h1>');              $r->print('<h1>'.$resource->compTitle.'</h1>');
             $r->print('<h3>'.$resource->src.'</h3>');              $r->print('<h3>'.$resource->src.'</h3>');
             $r->print('<h4>'.              $r->print('<p>'.
                  &Apache::lonstatistics::section_and_enrollment_description().                   &Apache::lonstatistics::section_and_enrollment_description().
                       '</h4>');                        '</p>');
             $r->rflush();              $r->rflush();
             $r->print('<hr />');  
             $r->print(&Apache::lonstathelpers::render_resource($resource));              $r->print(&Apache::lonstathelpers::render_resource($resource));
             $r->print('<hr /><br />');              $r->print('<br />');
             $r->rflush();              $r->rflush();
     if (@Students) {          if (@Students) {    
  $r->print(&analyze_times($r,$resource->symb,\@Students,   $r->print(&analyze_times($r,$resource->symb,\@Students,
Line 155  sub BuildSubmissionTimePage { Line 143  sub BuildSubmissionTimePage {
     }      }
 }  }
   
   sub get_current_problem {
       my $current_problem = &Apache::lonstathelpers::get_target_from_id
           ($env{'form.problemchoice'});
       my ($navmap,$prev,$curr,$next) =
           &Apache::lonstathelpers::get_prev_curr_next($current_problem,
                                                       '.',
                                                       'part');
       if (exists($env{'form.PrevProblemAnalysis'}) && defined($prev)) {
           $current_problem = $prev;
       } elsif (exists($env{'form.NextProblemAnalysis'}) && defined($next)) {
           $current_problem = $next;
       } else {
           $current_problem = $curr;
       }
       return ($navmap,$current_problem);
   }
   
 #########################################################  #########################################################
 #########################################################  #########################################################
 ##  ##
Line 277  sub analyze_times { Line 282  sub analyze_times {
     }      }
     #      #
     # Build the data table      # Build the data table
     $htmltable = '<p>'.      $htmltable = '<br><h3>'.&mt('Student submission data').'</h3><p>'.
         '<table rules="groups" frame="border" '.          &Apache::loncommon::start_data_table().
         'summary="Student submission data">'.          &Apache::loncommon::start_data_table_header_row().
         '<thead>'.          &Apache::loncommon::start_data_table_row().
         '<tr>'.  
         '<th valign="bottom">'.&mt('Begin').'</th>'.          '<th valign="bottom">'.&mt('Begin').'</th>'.
         '<th>'.('&nbsp;'x3).'</th>'.  
         '<th valign="bottom">'.&mt('End').'</th>'.          '<th valign="bottom">'.&mt('End').'</th>'.
         '<th valign="bottom">'.&mt('Submissions (plotted)').'</th>'.          '<th valign="bottom">'.&mt('Submissions (plotted)').'</th>'.
         '<th>'.('&nbsp;'x3).'</th>'.  
         '<th valign="bottom">'.&mt('Correct Submissions (not plotted)').'</th>'.          '<th valign="bottom">'.&mt('Correct Submissions (not plotted)').'</th>'.
         '<th>'.('&nbsp;'x3).'</th>'.  
         '<th valign="bottom">'.&mt('Cumulative Correct of those attempting the problem (not plotted)').'</th>'.          '<th valign="bottom">'.&mt('Cumulative Correct of those attempting the problem (not plotted)').'</th>'.
         '<th>'.('&nbsp;'x3).'</th>'.  
         '<th valign="bottom">'.&mt('Cumulative Percent Correct of those attempting the problem (not plotted)').'</th>'.          '<th valign="bottom">'.&mt('Cumulative Percent Correct of those attempting the problem (not plotted)').'</th>'.
         '<th>'.('&nbsp;'x3).'</th>'.  
         '<th valign="bottom">'.&mt('Cumulative Percent Correct of selected students (plotted)').'</th>'.          '<th valign="bottom">'.&mt('Cumulative Percent Correct of selected students (plotted)').'</th>'.
         '</tr>'.          &Apache::loncommon::end_data_table_row().
         '</thead>'.          &Apache::loncommon::end_data_table_header_row().
         '<tbody>';          '<tbody>';
     my @CumulativeCorrect=(0);      my @CumulativeCorrect=(0);
     my @corr_as_percent_of_selected;      my @corr_as_percent_of_selected;
Line 308  sub analyze_times { Line 307  sub analyze_times {
             sprintf('%3.1f',100*$CumulativeCorrect[$i]/scalar(@$students));              sprintf('%3.1f',100*$CumulativeCorrect[$i]/scalar(@$students));
         if ($Ydata[$i] != 0) {          if ($Ydata[$i] != 0) {
             next if (! defined($BinEnd[$i]) || $BinEnd[$i] == 0);              next if (! defined($BinEnd[$i]) || $BinEnd[$i] == 0);
             $htmltable .=               $htmltable .=
                 '<tr>'.                 &Apache::loncommon::start_data_table_row().
                 '<td align="right"><span class="LC_nobreak">'.                  '<td align="right"><span class="LC_nobreak">'.
                 &Apache::lonlocal::locallocaltime($BinEnd[$i]-$binsize).                  &Apache::lonlocal::locallocaltime($BinEnd[$i]-$binsize).
                 '</span></td>'.                  '</span></td>'.
                 '<td>&nbsp;</td>'.  
                 '<td align="right"><span class="LC_nobreak">'.                  '<td align="right"><span class="LC_nobreak">'.
                     &Apache::lonlocal::locallocaltime($BinEnd[$i]).'</td>'.                      &Apache::lonlocal::locallocaltime($BinEnd[$i]).'</td>'.
                 '</span></td>'.                  '</span></td>'.
                 '<td align="right">'.$Ydata[$i].('&nbsp;'x3).'</td>'.                  '<td align="right">'.$Ydata[$i].('&nbsp;'x3).'</td>'.
                 '<td>&nbsp;</td>'.  
                 '<td align="right">'.$AnsData[$i].('&nbsp;'x3).'</td>'.                  '<td align="right">'.$AnsData[$i].('&nbsp;'x3).'</td>'.
                 '<td>&nbsp;</td>'.  
                 '<td align="right">'.$CumulativeCorrect[$i].'</td>'.                  '<td align="right">'.$CumulativeCorrect[$i].'</td>'.
                 '<td>&nbsp;</td>'.  
                 '<td align="right">'.$corr_as_percent_of_answering[$i].'</td>'.                  '<td align="right">'.$corr_as_percent_of_answering[$i].'</td>'.
                 '<td>&nbsp;</td>'.  
                 '<td align="right">'.$corr_as_percent_of_selected[$i].'</td>'.                  '<td align="right">'.$corr_as_percent_of_selected[$i].'</td>'.
                 '</tr>'.$/;                 &Apache::loncommon::end_data_table_row().$/;
         }          }
     }      }
     $htmltable .= '</tbody></table></p>';      $htmltable .= '</tbody>'.&Apache::loncommon::end_data_table().'</p>';
     #      #
     # Build the plot      # Build the plot
     my $title = '';#'Number of Submissions and Number Correct';      my $title = '';#'Number of Submissions and Number Correct';

Removed from v.1.33  
changed lines
  Added in v.1.37


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