--- 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); }