--- loncom/interface/lonannounce.pm 2006/01/12 23:00:08 1.41
+++ loncom/interface/lonannounce.pm 2006/03/15 21:55:43 1.46
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Announce
#
-# $Id: lonannounce.pm,v 1.41 2006/01/12 23:00:08 albertel Exp $
+# $Id: lonannounce.pm,v 1.46 2006/03/15 21:55:43 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -33,6 +33,7 @@ use Apache::Constants qw(:common);
use Apache::loncommon;
use Apache::lonhtmlcommon();
use Apache::lonlocal;
+use Apache::lonnavmaps();
use Apache::lonrss();
use Apache::lonnet;
use HTML::Entities();
@@ -63,7 +64,7 @@ $help
$lt{'end'}: | $enddateform |
-
+
ENDFORM
}
@@ -74,12 +75,15 @@ sub readcalendar {
my $coursedom=$env{'course.'.$courseid.'.domain'};
my %thiscal=&Apache::lonnet::dump('calendar',$coursedom,$coursenum);
my %returnhash=();
- foreach (keys %thiscal) {
- unless (($_=~/^error\:/) || ($thiscal{$_}=~/^error\:/)) {
- $returnhash{$courseid.'@'.$_}=$thiscal{$_};
+ foreach my $item (keys(%thiscal)) {
+ unless (($item=~/^error\:/) || ($thiscal{$item}=~/^error\:/)) {
+ $returnhash{$courseid.'@'.$item}=$thiscal{$item};
}
}
+
if ($courseid eq $env{'request.course.id'}) {
+ my $can_see_hidden = $env{'request.role.adv'};
+ my $navmap = Apache::lonnavmaps::navmap->new();
my %resourcedata=
&Apache::lonnet::dump('resourcedata',$coursedom,$coursenum);
foreach my $thiskey (sort keys %resourcedata) {
@@ -101,8 +105,23 @@ sub readcalendar {
$middle=~s/\.$//;
my $realm=&mt('All Resources');
if ($middle=~/^(.+)\_\_\_\(all\)$/) {
- $realm=&mt('Folder/Map').': '.&Apache::lonnet::gettitle($1);
+ my $map_url=$1;
+ if (!$can_see_hidden && !$navmap) {
+ next;
+ }
+ if (!$can_see_hidden) {
+ my $res = $navmap->getResourceByUrl($map_url);
+ if ($res && $res->randomout()) { next; }
+ }
+ $realm=&mt('Folder/Map').': '.&Apache::lonnet::gettitle($map_url);
} elsif ($middle) {
+ if (!$can_see_hidden && !$navmap) {
+ next;
+ }
+ if (!$can_see_hidden) {
+ my $res = $navmap->getBySymb($middle);
+ if ($res && $res->randomout()) { next; }
+ }
$realm=&mt('Resource').': '.&Apache::lonnet::gettitle($middle);
}
my $datetype='';
@@ -395,8 +414,8 @@ ENDDOCUMENT
# ------------------------------------------------------------ Process commands
if ($serverpost) {
if ($env{'form.serveraction'}) {
- foreach (keys %env) {
- if ($_=~/^form\.postto\_(\w+)/) {
+ foreach my $key (keys(%env)) {
+ if ($key=~/^form\.postto\_(\w+)/) {
$r->print(
'
Posting '.$1.': '.&Apache::lonnet::postannounce
($1,$env{'form.serverannnounce'}));
@@ -412,11 +431,11 @@ Post announcements to the system login a
Check machines:
SERVERANNOUNCE
# list servers
- foreach (sort keys %Apache::lonnet::hostname) {
- if (&Apache::lonnet::allowed('psa',$Apache::lonnet::hostdom{$_})) {
- $r->print ('
'.
- $_.' '.$Apache::lonnet::hostname{$_}.' '.
- ' '.
+ $host.' '.$Apache::lonnet::hostname{$host}.' '.
+ 'current');
}
}
@@ -453,8 +472,8 @@ SERVERANNOUNCE
# ---------------------------------------------------------------- Remove items
if ($env{'form.action'} eq 'del') {
my @delwhich=();
- foreach (keys %env) {
- if ($_=~/^form\.remove\_(.+)$/) {
+ foreach my $key (keys(%env)) {
+ if ($key=~/^form\.remove\_(.+)$/) {
push(@delwhich,$1);
}
}
@@ -469,8 +488,8 @@ SERVERANNOUNCE
}
# ----------------------------------------------------- Summarize all calendars
my %allcal=();
- foreach (&Apache::loncommon::findallcourses()) {
- %allcal=(%allcal,&readcalendar($_));
+ foreach my $course (&Apache::loncommon::findallcourses()) {
+ %allcal=(%allcal,&readcalendar($course));
}
# ------------------------------- Initialize table and forward backward buttons