--- loncom/interface/lonfeedback.pm 2002/01/01 15:02:31 1.21
+++ loncom/interface/lonfeedback.pm 2002/03/26 16:15:34 1.25
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Feedback
#
-# $Id: lonfeedback.pm,v 1.21 2002/01/01 15:02:31 www Exp $
+# $Id: lonfeedback.pm,v 1.25 2002/03/26 16:15:34 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -40,7 +40,9 @@
# 7/25 Gerd Kortemeyer
# 7/26 Guy Albertelli
# 7/26,8/10,10/1,11/5,11/6,12/27,12/29 Gerd Kortemeyer
-
+# YEAR=2002
+# 1/1,1/16 Gerd Kortemeyer
+#
package Apache::lonfeedback;
@@ -197,7 +199,9 @@ sub screen_header {
}
if ($ENV{'request.course.id'}) {
- if (&Apache::lonnet::allowed('pch',$ENV{'request.course.id'})) {
+ if (&Apache::lonnet::allowed('pch',
+ $ENV{'request.course.id'}.
+ ($ENV{'request.course.sec'}?'/'.$ENV{'request.course.sec'}:''))) {
$options.='
'.
'Contribution to course discussion of resource';
$options.='
'.
@@ -256,24 +260,27 @@ sub decide_receiver {
}
if ($ENV{'form.question'}) {
$typestyle.='Submitting as Question
';
- map {
+ foreach (split(/\,/,
+ $ENV{'course.'.$ENV{'request.course.id'}.'.question.email'})
+ ) {
$to{$_}=1;
- } split(/\,/,
- $ENV{'course.'.$ENV{'request.course.id'}.'.question.email'});
+ }
}
if ($ENV{'form.course'}) {
$typestyle.='Submitting as Comment
';
- map {
+ foreach (split(/\,/,
+ $ENV{'course.'.$ENV{'request.course.id'}.'.comment.email'})
+ ) {
$to{$_}=1;
- } split(/\,/,
- $ENV{'course.'.$ENV{'request.course.id'}.'.comment.email'});
+ }
}
if ($ENV{'form.policy'}) {
$typestyle.='Submitting as Policy Feedback
';
- map {
+ foreach (split(/\,/,
+ $ENV{'course.'.$ENV{'request.course.id'}.'.policy.email'})
+ ) {
$to{$_}=1;
- } split(/\,/,
- $ENV{'course.'.$ENV{'request.course.id'}.'.policy.email'});
+ }
}
return ($typestyle,%to);
}
@@ -282,16 +289,17 @@ sub send_msg {
my ($feedurl,$email,$citations,%to)=@_;
my $status='';
my $sendsomething=0;
- map {
+ foreach (keys %to) {
if ($_) {
+ my $declutter=&Apache::lonnet::declutter($feedurl);
unless (&Apache::lonmsg::user_normal_msg(split(/\:/,$_),
- 'Feedback '.$feedurl,$email,$citations) eq 'ok') {
+ 'Feedback ['.$declutter.']',$email,$citations) eq 'ok') {
$status.='
Error sending message to '.$_.'
';
} else {
$sendsomething++;
}
}
- } keys %to;
+ }
my %record=&Apache::lonnet::restore('_feedback');
my ($temp)=keys %record;
@@ -310,7 +318,8 @@ sub send_msg {
sub adddiscuss {
my ($symb,$email,$anon)=@_;
my $status='';
- if (&Apache::lonnet::allowed('pch',$ENV{'request.course.id'})) {
+ if (&Apache::lonnet::allowed('pch',$ENV{'request.course.id'}.
+ ($ENV{'request.course.sec'}?'/'.$ENV{'request.course.sec'}:''))) {
my %contrib=('message' => $email,
'sendername' => $ENV{'user.name'},
@@ -354,16 +363,16 @@ sub handler {
# --------------------------- Get query string for limited number of parameters
- map {
+ foreach (split(/&/,$ENV{'QUERY_STRING'})) {
my ($name, $value) = split(/=/,$_);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
- if (($name eq 'hide') || ($name eq 'unhide')) {
+ if (($name eq 'hide') || ($name eq 'unhide') || ($name eq 'postdata')) {
unless ($ENV{'form.'.$name}) {
$ENV{'form.'.$name}=$value;
}
}
- } (split(/&/,$ENV{'QUERY_STRING'}));
+ }
if (($ENV{'form.hide'}) || ($ENV{'form.unhide'})) {
# ----------------------------------------------------------------- Hide/unhide