--- loncom/interface/loncommunicate.pm 2004/03/26 19:35:59 1.21
+++ loncom/interface/loncommunicate.pm 2004/05/17 19:00:46 1.22
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Communicate
#
-# $Id: loncommunicate.pm,v 1.21 2004/03/26 19:35:59 www Exp $
+# $Id: loncommunicate.pm,v 1.22 2004/05/17 19:00:46 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -50,7 +50,9 @@ sub menu {
'da' => 'Date',
'us' => 'Username',
'op' => 'Open',
-'do' => 'Domain'
+'do' => 'Domain',
+'cbs' => 'Configure blocking of student communication during exams'
+
);
my %help=();
foreach ('Course_Face_To_Face_Records,Course_Critical_Message',
@@ -82,7 +84,9 @@ END
$lt{'unr'}$help{'Course_Face_To_Face_Records,Course_Critical_Message'}
|
-
+
+ $lt{'cbs'}
+ |
END
}
$r->print('');
@@ -91,21 +95,34 @@ END
$ENV{'user.name'}.':nohist_email',
$ENV{'user.home'}));
my @newmsgs;
+ my %setters = ();
+ my $startblock = 0;
+ my $endblock = 0;
+ my %blocked = ();
+ my $numblocked = 0;
+ # Check for blocking of display because of scheduled online exams.
+ &Apache::lonmsg::blockcheck(\%setters,\$startblock,\$endblock);
foreach (@msgids) {
my ($sendtime,$shortsubj,$fromname,$fromdom,$status)=
&Apache::lonmsg::unpackmsgid($_);
- if (defined($sendtime) && $sendtime!~/error/) {
- $sendtime = &Apache::lonlocal::locallocaltime($sendtime);
- if ($status eq 'new') {
- push @newmsgs, {
- msgid => $_,
- sendtime => $sendtime,
- shortsub => &Apache::lonnet::unescape($shortsubj),
- from => $fromname,
- fromdom => $fromdom
+ if (defined($sendtime) && $sendtime!~/error/) {
+ my $numsendtime = $sendtime;
+ $sendtime = &Apache::lonlocal::locallocaltime($sendtime);
+ if ($status eq 'new') {
+ if ($numsendtime >= $startblock && ($numsendtime <= $endblock && $endblock > 0) ) {
+ $blocked{$_} = 'ON';
+ $numblocked ++;
+ } else {
+ push @newmsgs, {
+ msgid => $_,
+ sendtime => $sendtime,
+ shortsub => &Apache::lonnet::unescape($shortsubj),
+ from => $fromname,
+ fromdom => $fromdom
+ }
}
+ }
}
- }
}
if ($#newmsgs >= 0) {
$r->print(<print("");
}
$r->print('