# The LearningOnline Network with CAPA # # $Id: lontrackstudent.pm,v 1.1 2004/08/11 18:41:05 matthew Exp $ # # Copyright Michigan State University Board of Trustees # # This file is part of the LearningOnline Network with CAPA (LON-CAPA). # # LON-CAPA is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # LON-CAPA is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with LON-CAPA; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # /home/httpd/html/adm/gpl.txt # # http://www.lon-capa.org/ # ### =pod =head1 NAME lontrackstudent =head1 SYNOPSIS Track student progress through course materials =over 4 =cut package Apache::lontrackstudent; use strict; use Apache::Constants qw(:common :http); use Apache::lonnet(); use Apache::lonlocal; use Time::HiRes; ################################################################### ################################################################### sub get_all_data {} sub get_student_data {} sub html_output_student_data {} sub html_output_class_data {} sub request_data_update { my $command = 'prepare activity log'; my $cid = $ENV{'request.course.id'}; my $domain = $ENV{'course.'.$cid.'.domain'}; my $home = $ENV{'course.'.$cid.'.home'}; my $course = $ENV{'course.'.$cid.'.num'}; &Apache::lonnet::logthis($command.' '.$course.' '.$domain.' '.$home); my $result = &Apache::lonnet::metadata_query($command,$course,$domain, [$home]); return $result; } ################################################################### ################################################################### ################################################################### ################################################################### sub handler { my $r=shift; my $c = $r->connection(); # # Check for overloading here and on the course home server my $loaderror=&Apache::lonnet::overloaderror($r); if ($loaderror) { return $loaderror; } $loaderror= &Apache::lonnet::overloaderror ($r, $ENV{'course.'.$ENV{'request.course.id'}.'.home'}); if ($loaderror) { return $loaderror; } # # Check for access if (! &Apache::lonnet::allowed('vsa',$ENV{'request.course.id'})) { $ENV{'user.error.msg'}= $r->uri.":vsa:0:0:Cannot student activity for complete course"; if (! &Apache::lonnet::allowed('vsa', $ENV{'request.course.id'}.'/'. $ENV{'request.course.sec'})) { $ENV{'user.error.msg'}= $r->uri.":vsa:0:0:Cannot view student activity with given role"; return HTTP_NOT_ACCEPTABLE; } } # # Send the header &Apache::loncommon::no_cache($r); &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; if ($r->header_only) { return OK; } # # Extract form elements from query string &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['selected_student']); # # Give the LON-CAPA page header $r->print(''. &mt('Student Activity'). "\n". &Apache::loncommon::bodytag('Student Activity')); $r->rflush(); # # Either print out a menu for them or send them to a report &Apache::lonhtmlcommon::clear_breadcrumbs(); &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/studentactivity', title=>'Student Activity', text =>'Student Activity', faq=>139, bug=>'instructor interface'}); # # Begin form output $r->print('
print('method="post" action="/adm/statistics">'); $r->rflush(); $r->print('

'.&mt('View student activity').'

'); # my $result = &request_data_update(); if (ref($result) eq 'HASH') { $result = join(map { $_.'=>'.$result->{$_}; } keys(%$result)); } $r->print('

'.$result.'

'); # if (! exists($ENV{'form.selected_student'})) { # Choose a student $r->print('If you worked here you would be done by now'); } else { # Show a students activity $r->print('I would like to have something to show you but I do not.'); } # $r->print("
\n"); $r->print("\n\n"); $r->rflush(); # return OK; } 1; ####################################################### ####################################################### =pod =back =cut ####################################################### ####################################################### __END__