File:  [LON-CAPA] / loncom / interface / loncommon.pm
Revision 1.1: download - view: text, annotated - select for diffs
Tue Feb 13 18:18:40 2001 UTC (23 years, 2 months ago) by albertel
Branches: MAIN
CVS tags: HEAD
- moved get_previous_attempt out of feedback

# 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, home_server, course_id

package Apache::loncommon;

use strict;
use Apache::Constants qw(:common);
use Apache::lonmsg();

sub get_previous_attempt {
  my ($symb,$username,$domain,$home,$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);
    if ($returnhash{'version'}) {
      my %lasthash=();
      my $version;
      for ($version=1;$version<=$returnhash{'version'};$version++) {
        map {
	  $lasthash{$_}=$returnhash{$version.':'.$_};
        } split(/\:/,$returnhash{$version.':keys'});
      }
      $prevattempts='<table border=2></tr><th>History</th>';
      map {
        $prevattempts.='<th>'.$_.'</th>';
      } keys %lasthash;
      for ($version=1;$version<=$returnhash{'version'};$version++) {
        $prevattempts.='</tr><tr><th>Attempt '.$version.'</th>';
        map {
	  $prevattempts.='<td>'.$returnhash{$version.':'.$_}.'</td>';   
        } keys %lasthash;
      }
      $prevattempts.='</tr><tr><th>Current</th>';
      map {
        $prevattempts.='<td>'.$lasthash{$_}.'</td>';
      } keys %lasthash;
      $prevattempts.='</tr></table>';
    } else {
      $prevattempts='Nothing submitted - no attempts.';
    }
  } else {
    $prevattempts='No data.';
  }
}

1;
__END__;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>