--- loncom/interface/lonfeedback.pm 2004/07/05 22:54:33 1.98
+++ loncom/interface/lonfeedback.pm 2004/07/09 23:05:52 1.99
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Feedback
#
-# $Id: lonfeedback.pm,v 1.98 2004/07/05 22:54:33 raeburn Exp $
+# $Id: lonfeedback.pm,v 1.99 2004/07/09 23:05:52 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -382,7 +382,7 @@ sub list_discussion {
$discussion .= '&previous='.$prevread;
}
$discussion .='">'.&mt('Chronological View').' ';
- }
+ }
if ($newpostsflag) {
if (!$markondisp) {
$discussion .='
'.&mt('Mark new posts as read').' ';
@@ -1136,8 +1136,55 @@ sub handler {
# --------------------------- Get query string for limited number of parameters
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
- ['hide','unhide','deldisc','postdata','preview','replydisc','threadedon','threadedoff','onlyunread','allposts','previous','markread','markonread','markondisp','modifydisp','changes']);
- if ($ENV{'form.modifydisp'}) {
+ ['hide','unhide','deldisc','postdata','preview','replydisc','threadedon','threadedoff','onlyunread','allposts','previous','markread','markonread','markondisp','modifydisp','changes','navmaps','navurl']);
+ if ($ENV{'form.navmaps'}) {
+ my %discinfo = ();
+ my @resources = ();
+ if ($ENV{'form.navmaps'} =~ /:/) {
+ @resources = split/:/,$ENV{'form.navmaps'};
+ } else {
+ @resources = ("$ENV{'form.navmaps'}");
+ }
+ my $numitems = @resources;
+ my $feedurl = '/adm/navmaps';
+ if ($ENV{'form.navurl'}) {
+ $feedurl .= '?'.$ENV{'form.navurl'};
+ }
+ my %lt = &Apache::lonlocal::texthash(
+ 'mnpa' => 'Marked "New" posts as read in a total of',
+ 'robb' => 'resources/bulletin boards.'
+ );
+ foreach (@resources) {
+# backward compatibility (bulletin boards used to be 'wrapped')
+ my $ressymb=$_;
+ if ($ressymb =~ m/bulletin___\d+___/) {
+ unless ($ressymb =~ m|bulletin___\d+___adm/wrapper|) {
+ $ressymb=~s|(bulletin___\d+___)|$1adm/wrapper/|;
+ }
+ }
+ my $lastkey = $ressymb.'_lastread';
+ $discinfo{$lastkey} = time;
+ }
+ &Apache::lonnet::put('nohist_'.$ENV{'request.course.id'}.'_discuss',\%discinfo,$ENV{'user.domain'},$ENV{'user.name'});
+ &Apache::loncommon::content_type($r,'text/html');
+ $r->send_http_header;
+ $r->print (<
+
+New posts marked as read
+
+
+
+
+
+$lt{'mnpa'} $numitems $lt{'robb'}
+
+
+ |