version 1.8, 2001/02/10 14:10:13
|
version 1.9, 2001/02/13 18:18:40
|
Line 12
|
Line 12
|
# 3/1,2/3,2/5,2/6,2/8 Gerd Kortemeyer |
# 3/1,2/3,2/5,2/6,2/8 Gerd Kortemeyer |
# 2/9 Guy Albertelli |
# 2/9 Guy Albertelli |
# 2/10 Gerd Kortemeyer |
# 2/10 Gerd Kortemeyer |
|
# 2/13 Guy Albertelli |
|
|
package Apache::lonfeedback; |
package Apache::lonfeedback; |
|
|
use strict; |
use strict; |
use Apache::Constants qw(:common); |
use Apache::Constants qw(:common); |
use Apache::lonmsg(); |
use Apache::lonmsg(); |
|
use Apache::loncommon(); |
|
|
sub mail_screen { |
sub mail_screen { |
my ($r,$feedurl,$options) = @_; |
my ($r,$feedurl,$options) = @_; |
Line 158 sub screen_header {
|
Line 160 sub screen_header {
|
return $options; |
return $options; |
} |
} |
|
|
sub get_previous_attempt { |
|
my ($symb)=@_; |
|
my $prevattempts=''; |
|
if ($symb) { |
|
my $answer=&Apache::lonnet::reply( |
|
"restore:".$ENV{'user.domain'}.':'.$ENV{'user.name'}.':'. |
|
$ENV{'request.course.id'}.':'. |
|
&Apache::lonnet::escape($symb), |
|
$ENV{'user.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.'; |
|
} |
|
} |
|
|
|
sub resource_output { |
sub resource_output { |
my ($feedurl) = @_; |
my ($feedurl) = @_; |
my $usersaw=&Apache::lonnet::ssi($feedurl); |
my $usersaw=&Apache::lonnet::ssi($feedurl); |
Line 334 sub handler {
|
Line 290 sub handler {
|
} else { |
} else { |
|
|
# Get previous user input |
# Get previous user input |
my $prevattempts=&get_previous_attempt($symb); |
my $prevattempts=&Apache::loncommon::get_previous_attempt( |
|
$symb,$ENV{'user.name'},$ENV{'user.domain'},$ENV{'user.home'}, |
|
$ENV{'request.course.id'}); |
|
|
# Get output from resource |
# Get output from resource |
my $usersaw=&resource_output($feedurl); |
my $usersaw=&resource_output($feedurl); |