--- loncom/interface/lontrackstudent.pm 2009/01/02 23:07:55 1.26 +++ 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.26 2009/01/02 23:07:55 raeburn Exp $ +# $Id: lontrackstudent.pm,v 1.34 2012/10/04 13:41:10 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -119,13 +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; @@ -248,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 '. @@ -430,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.=''; } $result.='
'. - &unescape($key). + $unesc_key. '='. &unescape($values{$key}).'
'; + if ($is_anon) { + $result = ''.&mt('Anonymous Survey Submission: details not shown').''; + } } elsif ($action eq 'POST') { my %values; foreach my $pair (split(/\&/,$values)) { @@ -522,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'}= @@ -553,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(); @@ -571,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(); # @@ -579,14 +588,11 @@ sub handler { $r->print('

'); $r->print('
'); $r->print('
'. - &mt('Status:[_1]', - ''). + &mt('Status: [_1]', + ''). '
'); $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')); # @@ -599,17 +605,21 @@ 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. -Your request continues to be processed while results are displayed. -END + $r->print('

' + .&mt('Compiling student activity data can take a long time.' + .' Your request continues to be processed while results are displayed.') + .'

' + ); &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