--- loncom/interface/lonfeedback.pm 2002/01/01 16:39:32 1.22 +++ loncom/interface/lonfeedback.pm 2002/05/29 18:26:22 1.27 @@ -1,7 +1,7 @@ # The LearningOnline Network # Feedback # -# $Id: lonfeedback.pm,v 1.22 2002/01/01 16:39:32 www Exp $ +# $Id: lonfeedback.pm,v 1.27 2002/05/29 18:26:22 stredwic Exp $ # # Copyright Michigan State University Board of Trustees # @@ -41,7 +41,7 @@ # 7/26 Guy Albertelli # 7/26,8/10,10/1,11/5,11/6,12/27,12/29 Gerd Kortemeyer # YEAR=2002 -# 1/1 Gerd Kortemeyer +# 1/1,1/16 Gerd Kortemeyer # package Apache::lonfeedback; @@ -199,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.='
'. @@ -258,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); } @@ -284,7 +289,7 @@ 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(/\:/,$_), @@ -294,7 +299,7 @@ sub send_msg { $sendsomething++; } } - } keys %to; + } my %record=&Apache::lonnet::restore('_feedback'); my ($temp)=keys %record; @@ -313,11 +318,17 @@ 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'}, - 'senderdomain' => $ENV{'user.domain'}); + 'senderdomain' => $ENV{'user.domain'}, + 'screenname' => $ENV{'environment.screenname'}, + 'plainname' => $ENV{'environment.firstname'}.' '. + $ENV{'environment.middlename'}.' '. + $ENV{'environment.lastname'}.' '. + $ENV{'enrironment.generation'}); if ($anon) { $contrib{'anonymous'}='true'; } @@ -357,16 +368,8 @@ sub handler { # --------------------------- Get query string for limited number of parameters - map { - 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')) { - unless ($ENV{'form.'.$name}) { - $ENV{'form.'.$name}=$value; - } - } - } (split(/&/,$ENV{'QUERY_STRING'})); + &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, + ['hide','unhide','postdata']); if (($ENV{'form.hide'}) || ($ENV{'form.unhide'})) { # ----------------------------------------------------------------- Hide/unhide