--- loncom/interface/lonannounce.pm 2002/08/08 13:44:17 1.3
+++ loncom/interface/lonannounce.pm 2003/04/30 15:49:45 1.8
@@ -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.8 2003/04/30 15:49:45 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -31,6 +31,7 @@ package Apache::lonannounce;
use strict;
use Apache::Constants qw(:common);
use Apache::loncommon;
+use Apache::lonhtmlcommon();
sub readcalendar {
my $courseid=shift;
@@ -52,7 +53,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 +83,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 +107,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'}; }
@@ -109,6 +121,7 @@ sub handler {
'dlsav' => $todayhash{'dlsav'} ));
my $weekday=$firstday{'weekday'};
# ------------------------------------------------------------ Print the screen
+ my $pjump_function = &Apache::lonhtmlcommon::pjump_javascript_definition();
$r->print(<
@@ -120,14 +133,7 @@ sub handler {
parmwin.close();
}
- function pjump(type,dis,value,marker,ret,call) {
- parmwin=window.open("/adm/rat/parameter.html?type="+escape(type)
- +"&value="+escape(value)+"&marker="+escape(marker)
- +"&return="+escape(ret)
- +"&call="+escape(call)+"&name="+escape(dis),"LONCAPAparms",
- "height=350,width=350,scrollbars=no,menubar=no");
-
- }
+ $pjump_function
function dateset() {
if (document.anno.pres_marker.value=='end') {
@@ -164,10 +170,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 +222,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 +238,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 +263,9 @@ ENDFORM
$r->print('');
}
# ------------------------------------------------------------------- End table
+ $r->print('
');
if ($allowed) { $r->print(''); }
- $r->print('