version 1.35, 2005/11/17 19:54:49
|
version 1.40, 2006/01/12 22:58:47
|
Line 33 use Apache::Constants qw(:common);
|
Line 33 use Apache::Constants qw(:common);
|
use Apache::loncommon; |
use Apache::loncommon; |
use Apache::lonhtmlcommon(); |
use Apache::lonhtmlcommon(); |
use Apache::lonlocal; |
use Apache::lonlocal; |
|
use Apache::lonrss(); |
use Apache::lonnet; |
use Apache::lonnet; |
use HTML::Entities(); |
use HTML::Entities(); |
|
|
Line 49 sub editfield {
|
Line 50 sub editfield {
|
'enddate', |
'enddate', |
$end); |
$end); |
my $help=&Apache::loncommon::help_open_menu('','Calendar Add Announcement','Calendar_Add_Announcement','',274,'Communication Tools'); |
my $help=&Apache::loncommon::help_open_menu('','Calendar Add Announcement','Calendar_Add_Announcement','',274,'Communication Tools'); |
|
my %lt=&Apache::lonlocal::texthash('post' => 'Post Announcement', |
|
'start' => 'Starting date', |
|
'end' => 'Ending date', |
|
'incrss' => 'Include in course RSS newsfeed'); |
|
|
$r->print(<<ENDFORM); |
$r->print(<<ENDFORM); |
$help |
$help |
<form name="anno" method="post"> |
<form name="anno" method="post"> |
<input type="hidden" value='' name="action" > |
<input type="hidden" value='' name="action" /> |
<table><tr><td>Starting date:</td><td>$startdateform</td></tr> |
<table><tr><td>$lt{'start'}:</td><td>$startdateform</td></tr> |
<tr><td>Ending date:</td><td>$enddateform</td></tr></table> |
<tr><td>$lt{'end'}:</td><td>$enddateform</td></tr></table> |
<textarea name="msg" rows="4" cols="60">$text</textarea> |
<textarea name="msg" rows="4" cols="60">$text</textarea> |
<input type="button" onClick="trysubmit()" value="Post Announcement"><hr /> |
<br /> |
|
<!-- <label><input type="checkbox" name="rsspost" /> $lt{'incrss'}</label> --> |
|
<br /><input type="button" onClick="trysubmit()" value="$lt{'post'}" /><hr /> |
ENDFORM |
ENDFORM |
} |
} |
|
|
Line 134 sub emptycell {
|
Line 142 sub emptycell {
|
sub normalcell { |
sub normalcell { |
my ($day,$month,$year,$text)=@_; |
my ($day,$month,$year,$text)=@_; |
my $output=''; |
my $output=''; |
foreach (split(/\_\_\_\&\&\&\_\_\_/,$text)) { |
my @items=&order($text); |
if ($_) { |
foreach my $item (@items) { |
|
if ($item) { |
my $internalflag=0; |
my $internalflag=0; |
my ($courseid,$start,$end,@msg)=split(/\@/,$_); |
my ($courseid,$start,$end,@msg)=split(/\@/,$item); |
my $msg=join('@',@msg); |
my $msg=join('@',@msg); |
if ($msg=~/INTERNAL\:/) { |
if ($msg=~/INTERNAL\:/) { |
$msg=~s/INTERNAL\://gs; |
$msg=~s/INTERNAL\://gs; |
Line 176 sub normalcell {
|
Line 185 sub normalcell {
|
sub plaincell { |
sub plaincell { |
my ($text)=@_; |
my ($text)=@_; |
my $output=''; |
my $output=''; |
foreach (split(/\_\_\_\&\&\&\_\_\_/,$text)) { |
my @items=&order($text); |
if ($_) { |
foreach my $item (@items) { |
my ($courseid,$start,$end,@msg)=split(/\@/,$_); |
if ($item) { |
|
my ($courseid,$start,$end,@msg)=split(/\@/,$item); |
my $msg=join('@',@msg); |
my $msg=join('@',@msg); |
my $fullmsg=&mt('Calendar Announcement for ').$env{'course.'.$courseid.'.description'}. |
my $fullmsg=&mt('Calendar Announcement for ').$env{'course.'.$courseid.'.description'}. |
'\n'.&Apache::lonlocal::locallocaltime($start); |
'\n'.&Apache::lonlocal::locallocaltime($start); |
Line 200 sub plaincell {
|
Line 210 sub plaincell {
|
sub listcell { |
sub listcell { |
my ($text)=@_; |
my ($text)=@_; |
my $output=''; |
my $output=''; |
foreach (split(/\_\_\_\&\&\&\_\_\_/,$text)) { |
my @items=&order($text); |
if ($_) { |
foreach my $item (@items) { |
my ($courseid,$start,$end,@msg)=split(/\@/,$_); |
if ($item) { |
|
my ($courseid,$start,$end,@msg)=split(/\@/,$item); |
my $msg=join('@',@msg); |
my $msg=join('@',@msg); |
$msg=~s/INTERNAL\://gs; |
$msg=~s/INTERNAL\://gs; |
my $fullmsg=&Apache::lonlocal::locallocaltime($start); |
my $fullmsg=&Apache::lonlocal::locallocaltime($start); |
Line 218 sub listcell {
|
Line 229 sub listcell {
|
return $output; |
return $output; |
} |
} |
|
|
|
sub order { |
|
my ($text)=@_; |
|
my @items = split(/___&&&___/,$text); |
|
sort { |
|
my (undef,$astart,$aend)=split(/\@/,$a); |
|
my (undef,$bstart,$bend)=split(/\@/,$b); |
|
if ($astart != $bstart) { |
|
return $astart <=> $bstart; |
|
} |
|
return $aend <=> $bend; |
|
} @items; |
|
} |
|
|
sub nextday { |
sub nextday { |
my %th=@_; |
my %th=@_; |
$th{'day'}++; |
$th{'day'}++; |
Line 234 sub showday {
|
Line 258 sub showday {
|
$tk-=$oneday; |
$tk-=$oneday; |
$nextday+=$oneday; |
$nextday+=$oneday; |
} |
} |
foreach (keys %allcal) { |
foreach my $item (keys(%allcal)) { |
my ($course,$startdate,$enddate)=($_=~/^(\w+)\@(\d+)\_(\d+)$/); |
my ($course,$startdate,$enddate)=($item=~/^(\w+)\@(\d+)\_(\d+)$/); |
if (($startdate<$nextday) && ($enddate>$tk)) { |
if (($startdate<$nextday) && ($enddate>=$tk)) { |
$outp.='___&&&___'.$course.'@'.$startdate.'@'.$enddate.'@'. |
$outp.='___&&&___'.$course.'@'.$startdate.'@'.$enddate.'@'. |
$allcal{$_}; |
$allcal{$item}; |
} |
} |
} |
} |
unless ($mode) { |
unless ($mode) { |
Line 421 SERVERANNOUNCE
|
Line 445 SERVERANNOUNCE
|
&Apache::lonnet::put('calendar',{ |
&Apache::lonnet::put('calendar',{ |
$startdate.'_'.$enddate => |
$startdate.'_'.$enddate => |
$env{'form.msg'} },$coursedom,$coursenum); |
$env{'form.msg'} },$coursedom,$coursenum); |
|
if ($env{'form.rsspost'}) { |
|
&Apache::lonrss::addentry($coursenum,$coursedom,'Course_Announcements', |
|
&mt('Event from [_1] to [_2]', |
|
&Apache::lonlocal::locallocaltime($startdate), |
|
&Apache::lonlocal::locallocaltime($enddate)), |
|
$env{'form.msg'},'/adm/announcements','public'); |
|
} |
} |
} |
# ---------------------------------------------------------------- Remove items |
# ---------------------------------------------------------------- Remove items |
if ($env{'form.action'} eq 'del') { |
if ($env{'form.action'} eq 'del') { |