Diff for /loncom/interface/statistics/lonstathelpers.pm between versions 1.44 and 1.51

version 1.44, 2005/03/14 20:28:22 version 1.51, 2005/11/12 03:58:55
Line 49  routines that are needed across multiple Line 49  routines that are needed across multiple
 package Apache::lonstathelpers;  package Apache::lonstathelpers;
   
 use strict;  use strict;
 use Apache::lonnet();  use Apache::lonnet;
 use Apache::loncommon();  use Apache::loncommon();
 use Apache::lonhtmlcommon();  use Apache::lonhtmlcommon();
 use Apache::loncoursedata();  use Apache::loncoursedata();
Line 132  Skips 'survey' problems. Line 132  Skips 'survey' problems.
 ####################################################  ####################################################
 ####################################################  ####################################################
 sub problem_selector {  sub problem_selector {
     my ($AcceptedResponseTypes) = @_;      my ($AcceptedResponseTypes,$sequence_addendum) = @_;
     my $Str;      my $Str;
     $Str = "\n<table>\n";      $Str = "\n<table>\n";
     my $rb_count =0;      my $rb_count =0;
Line 154  sub problem_selector { Line 154  sub problem_selector {
                                                      respid=>$respid,                                                       respid=>$respid,
                                                      resptype=>$resptype});                                                       resptype=>$resptype});
                         my $checked = '';                          my $checked = '';
                         if ($ENV{'form.problemchoice'} eq $value) {                          if ($env{'form.problemchoice'} eq $value) {
                             $checked = 'checked ';                              $checked = 'checked ';
                         }                          }
                         my $title = $res->compTitle;                          my $title = $res->compTitle;
Line 179  sub problem_selector { Line 179  sub problem_selector {
             }              }
         }          }
         if ($seq_str ne '') {          if ($seq_str ne '') {
             $Str .= '<tr><td>&nbsp</td><td colspan="2"><b>'.$seq->compTitle.'</b></td>'.              $Str .= '<tr><td>&nbsp</td>'.
                   '<td colspan="2"><b>'.$seq->compTitle.'</b></td>'.
                 "</tr>\n".$seq_str;                  "</tr>\n".$seq_str;
               if (defined($sequence_addendum)) {
                   $Str .= '<tr>'.
                       ('<td>&nbsp</td>'x2).
                       '<td align="right">'.$sequence_addendum.'</td>'.
                       "</tr>\n";
               }
         }          }
     }      }
     $Str .= "</table>\n";      $Str .= "</table>\n";
