Diff for /loncom/interface/statistics/lonstathelpers.pm between versions 1.64 and 1.74

version 1.64, 2011/01/15 23:24:27 version 1.74, 2015/06/09 21:23:02
Line 90  sub render_resource { Line 90  sub render_resource {
     my $rendered_problem = &Apache::lonnet::ssi_body($src.'?symb='.$symb);      my $rendered_problem = &Apache::lonnet::ssi_body($src.'?symb='.$symb);
     $rendered_problem =~ s/<\s*form\s*/<nop /g;      $rendered_problem =~ s/<\s*form\s*/<nop /g;
     $rendered_problem =~ s|(<\s*/form\s*>)|<\/nop>|g;      $rendered_problem =~ s|(<\s*/form\s*>)|<\/nop>|g;
     return '<table bgcolor="ffffff"><tr><td>'.      return '<div class="LC_Box">'.
         '<base href="'.$base.'" />'.          '<h4 class="LC_hcell">'.&mt('Problem').'</h4>'.
         $rendered_problem.          '<base href="'.$base.'" />'.$rendered_problem.
         '</td></tr></table>';          '</div>';
 }  }
   
 ####################################################  ####################################################
Line 135  Skips 'survey' problems. Line 135  Skips 'survey' problems.
 ####################################################  ####################################################
 ####################################################  ####################################################
 sub problem_selector {  sub problem_selector {
     my ($AcceptedResponseTypes,$sequence_addendum,$symbmode) = @_;      my ($AcceptedResponseTypes,$sequence_addendum,$symbmode,$all,$prefix,$smallbox,$onclick) = @_;
   # all: also make sequences selectable
   # prefix: prefix for all form names
   # smallbox: use smaller box
   # onclick: javascript to execute when clicked
     my $Str;      my $Str;
     $Str =  &Apache::loncommon::start_scrollbox('620px','600px','300px').&Apache::loncommon::start_data_table();      my $jsadd='';
       if ($onclick) {
           $jsadd="onclick='$onclick'";
       }
       $Str =  &Apache::loncommon::start_scrollbox(($smallbox?'420px':'620px'),
                                                   ($smallbox?'400px':'600px'),
                                                   ($smallbox?'60px':'300px')).
               &Apache::loncommon::start_data_table();
     my $rb_count =0;      my $rb_count =0;
     my ($navmap,@sequences) =       my ($navmap,@sequences) = 
         &Apache::lonstatistics::selected_sequences_with_assessments('all');          &Apache::lonstatistics::selected_sequences_with_assessments('all');
Line 166  sub problem_selector { Line 177  sub problem_selector {
                         }                          }
                         $seq_str .=  &Apache::loncommon::start_data_table_row().                          $seq_str .=  &Apache::loncommon::start_data_table_row().
                             ($symbmode?                              ($symbmode?
                              '<td><input type="radio" id="'.$rb_count.'" name="symb" value="'.&HTML::Entities::encode($res->symb,'<>&"').'" '.$checked.' /></td>'                               '<td><input type="radio" id="'.$prefix.$rb_count.'" name="'.$prefix.'symb" value="'.&HTML::Entities::encode($res->symb,'<>&"').'" '.$checked.' '.
                                $jsadd.
                                ' /></td>'
                             :qq{<td><input type="radio" id="$rb_count" name="problemchoice" value="$value"$checked /></td>}).                              :qq{<td><input type="radio" id="$rb_count" name="problemchoice" value="$value"$checked /></td>}).
                             '<td><label for="'.$rb_count.'">'.$resptype.'</label></td>'.                              '<td><label for="'.$prefix.$rb_count.'">'.$resptype.'</label></td>'.
                             '<td><label for="'.$rb_count.'">'.$title.'</label>';                              '<td><label for="'.$prefix.$rb_count.'">'.$title.'</label>';
                         if (scalar(@response_ids) > 1) {                          if (scalar(@response_ids) > 1) {
                             $seq_str .= &mt('response').' '.$respid;                              $seq_str .= &mt('response').' '.$respid;
                         }                          }
Line 184  sub problem_selector { Line 197  sub problem_selector {
         }          }
         if ($seq_str ne '') {          if ($seq_str ne '') {
             $Str .= &Apache::loncommon::start_data_table_header_row().              $Str .= &Apache::loncommon::start_data_table_header_row().
                 '<th colspan="3">'.$seq->compTitle.'</th>'.                  '<th colspan="3">'.
                   ($all?'<input type="radio" id="'.$prefix.'s'.$rb_count.'" name="'.$prefix.'symb" value="'.&HTML::Entities::encode($seq->symb,'<>&').'" '.$jsadd.' />':'').
                   $seq->compTitle.'</th>'.
                 &Apache::loncommon::end_data_table_header_row()."\n".$seq_str;                  &Apache::loncommon::end_data_table_header_row()."\n".$seq_str;
             if (defined($sequence_addendum)) {              if (defined($sequence_addendum)) {
                 $Str .= &Apache::loncommon::start_data_table_header_row().                  $Str .= &Apache::loncommon::start_data_table_header_row().
Line 271  END Line 286  END
 END  END
     if (ref($anoncounter) eq 'HASH') {      if (ref($anoncounter) eq 'HASH') {
         if (keys(%{$anoncounter}) > 0) {          if (keys(%{$anoncounter}) > 0) {
             my $anonwarning = &mt('Your selection includes both problems with and without anonymous submissions.').'\n'.&mt('You must select either only anonymous or only named problems.').'\n\n'.&mt('If a selection contains both anonymous and named parts, [_1]use the Anoymous/Named buttons to ensure selections will be either all anonymous [_1]or all named.','\n');              my $anonwarning = &mt('Your selection includes both problems with and without anonymous submissions.')."\n".&mt('You must select either only anonymous or only named problems.')."\n\n".&mt('If a selection contains both anonymous and named parts,[_1]use the Anonymous/Named buttons to ensure selections will be either all anonymous[_1]or all named.',"\n");
               &js_escape(\$anonwarning);
             $checkanonjs = <<"END";              $checkanonjs = <<"END";
   
 <script type="text/javascript" language="JavaScript">  <script type="text/javascript" language="JavaScript">
Line 701  sub GetStudentAnswers { Line 717  sub GetStudentAnswers {
     # Read in the cache (if it exists) before we start timing things.      # Read in the cache (if it exists) before we start timing things.
     &Apache::lonstathelpers::ensure_proper_cache($resource->{'symb'});      &Apache::lonstathelpers::ensure_proper_cache($resource->{'symb'});
     # Open progress window      # Open progress window
     my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin      my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r,scalar(@$Students));
         ($r,'Student Answer Compilation Status',  
          'Student Answer Compilation Progress', scalar(@$Students),  
          $status_type,undef,$formname,$inputname);  
     $r->rflush();      $r->rflush();
     foreach my $student (@$Students) {      foreach my $student (@$Students) {
         last if ($c->aborted());          last if ($c->aborted());
Line 989  prior to every analysis lookup. Line 1002  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 = LONCAPA::tempdir() .
         'problemanalysis_'.$cid.'_analysis_cache.db';          'problemanalysis_'.$cid.'_analysis_cache.db';
     if (! defined($cache_filename) ||      if (! defined($cache_filename) ||
         $cache_filename ne $new_filename ||          $cache_filename ne $new_filename ||
Line 1373  sub limit_by_time_form { Line 1386  sub limit_by_time_form {
     $Str .= '<fieldset>';      $Str .= '<fieldset>';
     my $timecheckbox = '<input type="checkbox" name="limit_by_time" ';      my $timecheckbox = '<input type="checkbox" name="limit_by_time" ';
     if (&limit_by_time()) {      if (&limit_by_time()) {
         $timecheckbox .= ' checked ';          $timecheckbox .= 'checked="checked" ';
     }       } 
     $timecheckbox .= 'OnChange="javascript:toggle_limitby_activity(this.checked);" ';      $timecheckbox .= 'onchange="javascript:toggle_limitby_activity(this.checked);" ';
     $timecheckbox .= ' />';      $timecheckbox .= ' />';
     $Str .= '<legend><label>'.&mt('[_1] Limit by time',$timecheckbox).'</label></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 />';
Line 1477  sub gather_full_student_data { Line 1490  sub gather_full_student_data {
     my @Students = @Apache::lonstatistics::Students;      my @Students = @Apache::lonstatistics::Students;
     #      #
     # Open the progress window      # Open the progress window
     my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin      my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r,scalar(@Students));
         ($r,&mt('Student Data Compilation Status'),  
          &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());

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


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