--- loncom/interface/loncommon.pm 2001/02/13 18:18:40 1.1 +++ loncom/interface/loncommon.pm 2001/10/26 17:09:04 1.7 @@ -3,7 +3,7 @@ # 2/13 Guy Albertelli # Makes a table out of the previous attempts -# Inputs result_from_symbread, user, domain, home_server, course_id +# Inputs result_from_symbread, user, domain, course_id package Apache::loncommon; @@ -12,41 +12,45 @@ use Apache::Constants qw(:common); use Apache::lonmsg(); sub get_previous_attempt { - my ($symb,$username,$domain,$home,$course)=@_; + my ($symb,$username,$domain,$course)=@_; my $prevattempts=''; if ($symb) { - my $answer=&Apache::lonnet::reply( - "restore:".$domain.':'.$username.':'.$course.':'. - &Apache::lonnet::escape($symb), - $home); - my %returnhash=(); - map { - my ($name,$value)=split(/\=/,$_); - $returnhash{&Apache::lonnet::unescape($name)}= - &Apache::lonnet::unescape($value); - } split(/\&/,$answer); + my (%returnhash)= + &Apache::lonnet::restore($symb,$course,$domain,$username); if ($returnhash{'version'}) { my %lasthash=(); my $version; for ($version=1;$version<=$returnhash{'version'};$version++) { map { $lasthash{$_}=$returnhash{$version.':'.$_}; - } split(/\:/,$returnhash{$version.':keys'}); + } sort(split(/\:/,$returnhash{$version.':keys'})); } $prevattempts=''; map { $prevattempts.=''; - } keys %lasthash; + } sort(keys %lasthash); for ($version=1;$version<=$returnhash{'version'};$version++) { $prevattempts.=''; map { - $prevattempts.=''; - } keys %lasthash; + my $value; + if ($_ =~ /timestamp/) { + $value=scalar(localtime($returnhash{$version.':'.$_})); + } else { + $value=$returnhash{$version.':'.$_}; + } + $prevattempts.=''; + } sort(keys %lasthash); } $prevattempts.=''; map { - $prevattempts.=''; - } keys %lasthash; + my $value; + if ($_ =~ /timestamp/) { + $value=scalar(localtime($lasthash{$_})); + } else { + $value=$lasthash{$_}; + } + $prevattempts.=''; + } sort(keys %lasthash); $prevattempts.='
History'.$_.'
Attempt '.$version.''.$returnhash{$version.':'.$_}.''.$value.'
Current'.$lasthash{$_}.''.$value.'
'; } else { $prevattempts='Nothing submitted - no attempts.'; @@ -56,5 +60,23 @@ sub get_previous_attempt { } } +sub get_unprocessed_cgi { + my ($query)= @_; + map { + my ($name, $value) = split(/=/,$_); + $value =~ tr/+/ /; + $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; + if (!defined($ENV{'form.'.$name})) { $ENV{'form.'.$name}=$value; } + } (split(/&/,$query)); +} + +sub cacheheader { + my $date=localtime; + my $output .=' + + '; + return $output; +} + 1; __END__;