--- loncom/interface/lontrackstudent.pm 2004/12/16 22:04:41 1.10 +++ loncom/interface/lontrackstudent.pm 2004/12/22 22:54:59 1.11 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lontrackstudent.pm,v 1.10 2004/12/16 22:04:41 matthew Exp $ +# $Id: lontrackstudent.pm,v 1.11 2004/12/22 22:54:59 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -281,12 +281,13 @@ sub output_results { } my ($symb,$timestamp,$student,$action,$machine,$values); if ($mode eq 'full_class') { - ($symb,$timestamp,$student,$action,$machine,$values) = - map { &Apache::lonnet::unescape($_); } split(',',$line,6); + ($symb,$timestamp,$student,$action,$machine,$values) = split(',',$line,6); } else { - ($symb,$timestamp,$action,$machine,$values) = - map { &Apache::lonnet::unescape($_); } split(',',$line,5); + ($symb,$timestamp,$action,$machine,$values) = split(',',$line,5); } + foreach ($symb,$timestamp,$student,$action,$machine) { + $_=&Apache::lonnet::unescape($_); + } my ($title,$src); if ($symb =~ m:^/adm/:) { $title = $symb; @@ -294,7 +295,7 @@ sub output_results { } else { my $nav_res = $navmap->getBySymb($symb); if (defined($nav_res)) { - $title = $nav_res->title(); + $title = $nav_res->compTitle(); $src = $nav_res->src(); } else { if ($src =~ m|^/res|) { @@ -334,27 +335,27 @@ sub output_results { $class = 'warning'; } # Clean up the values - $values =~ s/counter=\d+$//; + $values = &display_values($action,$values); # # Build the row for output my $tablerow = qq{}; if ($src =~ m|^/adm/|) { $tablerow .= - ''.$title.''; + ''.$title.''; } else { $tablerow .= - ''. + ''. ''.$title.''. ''; } - $tablerow .= ''.$timestamp.''; + $tablerow .= ''.$timestamp.''; if ($mode eq 'full_class') { - $tablerow.=''.$student.''; + $tablerow.=''.$student.''; } $tablerow .= - ''.$action.''. + ''.$action.''. # ''.$machine.''. - ''.$values.''. + ''.$values.''. ''; $r->print($tablerow.$/); } @@ -365,6 +366,34 @@ sub output_results { ################################################################### ################################################################### +sub display_values { + my ($action,$values)=@_; + my $result=''; + if ($action eq 'CSTORE') { + my %values=map {split('=',$_,-1)} split(/\&/,$values); + foreach my $key (sort(keys(%values))) { + $result.=''; + } + $result.='
'. + &Apache::lonnet::unescape($key). + '='. + &Apache::lonnet::unescape($values{$key}).'
'; + } elsif ($action eq 'POST') { + my %values= + map {split('=',&Apache::lonnet::unescape($_),-1)} split(/\&/,$values); + foreach my $key (sort(keys(%values))) { + if ($key eq 'counter') { next; } + $result.=''.$key.''. + '='.$values{$key}.''; + } + $result.=''; + } else { + $result=&Apache::lonnet::unescape($values) + } + return $result; +} +################################################################### +################################################################### sub request_data_update { my $command = 'prepare activity log'; my $cid = $ENV{'request.course.id'};