--- loncom/interface/lonannounce.pm 2009/02/26 16:17:29 1.77
+++ loncom/interface/lonannounce.pm 2012/04/18 16:22:31 1.84
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Announce
#
-# $Id: lonannounce.pm,v 1.77 2009/02/26 16:17:29 schafran Exp $
+# $Id: lonannounce.pm,v 1.84 2012/04/18 16:22:31 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -45,7 +45,7 @@ my %todayhash;
my %showedcheck;
sub editfield {
- my ($r,$start,$end,$text)=@_;
+ my ($r,$start,$end,$text,$crstype)=@_;
# Deal with date forms
my $startdateform = &Apache::lonhtmlcommon::date_setter('anno',
'startdate',
@@ -61,6 +61,10 @@ sub editfield {
'start' => 'Starting date',
'end' => 'Ending date',
'incrss' => 'Include in course RSS newsfeed');
+ if ($crstype eq 'Community') {
+ $lt{'annon'} = &mt('Community Announcements');
+ $lt{'incrss'} = &mt('Include in community RSS newsfeed');
+ }
$r->print(<
Posting '.$1.': '.&Apache::lonnet::postannounce
- ($1,$env{'form.serverannnounce'}));
- }
- }
- }
+ if ($env{'form.serveraction'}) {
+ my $rc;
+ my $message;
+ foreach my $key (keys(%env)) {
+ if ($key=~/^form\.postto\_(\w+[\w|-]*)/) {
+ $rc = &Apache::lonnet::postannounce
+ ($1,$env{'form.serverannnounce'});
+ if ($rc eq 'ok') {
+ $message .=
+ &Apache::lonhtmlcommon::confirm_success(
+ &mt('Announcement posted to [_1]',$1))
+ .'
';
+ } else {
+ $message .=
+ &Apache::lonhtmlcommon::confirm_success(
+ &mt('Posting announcement to [_1] failed: [_2]'
+ ,$1,$rc), 1)
+ .'
';
+ }
+ }
+ }
+ $r->print(&Apache::loncommon::confirmwrapper($message));
+ }
$r->print('
');
+ '
');
}
if ($allowed) {
my $coursenum=$env{'course.'.$env{'request.course.id'}.'.num'};
my $coursedom=$env{'course.'.$env{'request.course.id'}.'.domain'};
+ my $crstype = &Apache::loncommon::course_type();
# ----------------------------------------------------- Store new submitted one
if ($env{'form.action'} eq 'new') {
my $startdate =
@@ -612,7 +635,13 @@ ENDDOCUMENT
$startdate.'_'.$enddate =>
$env{'form.msg'} },$coursedom,$coursenum);
if ($env{'form.rsspost'}) {
- &Apache::lonrss::addentry($coursenum,$coursedom,'Course_Announcements',
+ my $feed;
+ if ($crstype eq 'Community') {
+ $feed = 'Community_Announcements';
+ } else {
+ $feed = 'Course_Announcements';
+ }
+ &Apache::lonrss::addentry($coursenum,$coursedom,$feed,
&mt('Event from [_1] to [_2]',
&Apache::lonlocal::locallocaltime($startdate),
&Apache::lonlocal::locallocaltime($enddate)),
@@ -634,7 +663,7 @@ ENDDOCUMENT
$tomorrowhash{'day'}++;
my $tomorrow=&Apache::loncommon::maketime(%tomorrowhash);
- &editfield($r,$today,$tomorrow,'');
+ &editfield($r,$today,$tomorrow,'',$crstype);
}
# ----------------------------------------------------- Summarize all calendars
my %allcal=&get_all_calendars();
@@ -656,7 +685,7 @@ ENDDOCUMENT
.&mt('No calendar available for this date.')
.'
'. - '
'.&mt($localdays[$i]).' | '); } @@ -742,22 +771,23 @@ ENDDOCUMENT } } # ------------------------------------------------------------------- End table - $r->print('
---|
'. - ''.&mt('Previous Month').' '. - ''.&mt('Next Month').''. ' '.&mt('Current Month').'
'. - ($pickdatemode?'':'').&Apache::loncommon::end_page()); - $r->print(''.&mt('Download your Calendar as iCalendar File').''); + ($pickdatemode?'':''). + ''.&mt('Download your Calendar as iCalendar File').''. + &Apache::loncommon::end_page()); return OK; }