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

version 1.14, 2005/02/17 08:29:43 version 1.15, 2005/04/07 06:56:23
Line 45  package Apache::lontrackstudent; Line 45  package Apache::lontrackstudent;
 use strict;  use strict;
 use Apache::Constants qw(:common :http);  use Apache::Constants qw(:common :http);
 use Apache::lonmysql;  use Apache::lonmysql;
 use Apache::lonnet();  use Apache::lonnet;
 use Apache::lonlocal;  use Apache::lonlocal;
 use Time::HiRes;  use Time::HiRes;
   
Line 72  sub get_data { Line 72  sub get_data {
     my $query = &build_query($mode);      my $query = &build_query($mode);
     ##      ##
     ## Send it along      ## Send it along
     my $home = $ENV{'course.'.$ENV{'request.course.id'}.'.home'};      my $home = $env{'course.'.$env{'request.course.id'}.'.home'};
     my $reply=&Apache::lonnet::metadata_query($query,undef,undef,[$home]);      my $reply=&Apache::lonnet::metadata_query($query,undef,undef,[$home]);
     if (ref($reply) ne 'HASH') {      if (ref($reply) ne 'HASH') {
         $r->print('<h2>'.          $r->print('<h2>'.
Line 112  sub get_data { Line 112  sub get_data {
 }  }
   
 sub table_names {  sub table_names {
     my $cid = $ENV{'request.course.id'};      my $cid = $env{'request.course.id'};
     my $domain = $ENV{'course.'.$cid.'.domain'};      my $domain = $env{'course.'.$cid.'.domain'};
     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 %tables =       my %tables = 
Line 132  sub get_max_time_in_db { Line 132  sub get_max_time_in_db {
     my %table = &table_names();      my %table = &table_names();
     my $query = qq{SELECT MAX(time) FROM $table{'activity'} };      my $query = qq{SELECT MAX(time) FROM $table{'activity'} };
     #      #
     my $home = $ENV{'course.'.$ENV{'request.course.id'}.'.home'};      my $home = $env{'course.'.$env{'request.course.id'}.'.home'};
     my $reply=&Apache::lonnet::metadata_query($query,undef,undef,[$home]);      my $reply=&Apache::lonnet::metadata_query($query,undef,undef,[$home]);
     if (ref($reply) ne 'HASH') {      if (ref($reply) ne 'HASH') {
         return undef;          return undef;
Line 183  sub get_max_time_in_db { Line 183  sub get_max_time_in_db {
   
 sub build_query {  sub build_query {
     my ($mode) = @_;      my ($mode) = @_;
     my $cid = $ENV{'request.course.id'};      my $cid = $env{'request.course.id'};
     my $domain = $ENV{'course.'.$cid.'.domain'};      my $domain = $env{'course.'.$cid.'.domain'};
     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 %table = &table_names();      my %table = &table_names();
Line 394  sub display_values { Line 394  sub display_values {
 ###################################################################  ###################################################################
 sub request_data_update {  sub request_data_update {
     my $command = 'prepare activity log';      my $command = 'prepare activity log';
     my $cid = $ENV{'request.course.id'};      my $cid = $env{'request.course.id'};
     my $domain = $ENV{'course.'.$cid.'.domain'};      my $domain = $env{'course.'.$cid.'.domain'};
     my $home = $ENV{'course.'.$cid.'.home'};      my $home = $env{'course.'.$cid.'.home'};
     my $course = $ENV{'course.'.$cid.'.num'};      my $course = $env{'course.'.$cid.'.num'};
 #    &Apache::lonnet::logthis($command.' '.$course.' '.$domain.' '.$home);  #    &Apache::lonnet::logthis($command.' '.$course.' '.$domain.' '.$home);
     my $result = &Apache::lonnet::metadata_query($command,$course,$domain,      my $result = &Apache::lonnet::metadata_query($command,$course,$domain,
                                                  [$home]);                                                   [$home]);
Line 463  sub handler { Line 463  sub handler {
     $loaderror=      $loaderror=
         &Apache::lonnet::overloaderror          &Apache::lonnet::overloaderror
         ($r,          ($r,
          $ENV{'course.'.$ENV{'request.course.id'}.'.home'});           $env{'course.'.$env{'request.course.id'}.'.home'});
     if ($loaderror) { return $loaderror; }      if ($loaderror) { return $loaderror; }
     #      #
     # Check for access      # Check for access
     if (! &Apache::lonnet::allowed('vsa',$ENV{'request.course.id'})) {      if (! &Apache::lonnet::allowed('vsa',$env{'request.course.id'})) {
         $ENV{'user.error.msg'}=          $env{'user.error.msg'}=
             $r->uri.":vsa:0:0:Cannot student activity for complete course";              $r->uri.":vsa:0:0:Cannot student activity for complete course";
         if (!           if (! 
             &Apache::lonnet::allowed('vsa',              &Apache::lonnet::allowed('vsa',
                                      $ENV{'request.course.id'}.'/'.                                       $env{'request.course.id'}.'/'.
                                      $ENV{'request.course.sec'})) {                                       $env{'request.course.sec'})) {
             $ENV{'user.error.msg'}=              $env{'user.error.msg'}=
                 $r->uri.":vsa:0:0:Cannot view student activity with given role";                  $r->uri.":vsa:0:0:Cannot view student activity with given role";
             return HTTP_NOT_ACCEPTABLE;              return HTTP_NOT_ACCEPTABLE;
         }          }
Line 526  sub handler { Line 526  sub handler {
     #      #
     my $result = &request_data_update();      my $result = &request_data_update();
     #      #
     if (exists($ENV{'form.selected_student'})) {      if (exists($env{'form.selected_student'})) {
         # For now, just show all the data, in the future allow selection of          # For now, just show all the data, in the future allow selection of
         # a student          # a student
         my ($sname,$sdom) = split(':',$ENV{'form.selected_student'});          my ($sname,$sdom) = split(':',$env{'form.selected_student'});
         if ($sname =~ /^\w*$/ && $sdom =~ /^\w*$/) {          if ($sname =~ /^\w*$/ && $sdom =~ /^\w*$/) {
             $r->print('<h2>'.              $r->print('<h2>'.
                       &mt('Recent activity of [_1]@[_2]',$sname,$sdom).                        &mt('Recent activity of [_1]@[_2]',$sname,$sdom).
Line 539  Compiling student activity data can take Line 539  Compiling student activity data can take
 It may be necessary to reload this page to get the most current information.  It may be necessary to reload this page to get the most current information.
 END  END
             &get_data($r,\%prog_state,$navmap,              &get_data($r,\%prog_state,$navmap,
                       'student:'.$ENV{'form.selected_student'});                        'student:'.$env{'form.selected_student'});
         } else {          } else {
             $r->print('<h2>'.&mt('Unable to process for [_1]@[_2]',              $r->print('<h2>'.&mt('Unable to process for [_1]@[_2]',
                                  $sname,$sdom).'</h2>');                                   $sname,$sdom).'</h2>');

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


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