--- loncom/interface/lonannounce.pm 2003/05/21 19:15:41 1.10
+++ loncom/interface/lonannounce.pm 2003/06/18 15:02:20 1.13
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Announce
#
-# $Id: lonannounce.pm,v 1.10 2003/05/21 19:15:41 www Exp $
+# $Id: lonannounce.pm,v 1.13 2003/06/18 15:02:20 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -33,6 +33,8 @@ use Apache::Constants qw(:common);
use Apache::loncommon;
use Apache::lonhtmlcommon();
+my %todayhash;
+
sub editfield {
my ($r,$start,$end,$text)=@_;
# Deal with date forms
@@ -72,13 +74,14 @@ sub emptycell {
}
sub normalcell {
- my ($day,$text)=@_;
+ my ($day,$month,$year,$text)=@_;
my $output='';
foreach (split(/\_\_\_\&\&\&\_\_\_/,$text)) {
if ($_) {
my ($courseid,$start,$end,@msg)=split(/\@/,$_);
my $msg=join('@',@msg);
- my $fullmsg=$ENV{'course.'.$courseid.'.description'}.': '.$msg;
+ my $fullmsg=$ENV{'course.'.$courseid.'.description'}.
+ ', '.localtime($start).' - '.localtime($end).': '.$msg;
if ($courseid eq $ENV{'request.course.id'}) {
if (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) {
$output.=''.
- substr($msg,0,20).'... ';
+ substr($msg,0,20).'... ';
+ }
+ }
+ return '
'.$day.' '.$output.'
';
+}
+
+sub plaincell {
+ my ($text)=@_;
+ my $output='';
+ foreach (split(/\_\_\_\&\&\&\_\_\_/,$text)) {
+ if ($_) {
+ my ($courseid,$start,$end,@msg)=split(/\@/,$_);
+ my $msg=join('@',@msg);
+ my $fullmsg=$ENV{'course.'.$courseid.'.description'}.
+ ', '.localtime($start).' - '.localtime($end).': '.$msg;
+ $output.=''.
+ substr($msg,0,40).'... ';
}
}
- return '
'.$day.' '.$output.'
';
+ return $output;
+}
+
+sub listcell {
+ my ($text)=@_;
+ my $output='';
+ foreach (split(/\_\_\_\&\&\&\_\_\_/,$text)) {
+ if ($_) {
+ my ($courseid,$start,$end,@msg)=split(/\@/,$_);
+ my $msg=join('@',@msg);
+ my $fullmsg=localtime($start).' to '.localtime($end).': '.
+ $msg.'';
+ $output.='
'.$fullmsg.'
';
+ }
+ }
+ return $output;
}
sub nextday {
@@ -99,7 +137,7 @@ sub nextday {
}
sub showday {
- my ($tk,%allcal)=@_;
+ my ($tk,$mode,%allcal)=@_;
my %th=&Apache::loncommon::timehash($tk);
my ($nextday,$nextmonth)=&nextday(%th);
my $outp='';
@@ -111,7 +149,18 @@ sub showday {
$allcal{$_};
}
}
- return ($nextday,$nextmonth,&normalcell($th{'day'},$outp));
+ unless ($mode) {
+ return ($nextday,$nextmonth,&normalcell(
+ $th{'day'},$th{'month'},$th{'year'},$outp));
+ } elsif ($outp) {
+ if ($mode==1) {
+ return ' '.&plaincell($outp);
+ } else {
+ return '
'.&listcell($outp).'
';
+ }
+ } else {
+ return '';
+ }
}
sub handler {
@@ -122,7 +171,7 @@ sub handler {
# ---------------------------------------------------------- Get time right now
my $today=time;
- my %todayhash=&Apache::loncommon::timehash($today);
+ %todayhash=&Apache::loncommon::timehash($today);
# ---------------------------------------------------------- Get month and year
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
@@ -214,11 +263,23 @@ ENDDOCUMENT
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); }
+ if (($year<1970) || ($year>2037)) {
+ }
$r->print('