--- loncom/interface/lonannounce.pm 2006/01/12 23:03:41 1.42
+++ loncom/interface/lonannounce.pm 2006/03/23 22:32:10 1.48
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Announce
#
-# $Id: lonannounce.pm,v 1.42 2006/01/12 23:03:41 albertel Exp $
+# $Id: lonannounce.pm,v 1.48 2006/03/23 22:32:10 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
}
@@ -79,7 +80,10 @@ sub readcalendar {
$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='';
@@ -347,12 +366,8 @@ sub handler {
'dlsav' => -1 ));
my $weekday=$firstday{'weekday'};
# ------------------------------------------------------------ Print the screen
- my $html=&Apache::lonxml::xmlbegin();
- $r->print(<
-The LearningOnline Network with CAPA
-
-
ENDDOCUMENT
+
if ($pickdatemode) {
# no big header in pickdate mode
- $r->print(&Apache::loncommon::bodytag("Pick a Date",'','',1).
+ $r->print(&Apache::loncommon::start_page("Pick a Date",$js,
+ {'only_body' => 1,}).
&dialscript().
'');
} else {
- $r->print(&Apache::loncommon::bodytag("Announcements and Calendar"));
+ $r->print(&Apache::loncommon::start_page("Announcements and Calendar",
+ $js));
}
# does this user have privileges to post, etc?
my $allowed=0;
@@ -488,7 +505,8 @@ SERVERANNOUNCE
if (($year<1970) || ($year>2037)) {
$r->print('No calendar available for this date.
'.
'Current Month