--- loncom/interface/lonfeedback.pm 2001/10/01 19:24:49 1.16
+++ loncom/interface/lonfeedback.pm 2002/01/01 15:02:31 1.21
@@ -1,6 +1,30 @@
# The LearningOnline Network
# Feedback
#
+# $Id: lonfeedback.pm,v 1.21 2002/01/01 15:02:31 www Exp $
+#
+# Copyright Michigan State University Board of Trustees
+#
+# This file is part of the LearningOnline Network with CAPA (LON-CAPA).
+#
+# LON-CAPA is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# LON-CAPA is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with LON-CAPA; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# /home/httpd/html/adm/gpl.txt
+#
+# http://www.lon-capa.org/
+#
# (Internal Server Error Handler
#
# (Login Screen
@@ -15,7 +39,7 @@
# 2/13 Guy Albertelli
# 7/25 Gerd Kortemeyer
# 7/26 Guy Albertelli
-# 7/26,8/10,10/1 Gerd Kortemeyer
+# 7/26,8/10,10/1,11/5,11/6,12/27,12/29 Gerd Kortemeyer
package Apache::lonfeedback;
@@ -171,14 +195,15 @@ sub screen_header {
' '.
'Question/Comment/Feedback about course policy';
}
+
if ($ENV{'request.course.id'}) {
+ if (&Apache::lonnet::allowed('pch',$ENV{'request.course.id'})) {
$options.=' '.
'Contribution to course discussion of resource';
- }
- if ($ENV{'request.course.id'}) {
$options.=' '.
'Anonymous contribution to course discussion of resource'.
' (name only visible to course faculty)';
+ }
}
return $options;
}
@@ -263,17 +288,30 @@ sub send_msg {
'Feedback '.$feedurl,$email,$citations) eq 'ok') {
$status.=' Error sending message to '.$_.' ';
} else {
- #$status.=' Message sent to '.$_.' ';
$sendsomething++;
}
}
- } keys %to;
+ } keys %to;
+
+ my %record=&Apache::lonnet::restore('_feedback');
+ my ($temp)=keys %record;
+ unless ($temp=~/^error\:/) {
+ my %newrecord=();
+ $newrecord{'resource'}=$feedurl;
+ $newrecord{'subnumber'}=$record{'subnumber'}+1;
+ unless (&Apache::lonnet::cstore(\%newrecord,'_feedback') eq 'ok') {
+ $status.=' Not registered ';
+ }
+ }
+
return ($status,$sendsomething);
}
sub adddiscuss {
my ($symb,$email,$anon)=@_;
my $status='';
+ if (&Apache::lonnet::allowed('pch',$ENV{'request.course.id'})) {
+
my %contrib=('message' => $email,
'sendername' => $ENV{'user.name'},
'senderdomain' => $ENV{'user.domain'});
@@ -284,10 +322,26 @@ sub adddiscuss {
$status='Adding to class discussion'.($anon?' (anonymous)':'').': '.
&Apache::lonnet::store(\%contrib,$symb,$ENV{'request.course.id'},
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
- $ENV{'course.'.$ENV{'request.course.id'}.'.num'}).
- ' ';
+ $ENV{'course.'.$ENV{'request.course.id'}.'.num'});
+ my %storenewentry=($symb => time);
+ $status.=' Updating discussion time: '.
+ &Apache::lonnet::put('discussiontimes',\%storenewentry,
+ $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
+ $ENV{'course.'.$ENV{'request.course.id'}.'.num'});
+ }
+ my %record=&Apache::lonnet::restore('_discussion');
+ my ($temp)=keys %record;
+ unless ($temp=~/^error\:/) {
+ my %newrecord=();
+ $newrecord{'resource'}=$symb;
+ $newrecord{'subnumber'}=$record{'subnumber'}+1;
+ $status.=' Registering: '.
+ &Apache::lonnet::cstore(\%newrecord,'_discussion');
+ }
+ } else {
+ $status.='Failed.';
}
- return $status;
+ return $status.' ';
}
sub handler {