--- loncom/interface/lonfeedback.pm 2004/07/04 23:56:58 1.97 +++ loncom/interface/lonfeedback.pm 2004/07/23 20:01:46 1.99.2.1 @@ -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.2.1 2004/07/23 20:01:46 albertel 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').'  '; @@ -455,7 +455,7 @@ sub list_discussion { my $colspan=$maxdepth+1; $discussion .= < - +
@@ -635,13 +635,18 @@ Attachment (128 KB max size): ENDDOCUMENT -$r->print(&generate_preview_button(). +$r->print(&generate_preview_button($onsubmit). &Apache::lonhtmlcommon::htmlareaselectactive('comment'). ''); } 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; @@ -1104,13 +1114,14 @@ sub show_preview { } sub generate_preview_button { + my ($onsubmit)=@_; my $pre=&mt("Show Preview"); return(< +onClick="$onsubmit;this.form.comment.value=document.mailform.comment.value;this.form.subject.value=document.mailform.subject.value;this.form.submit();" /> ENDPREVIEW } @@ -1126,8 +1137,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'} +
+
+ + +ENDREDIR + return OK; + } elsif ($ENV{'form.modifydisp'}) { &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; my $symb=$ENV{'form.modifydisp'}; @@ -1135,6 +1193,10 @@ sub handler { my $previous=$ENV{'form.previous'}; my ($dispchg,$markchg) = split/_/,$ENV{'form.changes'}; my $feedurl = &Apache::lonnet::clutter($url); + # backward compatibility (bulletin boards used to be 'wrapped') + if ($feedurl=~m|^/adm/wrapper/adm/.*/bulletinboard$|) { + $feedurl=~s|^/adm/wrapper||; + } &print_display_options($r,$symb,$previous,$dispchg,$markchg,$feedurl); return OK; } elsif (($ENV{'form.markondisp'}) || ($ENV{'form.markonread'}) || ($ENV{'form.allposts'}) || ($ENV{'form.onlyunread'}) ) { @@ -1305,7 +1367,7 @@ sub handler { if ($feedurl=~/\.(problem|exam|quiz|assess|survey|form)$/) { unless ($symb) { $goahead=0; } } - # backward compatibility (bulltin boards used to be 'wrapped') + # backward compatibility (bulletin boards used to be 'wrapped') if ($feedurl=~m|^/adm/wrapper/adm/.*/bulletinboard$|) { $feedurl=~s|^/adm/wrapper||; }