Diff for /loncom/interface/lontrackstudent.pm between versions 1.15 and 1.16

version 1.15, 2005/04/07 06:56:23 version 1.16, 2005/06/30 17:56:28
Line 49  use Apache::lonnet; Line 49  use Apache::lonnet;
 use Apache::lonlocal;  use Apache::lonlocal;
 use Time::HiRes;  use Time::HiRes;
   
   my $num_records=500;
   
 sub get_data {  sub get_data {
     my ($r,$prog_state,$navmap,$mode) = @_;      my ($r,$prog_state,$navmap,$mode) = @_;
     ##      ##
Line 107  sub get_data { Line 109  sub get_data {
         ($r,$prog_state,&mt('Parsing results'));          ($r,$prog_state,&mt('Parsing results'));
     #      #
     &output_results($r,$results_file,$navmap,$mode);      &output_results($r,$results_file,$navmap,$mode);
       my ($sname,$sdom) = ($mode=~/^student:(.*):(.*)$/);
       $r->print(&Apache::loncommon::track_student_link(
     'View more activity by this student',
     $sname,$sdom,undef,
     ($env{'form.start'}+$num_records)));
   
     &Apache::lonhtmlcommon::Update_PrgWin($r,$prog_state,&mt('Finished!'));      &Apache::lonhtmlcommon::Update_PrgWin($r,$prog_state,&mt('Finished!'));
     return;      return;
 }  }
Line 188  sub build_query { Line 196  sub build_query {
     my $home = $env{'course.'.$cid.'.home'};      my $home = $env{'course.'.$cid.'.home'};
     my $course = $env{'course.'.$cid.'.num'};      my $course = $env{'course.'.$cid.'.num'};
     my $prefix = $course.'_'.$domain.'_';      my $prefix = $course.'_'.$domain.'_';
       my $start = ($env{'form.start'}+0);
     #      #
     my %table = &table_names();      my %table = &table_names();
     #      #
Line 200  sub build_query { Line 209  sub build_query {
             LEFT JOIN $table{'student'}  AS C ON C.student_id=A.student_id               LEFT JOIN $table{'student'}  AS C ON C.student_id=A.student_id 
             LEFT JOIN $table{'machine'}  AS E ON E.machine_id=A.machine_id              LEFT JOIN $table{'machine'}  AS E ON E.machine_id=A.machine_id
             ORDER BY A.time DESC              ORDER BY A.time DESC
             LIMIT 500              LIMIT $start, $num_records
         };          };
     } elsif ($mode =~ /^student:(.*):(.*)$/) {      } elsif ($mode =~ /^student:(.*):(.*)$/) {
         my $student = $1.':'.$2;          my $student = $1.':'.$2;
Line 212  sub build_query { Line 221  sub build_query {
                 LEFT JOIN $table{'machine'}  AS E ON E.machine_id=A.machine_id                  LEFT JOIN $table{'machine'}  AS E ON E.machine_id=A.machine_id
                 WHERE C.student='$student'                  WHERE C.student='$student'
                 ORDER BY A.time DESC                  ORDER BY A.time DESC
                 LIMIT 500                  LIMIT $start, $num_records
             };              };
     }      }
     $query =~ s|$/||g;      $query =~ s|$/||g;
Line 262  sub output_results { Line 271  sub output_results {
             '<th align="left">'.&mt('Data').'</th>'.              '<th align="left">'.&mt('Data').'</th>'.
             '</tr>'.$/;              '</tr>'.$/;
     }      }
     my $count = -1;      my $count = $env{'form.start'}-1;
     $r->rflush();      $r->rflush();
     ##      ##
     ##      ##
Line 336  sub output_results { Line 345  sub output_results {
  $values = &display_values($action,$values);   $values = &display_values($action,$values);
         #          #
         # Build the row for output          # Build the row for output
         my $tablerow = qq{<tr class="$class">};          my $tablerow = qq{<tr class="$class"><td>}.($count+1).qq{</td>};
         if ($src =~ m|^/adm/|) {          if ($src =~ m|^/adm/|) {
             $tablerow .=               $tablerow .= 
                 '<td valign="top"><nobr>'.$title.'</nobr></td>';                  '<td valign="top"><nobr>'.$title.'</nobr></td>';
Line 357  sub output_results { Line 366  sub output_results {
             '</tr>';              '</tr>';
         $r->print($tablerow.$/);          $r->print($tablerow.$/);
     }      }
     $r->print('</table>'.$/) if (! $count % 50);      $r->print('</table>'.$/);### if (! $count % 50);
     close(ACTIVITYDATA);      close(ACTIVITYDATA);
     return;      return;
 }  }
Line 488  sub handler { Line 497  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'},
                                             ['selected_student']);                                              ['selected_student','start']);
     #      #
     # We will almost always need this...      # We will almost always need this...
     my $navmap = Apache::lonnavmaps::navmap->new();      my $navmap = Apache::lonnavmaps::navmap->new();

Removed from v.1.15  
changed lines
  Added in v.1.16


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