--- loncom/interface/lontrackstudent.pm 2009/03/26 17:36:39 1.28
+++ loncom/interface/lontrackstudent.pm 2012/10/04 13:41:10 1.34
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: lontrackstudent.pm,v 1.28 2009/03/26 17:36:39 bisitz Exp $
+# $Id: lontrackstudent.pm,v 1.34 2012/10/04 13:41:10 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -119,14 +119,16 @@ sub get_data {
$text = 'View more activity by this student';
$inc = $num_records;
$r->print(&Apache::loncommon::track_student_link($text,$sname,$sdom,undef,
- ($env{'form.start'}+$inc)
+ ($env{'form.start'}+$inc),
+ $env{'form.only_body'}
));
$r->print(' ');
}
$r->print('
');
$text = 'Resubmit last request to check for newer data';
$r->print(&Apache::loncommon::track_student_link($text,$sname,$sdom,undef,
- $env{'form.start'}));
+ $env{'form.start'},
+ $env{'form.only_body'}));
&Apache::lonhtmlcommon::Update_PrgWin($r,$prog_state,&mt('Finished!'));
return;
@@ -249,11 +251,11 @@ sub output_results {
##
if (! -s $results_file) {
# results file is empty, just let them know there is no data
- $r->print('
'.&mt('So far, no data has been returned for your request').'
');
+ $r->print('
'.&mt('So far, no data has been returned for your request').'
');
return -1;
}
if (! open(ACTIVITYDATA,$results_file)) {
- $r->print('
'.&mt('Unable to read results file.').'
'.
+ $r->print('
'.&mt('Unable to read results file.').'
'.
'
'.
&mt('This is a serious error and has been logged. '.
'You should contact your system administrator '.
@@ -431,14 +433,25 @@ sub display_values {
my ($action,$values)=@_;
my $result='
';
if ($action eq 'CSTORE') {
+ my $is_anon;
my %values=map {split('=',$_,-1)} split(/\&/,$values);
foreach my $key (sort(keys(%values))) {
+ my $unesc_key = &unescape($key);
+ if ($values{$key} eq 'anonsurvey' || $values{$key} eq 'anonsurveycred') {
+ if ($unesc_key =~ /^resource\..+\.type$/) {
+ $is_anon = 1;
+ last;
+ }
+ }
$result.='
'.
- &unescape($key).
+ $unesc_key.
'
=
'.
&unescape($values{$key}).'
';
}
$result.='
';
+ if ($is_anon) {
+ $result = ''.&mt('Anonymous Survey Submission: details not shown').'';
+ }
} elsif ($action eq 'POST') {
my %values;
foreach my $pair (split(/\&/,$values)) {
@@ -523,15 +536,6 @@ 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'}=
@@ -554,7 +558,7 @@ sub handler {
#
# Extract form elements from query string
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
- ['selected_student','start']);
+ ['selected_student','start','only_body']);
#
# We will almost always need this...
my $navmap = Apache::lonnavmaps::navmap->new();
@@ -572,7 +576,11 @@ sub handler {
bug=>'instructor interface'});
#
# Give the LON-CAPA page header
- $r->print(&Apache::loncommon::start_page('Student Activity',&styles()).
+ my $args;
+ if ($env{'form.only_body'}) {
+ $args = { only_body => 1, };
+ }
+ $r->print(&Apache::loncommon::start_page('Student Activity',&styles(),$args).
&Apache::lonhtmlcommon::breadcrumbs('Student Activity'));
$r->rflush();
#
@@ -584,10 +592,7 @@ sub handler {
'').
'');
$r->rflush();
- my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin
- ($r,&mt('Student Activity Retrieval'),
- &mt('Student Activity Retrieval'),undef,'inline',undef,
- 'trackstudent','status');
+ my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r);
&Apache::lonhtmlcommon::Update_PrgWin
($r,\%prog_state,&mt('Contacting course home server'));
#
@@ -600,7 +605,7 @@ sub handler {
if ($sname =~ /^$LONCAPA::username_re$/
&& $sdom =~ /^$LONCAPA::domain_re$/) {
$r->print('
'.
- &mt('Recent activity of [_1]:[_2]',$sname,$sdom).
+ &mt('Recent activity of [_1]',$sname.':'.$sdom).
'
');
$r->print('
'
.&mt('Compiling student activity data can take a long time.'
@@ -610,8 +615,11 @@ sub handler {
&get_data($r,\%prog_state,$navmap,
'student:'.$env{'form.selected_student'});
} else {
- $r->print('
'.&mt('Unable to process for [_1]:[_2]',
- $sname,$sdom).'
');
+ $r->print(
+ '
'
+ .&mt('Unable to process for [_1]:[_2]',$sname,$sdom)
+ .'
'
+ );
}
} else {
# For now, just show all the data instead of limiting it to one student