--- loncom/interface/lonfeedback.pm 2004/07/04 23:56:58 1.97 +++ 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.97 2004/07/04 23:56:58 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 .='
@@ -642,6 +642,11 @@ $r->print(&generate_preview_button().
sub print_display_options {
my ($r,$symb,$previous,$dispchg,$markchg,$feedurl) = @_;
+ # backward compatibility (bulletin boards used to be 'wrapped')
+ if ($feedurl=~m|^/adm/wrapper/adm/.*/bulletinboard$|) {
+ $feedurl=~s|^/adm/wrapper||;
+ }
+
my $function = &Apache::loncommon::get_users_function();
my $tabcolor = &Apache::loncommon::designparm($function.'.tabbg',
$ENV{'user.domain'});
@@ -786,6 +791,11 @@ sub redirect_back {
my ($r,$feedurl,$typestyle,$sendsomething,$sendposts,$status,$previous) = @_;
my $prevtag = '';
my $qrystr = '';
+ # backward compatibility (bulletin boards used to be 'wrapped')
+ if ($feedurl=~m|^/adm/wrapper/adm/.*/bulletinboard$|) {
+ $feedurl=~s|^/adm/wrapper||;
+ }
+
if ($feedurl=~/^\/adm\//) { $feedurl.='?register=1' };
if ($previous > 0) {
$qrystr = 'previous='.$previous;
@@ -1126,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 (< |