--- loncom/interface/lonfeedback.pm 2006/12/09 16:07:34 1.234 +++ loncom/interface/lonfeedback.pm 2006/12/11 18:50:40 1.236 @@ -1,7 +1,7 @@ # The LearningOnline Network # Feedback # -# $Id: lonfeedback.pm,v 1.234 2006/12/09 16:07:34 raeburn Exp $ +# $Id: lonfeedback.pm,v 1.236 2006/12/11 18:50:40 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -100,7 +100,8 @@ sub list_discussion { } } - my ($blocked,$blocktext) = &blocking_posts('boards',1); + my ($blocked,$blocktext) = + &Apache::loncommon::blocking_status('boards'); if ($blocked) { &Apache::lonenc::check_encrypt(\$ressymb); if ($mode ne 'board') { @@ -823,25 +824,6 @@ sub action_links_bar { return $discussion; } -sub blocking_posts { - my ($type,$showstatus) = @_; - my %setters; - my ($blocked,$output); - my ($startblock,$endblock) = - &Apache::loncommon::blockcheck(\%setters,$type); - if ($startblock && $endblock) { - $blocked = 1; - if ($showstatus) { - my $showstart = &Apache::lonlocal::locallocaltime($startblock); - my $showend = &Apache::lonlocal::locallocaltime($endblock); - $output = '
'.&mt('Discussion postings will not be viewable for resources in this course between [_1] and [_2] because communication is being blocked.',$showstart, $showend).'
'. - &Apache::loncommon::build_block_table($startblock,$endblock, - \%setters); - } - } - return ($blocked,$output); -} - sub postingform_display { my ($mode,$ressymb,$now,$subject,$comment,$outputtarget,$attachnum, $currnewattach,$currdelold,$group) = @_; @@ -878,7 +860,7 @@ ENDDISCUSS if ($group ne '') { $postingform .=''; } - my ($blockblog) = &blocking_posts('blogs'); + my $blockblog = &Apache::loncommon::blocking_status('blogs'); if (!$blockblog) { $postingform .= &add_blog_checkbox(); } @@ -1764,7 +1746,7 @@ END if (@currnewattach > 0) { $attachnum += @currnewattach; } - my ($blockblog) = &blocking_posts('blogs'); + my $blockblog = &Apache::loncommon::blocking_status('blogs'); $r->print(&generate_attachments_button($postidx,$attachnum,$ressymb,$now,\@currnewattach,\@currdelold,$numoldver,'',$blockblog)); if ($attachnum > 0) { if (@currnewattach > 0) { @@ -2608,7 +2590,7 @@ sub screen_header { ' ('.&mt('name only visible to course faculty').') '. ''.&mt('Change Screenname').''; } - my ($blockblog) = &blocking_posts('blogs'); + my $blockblog = &Apache::loncommon::blocking_status('blogs'); if (!$blockblog) { $discussoptions.= &add_blog_checkbox(); } @@ -2685,13 +2667,18 @@ sub secapply { my $defaultflag=shift; $rec=~s/\s+//g; $rec=~s/\@/\:/g; - my ($adr,$sections)=($rec=~/^([^\(]+)\(([^\)]+)\)/); - if ($sections) { - foreach my $sec (split(/\;/,$sections)) { - if (($sec eq $env{'request.course.sec'}) || - ($defaultflag && ($sec eq '*'))) { + my ($adr,$sections_or_groups)=($rec=~/^([^\(]+)\(([^\)]+)\)/); + if ($sections_or_groups) { + foreach my $item (split(/\;/,$sections_or_groups)) { + if (($item eq $env{'request.course.sec'}) || + ($defaultflag && ($item eq '*'))) { return $adr; - } + } elsif ($env{'request.course.groups'}) { + my @usersgroups = split(/:/,$env{'request.course.groups'}); + if (grep(/^\Q$item\E$/,@usersgroups)) { + return $adr; + } + } } } else { return $rec; @@ -3791,7 +3778,8 @@ ENDREDIR &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; if (($env{'form.replydisc'}) || ($env{'form.editdisc'})) { - my ($blocked,$blocktext) = &blocking_posts('boards',1); + my ($blocked,$blocktext) = + &Apache::loncommon::blocking_status('boards'); if ($blocked) { $r->print(&blocked_reply_or_edit($blocktext)); return OK;