--- loncom/interface/lonannounce.pm 2002/08/08 13:44:17 1.3
+++ loncom/interface/lonannounce.pm 2002/08/09 20:39:13 1.5
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Announce
#
-# $Id: lonannounce.pm,v 1.3 2002/08/08 13:44:17 www Exp $
+# $Id: lonannounce.pm,v 1.5 2002/08/09 20:39:13 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -52,7 +52,23 @@ sub emptycell {
sub normalcell {
my ($day,$text)=@_;
- return '
'.$day.' '.$text.' | ';
+ my $output='';
+ foreach (split(/\_\_\_\&\&\&\_\_\_/,$text)) {
+ if ($_) {
+ my ($courseid,$start,$end,@msg)=split(/\@/,$_);
+ my $msg=join('@',@msg);
+ my $fullmsg=$ENV{'course.'.$courseid.'.description'}.': '.$msg;
+ if ($courseid eq $ENV{'request.course.id'}) {
+ if (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) {
+ $output.='';
+ }
+ }
+ $output.=''.
+ substr($msg,0,20).'...
';
+ }
+ }
+ return ''.$day.' '.$output.' | ';
}
sub nextday {
@@ -66,12 +82,12 @@ sub showday {
my %th=&Apache::loncommon::timehash($tk);
my ($nextday,$nextmonth)=&nextday(%th);
my $outp='';
+ my $oneday=24*3600;
foreach (keys %allcal) {
my ($course,$startdate,$enddate)=($_=~/^(\w+)\@(\d+)\_(\d+)$/);
- print $course.' '.localtime($startdate).' '.localtime($enddate).
- localtime($tk).' '.localtime($nextday).'
';
- if (($startdate>$tk) && ($enddate<$nextday)) {
- $outp.='___&&&___'.$course.'@'.$allcal{$_};
+ if (($startdate<$nextday) && ($enddate>$tk)) {
+ $outp.='___&&&___'.$course.'@'.$startdate.'@'.$enddate.'@'.
+ $allcal{$_};
}
}
return ($nextday,$nextmonth,&normalcell($th{'day'},$outp));
@@ -90,11 +106,6 @@ sub handler {
# ---------------------------------------------------------- Get month and year
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
['month','year']);
-# ----------------------------------------------------- Summarize all calendars
- my %allcal=();
- foreach (&Apache::loncommon::findallcourses()) {
- %allcal=(%allcal,&readcalendar($_));
- }
# --------------------------------------------------- Decide what month to show
my $year=$todayhash{'year'};
if ($ENV{'form.year'}) { $year=$ENV{'form.year'}; }
@@ -218,6 +229,13 @@ ENDDOCUMENT
ENDFORM
}
+# ----------------------------------------------------- Summarize all calendars
+ my %allcal=();
+ foreach (&Apache::loncommon::findallcourses()) {
+ %allcal=(%allcal,&readcalendar($_));
+ }
+
+# ------------------------------- Initialize table and forward backward buttons
my ($pm,$py,$fm,$fy)=($month-1,$year,$month+1,$year);
if ($pm<1) { ($pm,$py)=(12,$year-1); }
if ($fm>12){ ($fm,$fy)=(1,$year+1); }