--- loncom/interface/lonannounce.pm 2003/06/18 20:06:29 1.15
+++ loncom/interface/lonannounce.pm 2003/08/12 19:46:04 1.17
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Announce
#
-# $Id: lonannounce.pm,v 1.15 2003/06/18 20:06:29 www Exp $
+# $Id: lonannounce.pm,v 1.17 2003/08/12 19:46:04 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -35,6 +35,7 @@ use Apache::lonhtmlcommon();
use HTML::Entities();
my %todayhash;
+my %showedcheck;
sub editfield {
my ($r,$start,$end,$text)=@_;
@@ -84,9 +85,11 @@ sub normalcell {
my $fullmsg=$ENV{'course.'.$courseid.'.description'}.
', '.localtime($start).' - '.localtime($end).': '.$msg;
if ($courseid eq $ENV{'request.course.id'}) {
- if (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) {
+ if ((&Apache::lonnet::allowed('srm',$ENV{'request.course.id'}))
+ && (!$showedcheck{$start.'_'.$end})) {
$output.='';
+ $showedcheck{$start.'_'.$end}=1;
}
}
$fullmsg=&HTML::Entities::encode($fullmsg,'<>&"\'');
@@ -177,7 +180,9 @@ sub handler {
# ---------------------------------------------------------- Get time right now
my $today=time;
%todayhash=&Apache::loncommon::timehash($today);
-
+# ----------------------------------------------------------------- Check marks
+ %showedcheck=();
+ undef %showedcheck;
# ---------------------------------------------------------- Get month and year
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
['month','year']);
@@ -220,7 +225,45 @@ ENDDOCUMENT
if ($ENV{'request.course.id'}) {
$allowed=&Apache::lonnet::allowed('srm',$ENV{'request.course.id'});
}
-
+# does this user have privileges to post to servers?
+ my $serverpost=0;
+ if ($ENV{'request.role.domain'}) {
+ $serverpost=&Apache::lonnet::allowed('psa',
+ $ENV{'request.role.domain'});
+ } else {
+ $serverpost=&Apache::lonnet::allowed('psa','/');
+ }
+# ------------------------------------------------------------ Process commands
+ if ($serverpost) {
+ if ($ENV{'form.serveraction'}) {
+ foreach (keys %ENV) {
+ if ($_=~/^form\.postto\_(\w+)/) {
+ $r->print(
+ '
Posting '.$1.': '.&Apache::lonnet::postannounce
+ ($1,$ENV{'form.serverannnounce'}));
+ }
+ }
+ }
+ $r->print(<
+Post Server Announcements
+Post announcements to the system login and roles screen
+(leave blank to delete announcement)
+
+Check machines:
+SERVERANNOUNCE
+# list servers
+ foreach (sort keys %Apache::lonnet::hostname) {
+ if (&Apache::lonnet::allowed('psa',$Apache::lonnet::hostdom{$_})) {
+ $r->print ('
'.
+ $_.' '.$Apache::lonnet::hostname{$_}.' '.
+ 'current');
+ }
+ }
+ $r->print(
+ '
');
+ }
if ($allowed) {
my $coursenum=$ENV{'course.'.$ENV{'request.course.id'}.'.num'};
my $coursedom=$ENV{'course.'.$ENV{'request.course.id'}.'.domain'};
@@ -311,6 +354,10 @@ ENDDOCUMENT
}
# ------------------------------------------------------------------- End table
$r->print('');
+# ----------------------------------------------------------------- Check marks
+ %showedcheck=();
+ undef %showedcheck;
+# --------------------------------------------------------------- Remove button
if ($allowed) { $r->print(''); }
$r->print(''.
'Previous Month '.