--- loncom/interface/lonannounce.pm 2007/05/10 18:49:39 1.68
+++ loncom/interface/lonannounce.pm 2008/05/18 19:45:46 1.70
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Announce
#
-# $Id: lonannounce.pm,v 1.68 2007/05/10 18:49:39 albertel Exp $
+# $Id: lonannounce.pm,v 1.70 2008/05/18 19:45:46 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -74,6 +74,16 @@ sub readcalendar {
my $courseid=shift;
my $coursenum=$env{'course.'.$courseid.'.num'};
my $coursedom=$env{'course.'.$courseid.'.domain'};
+ if ($coursenum eq '' || $coursedom eq '') {
+ my %courseinfo=&Apache::lonnet::coursedescription($courseid);
+ if ($coursenum eq '' && exists($courseinfo{'num'})) {
+ $coursenum = $courseinfo{'num'};
+ }
+ if ($coursedom eq '' && exists($courseinfo{'domain'})) {
+ $coursedom = $courseinfo{'domain'};
+ }
+ }
+
my %thiscal=&Apache::lonnet::dump('calendar',$coursedom,$coursenum);
my %returnhash=();
foreach my $item (keys(%thiscal)) {
@@ -92,6 +102,9 @@ sub readcalendar {
my $resourcedata=
&Apache::lonnet::get_courseresdata($coursenum,$coursedom);
+ if (ref($resourcedata) ne 'HASH') {
+ return %returnhash;
+ }
foreach my $thiskey (keys(%$resourcedata)) {
if ($resourcedata->{$thiskey.'.type'}=~/^date/) {
my ($course,$middle,$part,$name)=
@@ -510,7 +523,7 @@ SERVERANNOUNCE
$r->print ('
current');
+ '/announcement.txt?time='.time.'" target="annowin">current');
}
}
$r->print(