--- 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;