Line 214  and their contents.  A checkbox is provi Line 221  and their contents.  A checkbox is provi
 ####################################################  ####################################################
 sub MultipleProblemSelector {  sub MultipleProblemSelector {
     my ($navmap,$inputname,$formname)=@_;      my ($navmap,$inputname,$formname)=@_;
     my $cid = $ENV{'request.course.id'};      my $cid = $env{'request.course.id'};
     my $Str;      my $Str;
     # Massage the input as needed.      # Massage the input as needed.
     if (! defined($navmap)) {      if (! defined($navmap)) {
Line 255  END Line 262  END
     my $iterator = $navmap->getIterator(undef, undef, undef, 1);      my $iterator = $navmap->getIterator(undef, undef, undef, 1);
     my $sequence_string;      my $sequence_string;
     my $seq_id = 0;      my $seq_id = 0;
     my @Accumulator = (&new_accumulator($ENV{'course.'.$cid.'.description'},      my @Accumulator = (&new_accumulator($env{'course.'.$cid.'.description'},
                                         '',                                          '',
                                         '',                                          '',
                                         $seq_id++,                                          $seq_id++,
Line 338  sub new_accumulator { Line 345  sub new_accumulator {
 sub get_selected_symbs {  sub get_selected_symbs {
     my ($inputfield) = @_;      my ($inputfield) = @_;
     my $field = 'form.'.$inputfield;      my $field = 'form.'.$inputfield;
     my @Symbs;      my @symbs = (map {
     if (exists($ENV{$field})) {                       &Apache::lonnet::unescape($_);
         if (! ref($ENV{$field})) {                       } &Apache::loncommon::get_env_multiple($field));
             @Symbs = (&Apache::lonnet::unescape($ENV{$field}));      return @symbs;
         } else {  
             @Symbs = (map {&Apache::lonnet::unescape($_);} @{$ENV{$field}});  
         }  
     }  
     return @Symbs;  
 }  }
   
 ####################################################  ####################################################
Line 644  sub analyze_problem_as_student { Line 646  sub analyze_problem_as_student {
     my $symb = $resource->{'symb'};      my $symb = $resource->{'symb'};
     my $analysis = &get_from_analysis_cache($sname,$sdom,$symb);      my $analysis = &get_from_analysis_cache($sname,$sdom,$symb);
     if (! defined($analysis)) {      if (! defined($analysis)) {
         my $courseid = $ENV{'request.course.id'};          my $courseid = $env{'request.course.id'};
         my $Answ=&Apache::lonnet::ssi($url,('grade_target' => 'analyze',          my $Answ=&Apache::lonnet::ssi($url,('grade_target' => 'analyze',
                                             'grade_domain' => $sdom,                                              'grade_domain' => $sdom,
                                             'grade_username' => $sname,                                              'grade_username' => $sname,
Line 868  prior to every analysis lookup. Line 870  prior to every analysis lookup.
 #####################################################  #####################################################
 sub ensure_proper_cache {  sub ensure_proper_cache {
     my ($symb) = @_;      my ($symb) = @_;
     my $cid = $ENV{'request.course.id'};      my $cid = $env{'request.course.id'};
     my $new_filename =  '/home/httpd/perl/tmp/'.      my $new_filename =  '/home/httpd/perl/tmp/'.
         'problemanalysis_'.$cid.'_analysis_cache.db';          'problemanalysis_'.$cid.'_analysis_cache.db';
     if (! defined($cache_filename) ||      if (! defined($cache_filename) ||
Line 1133  sub get_problem_data { Line 1135  sub get_problem_data {
                 }                  }
             }              }
             # End of logging code              # End of logging code
             next if ($key !~ /^$part/);              next if ($key !~ /^\Q$part\E/);
             $key =~ s/^$part\.//;              $key =~ s/^\Q$part\E\.//;
             if (ref($value) eq 'ARRAY') {              if (ref($value) eq 'ARRAY') {
                 if ($key eq 'options') {                  if ($key eq 'options') {
                     $Partdata{$part}->{'_Options'}=$value;                      $Partdata{$part}->{'_Options'}=$value;
Line 1257  sub limit_by_time_form { Line 1259  sub limit_by_time_form {
     }       } 
     $timecheckbox .= 'OnChange="javascript:toggle_limitby_activity(this.checked);" ';      $timecheckbox .= 'OnChange="javascript:toggle_limitby_activity(this.checked);" ';
     $timecheckbox .= ' />';      $timecheckbox .= ' />';
     $Str .= '<legend>'.&mt('[_1] Limit by time',$timecheckbox).'</legend>';      $Str .= '<legend><label>'.&mt('[_1] Limit by time',$timecheckbox).'</label></legend>';
     $Str .= &mt('Start Time: [_1]',$startdateform).'<br />';      $Str .= &mt('Start Time: [_1]',$startdateform).'<br />';
     $Str .= &mt('&nbsp;End Time: [_1]',$enddateform).'<br />';      $Str .= &mt('&nbsp;End Time: [_1]',$enddateform).'<br />';
     $Str .= '</fieldset>';      $Str .= '</fieldset>';
Line 1265  sub limit_by_time_form { Line 1267  sub limit_by_time_form {
 }  }
   
 sub limit_by_time {  sub limit_by_time {
     if (exists($ENV{'form.limit_by_time'}) &&      if (exists($env{'form.limit_by_time'}) &&
         $ENV{'form.limit_by_time'} ne '' ) {          $env{'form.limit_by_time'} ne '' ) {
         return 1;          return 1;
     } else {      } else {
         return 0;          return 0;
Line 1281  sub get_time_limits { Line 1283  sub get_time_limits {
     return ($starttime,$endtime);      return ($starttime,$endtime);
 }  }
   
   
   
 ####################################################  
 ####################################################  
   
 =pod  
   
 =item sections_description   
   
 Inputs: @Sections, an array of sections  
   
 Returns: A plaintext description of the sections selected.  
   
 =cut  
   
 ####################################################  
 ####################################################  
 sub sections_description {  
     my @Sections = @_;  
     my $sectionstring = '';  
     if (scalar(@Sections) > 1) {  
         if (scalar(@Sections) > 2) {  
             my $last = pop(@Sections);  
             $sectionstring = "Sections ".join(', ',@Sections).', and '.$last;  
         } else {  
             $sectionstring = "Sections ".join(' and ',@Sections);  
         }  
     } else {  
         if ($Sections[0] eq 'all') {  
             $sectionstring = "All sections";  
         } else {  
             $sectionstring = "Section ".$Sections[0];  
         }  
     }  
     return $sectionstring;  
 }  
   
 ####################################################  ####################################################
 ####################################################  ####################################################
   
Line 1343  sub manage_caches { Line 1308  sub manage_caches {
                  } sort(&Apache::lonstatistics::get_selected_sections())                   } sort(&Apache::lonstatistics::get_selected_sections())
              );               );
     my $statuskey = $Apache::lonstatistics::enrollment_status;      my $statuskey = $Apache::lonstatistics::enrollment_status;
     if (exists($ENV{'form.ClearCache'}) ||       if (exists($env{'form.ClearCache'}) || 
         exists($ENV{'form.updatecaches'}) ||           exists($env{'form.updatecaches'}) || 
         (exists($ENV{'form.firstrun'}) && $ENV{'form.firstrun'} ne 'no') ||          (exists($env{'form.firstrun'}) && $env{'form.firstrun'} ne 'no') ||
         (exists($ENV{'form.prevsection'}) &&          (exists($env{'form.prevsection'}) &&
             $ENV{'form.prevsection'} ne $sectionkey) ||              $env{'form.prevsection'} ne $sectionkey) ||
         (exists($ENV{'form.prevenrollstatus'}) &&          (exists($env{'form.prevenrollstatus'}) &&
             $ENV{'form.prevenrollstatus'} ne $statuskey)              $env{'form.prevenrollstatus'} ne $statuskey)
         ) {          ) {
         if (defined($update_message)) {          if (defined($update_message)) {
             $r->print($update_message);              $r->print($update_message);
Line 1370  sub manage_caches { Line 1335  sub manage_caches {
          '<input type="hidden" name="prevenrollstatus" value="'.$statuskey.'" />'           '<input type="hidden" name="prevenrollstatus" value="'.$statuskey.'" />'
          );           );
     #      #
     if (! exists($ENV{'form.firstrun'})) {      if (! exists($env{'form.firstrun'})) {
         $r->print('<input type="hidden" name="firstrun" value="yes" />');          $r->print('<input type="hidden" name="firstrun" value="yes" />');
     } else {      } else {
         $r->print('<input type="hidden" name="firstrun" value="no" />');          $r->print('<input type="hidden" name="firstrun" value="no" />');
Line 1403  sub gather_full_student_data { Line 1368  sub gather_full_student_data {
         return if ($c->aborted());          return if ($c->aborted());
         my $status = &Apache::loncoursedata::ensure_current_full_data          my $status = &Apache::loncoursedata::ensure_current_full_data
             ($student->{'username'},$student->{'domain'},              ($student->{'username'},$student->{'domain'},
              $ENV{'request.course.id'});               $env{'request.course.id'});
         &Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state,          &Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state,
                                                  &mt('last student'));                                                   &mt('last student'));
     }      }
Line 1450  sub submission_report_form { Line 1415  sub submission_report_form {
     my $output_selector = $/.'<select name="output">'.$/;      my $output_selector = $/.'<select name="output">'.$/;
     foreach ('HTML','Excel','CSV') {      foreach ('HTML','Excel','CSV') {
         $output_selector .= '    <option value="'.lc($_).'"';          $output_selector .= '    <option value="'.lc($_).'"';
         if ($ENV{'form.output'} eq lc($_)) {          if ($env{'form.output'} eq lc($_)) {
             $output_selector .= ' selected ';              $output_selector .= ' selected ';
         }          }
         $output_selector .='>'.&mt($_).'</option>'.$/;          $output_selector .='>'.&mt($_).'</option>'.$/;

Removed from v.1.44  
changed lines
  Added in v.1.51


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