# The LearningOnline Network # a pile of common routines # 2/13 Guy Albertelli # Makes a table out of the previous attempts # Inputs result_from_symbread, user, domain, course_id package Apache::loncommon; use strict; use Apache::Constants qw(:common); use Apache::lonmsg(); sub get_previous_attempt { my ($symb,$username,$domain,$course)=@_; my $prevattempts=''; if ($symb) { my $answer=&Apache::lonnet::reply( "restore:".$domain.':'.$username.':'.$course.':'. &Apache::lonnet::escape($symb)); my %returnhash=(); map { my ($name,$value)=split(/\=/,$_); $returnhash{&Apache::lonnet::unescape($name)}= &Apache::lonnet::unescape($value); } split(/\&/,$answer); if ($returnhash{'version'}) { my %lasthash=(); my $version; for ($version=1;$version<=$returnhash{'version'};$version++) { map { $lasthash{$_}=$returnhash{$version.':'.$_}; } split(/\:/,$returnhash{$version.':keys'}); } $prevattempts='
History | '; map { $prevattempts.=''.$_.' | '; } keys %lasthash; for ($version=1;$version<=$returnhash{'version'};$version++) { $prevattempts.='
---|---|
Attempt '.$version.' | '; map { $prevattempts.=''.$returnhash{$version.':'.$_}.' | '; } keys %lasthash; } $prevattempts.='
Current | '; map { $prevattempts.=''.$lasthash{$_}.' | '; } keys %lasthash; $prevattempts.='