--- loncom/interface/lonannounce.pm 2002/08/08 13:44:17 1.3
+++ loncom/interface/lonannounce.pm 2002/09/11 15:01:43 1.7
@@ -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.7 2002/09/11 15:01:43 matthew 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'}; }
@@ -164,10 +175,8 @@ sub handler {
}
-
-
Announcements
ENDDOCUMENT
-
+ $r->print(&Apache::loncommon::bodytag("Announcements and Calendar"));
# does this user have privileges to post, etc?
my $allowed=0;
if ($ENV{'request.course.id'}) {
@@ -218,6 +227,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); }
@@ -227,7 +243,7 @@ ENDFORM
'Previous Month '.
'Next Month
'.
'
Sun
Mon
'.
- '
Tue
Wed
Thu
Fri
Sat
');
+ '
Tue
Wed
Thu
Fri
Sat
');
my $tk=&Apache::loncommon::maketime(%firstday);
my $outp;
@@ -252,8 +268,9 @@ ENDFORM
$r->print('');
}
# ------------------------------------------------------------------- End table
+ $r->print('
');
if ($allowed) { $r->print(''); }
- $r->print('