[LON-CAPA-cvs] cvs: loncom /interface lonannounce.pm
www
lon-capa-cvs@mail.lon-capa.org
Tue, 17 Feb 2004 01:36:14 -0000
www Mon Feb 16 20:36:14 2004 EDT
Modified files:
/loncom/interface lonannounce.pm
Log:
Show due dates, etc, on calendar
Index: loncom/interface/lonannounce.pm
diff -u loncom/interface/lonannounce.pm:1.25 loncom/interface/lonannounce.pm:1.26
--- loncom/interface/lonannounce.pm:1.25 Wed Jan 14 20:43:43 2004
+++ loncom/interface/lonannounce.pm Mon Feb 16 20:36:14 2004
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Announce
#
-# $Id: lonannounce.pm,v 1.25 2004/01/15 01:43:43 www Exp $
+# $Id: lonannounce.pm,v 1.26 2004/02/17 01:36:14 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -72,6 +72,35 @@
$returnhash{$courseid.'@'.$_}=$thiscal{$_};
}
}
+ if ($courseid eq $ENV{'request.course.id'}) {
+ my %resourcedata=
+ &Apache::lonnet::dump('resourcedata',$coursedom,$coursenum);
+ foreach my $thiskey (sort keys %resourcedata) {
+ if ($resourcedata{$thiskey.'.type'}=~/^date/) {
+ my ($course,$middle,$part,$name)=
+ ($thiskey=~/^(\w+)\.(?:(.+)\.)*([\w\s]+)\.(\w+)$/);
+ my $section=&mt('All Students');
+ if ($middle=~/^\[(.*)\]\./) {
+ $section=&mt('Group/Section').': '.$1;
+ $middle=~s/^\[(.*)\]\.//;
+ }
+ $middle=~s/\.$//;
+ my $realm=&mt('All Resources');
+ if ($middle=~/^(.+)\_\_\_\(all\)$/) {
+ $realm=&mt('Folder/Map').': '.&Apache::lonnet::gettitle($1);
+ } elsif ($middle) {
+ $realm=&mt('Resource').': '.&Apache::lonnet::gettitle($middle);
+ }
+ my $datetype='';
+ if ($name eq 'duedate') { $datetype=&mt('Due'); }
+ if ($name eq 'opendate') { $datetype=&mt('Opening'); }
+ if ($name eq 'answerdate') { $datetype=&mt('Answer Available'); }
+ $returnhash{$courseid.'@'.$resourcedata{$thiskey}.'_'.
+ $resourcedata{$thiskey}}=
+ 'INTERNAL:'.$datetype.': '.$realm.' ('.$section.')';
+ }
+ }
+ }
return %returnhash;
}
@@ -84,14 +113,24 @@
my $output='';
foreach (split(/\_\_\_\&\&\&\_\_\_/,$text)) {
if ($_) {
+ my $internalflag=0;
my ($courseid,$start,$end,@msg)=split(/\@/,$_);
my $msg=join('@',@msg);
+ if ($msg=~/INTERNAL\:/) {
+ $msg=~s/INTERNAL\://gs;
+ $internalflag=1;
+ }
my $fullmsg=$ENV{'course.'.$courseid.'.description'}.
- ', '.&Apache::lonlocal::locallocaltime($start).' - '.&Apache::lonlocal::locallocaltime($end).': '.$msg;
+ ', '.&Apache::lonlocal::locallocaltime($start);
+ if ($start!=$end) {
+ $fullmsg.=' - '.&Apache::lonlocal::locallocaltime($end);
+ }
+ $fullmsg.=': '.$msg;
if ($courseid eq $ENV{'request.course.id'}) {
if ((&Apache::lonnet::allowed('srm',$ENV{'request.course.id'}))
&& (!$showedcheck{$start.'_'.$end})
- && ($ENV{'form.pickdate'} ne 'yes')) {
+ && ($ENV{'form.pickdate'} ne 'yes')
+ && (!$internalflag)) {
$output.='<input type="checkbox" name="remove_'.$start.'_'.
$end.'">';
$showedcheck{$start.'_'.$end}=1;
@@ -118,7 +157,11 @@
my ($courseid,$start,$end,@msg)=split(/\@/,$_);
my $msg=join('@',@msg);
my $fullmsg=$ENV{'course.'.$courseid.'.description'}.
- ', '.localtime($start).' - '.localtime($end).': '.$msg;
+ ', '.&Apache::lonlocal::locallocaltime($start);
+ if ($start!=$end) {
+ $fullmsg.=' - '.&Apache::lonlocal::locallocaltime($end);
+ }
+ $fullmsg.=': '.$msg;
$fullmsg=&HTML::Entities::encode($fullmsg,'<>&"\'');
$fullmsg=~s/&/\\&/g;
$output.='<a href="javascript:alert('."'$fullmsg'".')">'.
@@ -135,7 +178,12 @@
if ($_) {
my ($courseid,$start,$end,@msg)=split(/\@/,$_);
my $msg=join('@',@msg);
- my $fullmsg=localtime($start).' to '.localtime($end).':<br /><b>'.
+ my $fullmsg=&Apache::lonlocal::locallocaltime($start);
+ if ($start!=$end) {
+ $fullmsg.=&mt(' to ').
+ &Apache::lonlocal::locallocaltime($end);
+ }
+ $fullmsg.=':<br /><b>'.
$msg.'</b>';
$output.='<li>'.$fullmsg.'</li>';
}