--- loncom/interface/lonfeedback.pm 2002/01/01 15:02:31 1.21 +++ loncom/interface/lonfeedback.pm 2002/09/10 21:06:22 1.30 @@ -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.30 2002/09/10 21:06:22 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; @@ -51,6 +53,8 @@ use Apache::loncommon(); sub mail_screen { my ($r,$feedurl,$options) = @_; + my $bodytag=&Apache::loncommon::bodytag('Resource Feedback and Discussion', + '','onLoad="window.focus();"'); $r->print(< @@ -98,9 +102,7 @@ sub mail_screen { } - - -

Feedback

+$bodytag

$feedurl

@@ -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,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'; } @@ -354,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 @@ -393,9 +399,8 @@ sub handler { $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, $ENV{'course.'.$ENV{'request.course.id'}.'.num'}); - &redirect_back($r,'/res/'.$url,'Changed discussion status

','0'); - - + &redirect_back($r,&Apache::lonnet::clutter($url), + 'Changed discussion status

','0'); } else { # ------------------------------------------------------------- Normal feedback my $feedurl=$ENV{'form.postdata'}; @@ -481,7 +486,3 @@ sub handler { 1; __END__ - - - -