version 1.50, 2006/04/22 16:35:31
|
version 1.52, 2006/05/12 02:17:50
|
Line 160 sub emptycell {
|
Line 160 sub emptycell {
|
|
|
sub normalcell { |
sub normalcell { |
my ($day,$month,$year,$text)=@_; |
my ($day,$month,$year,$text)=@_; |
my $output=''; |
my $output; |
my @items=&order($text); |
my @items=&order($text); |
foreach my $item (@items) { |
foreach my $item (@items) { |
if ($item) { |
if ($item) { |
Line 190 sub normalcell {
|
Line 190 sub normalcell {
|
$fullmsg=&HTML::Entities::encode($fullmsg,'<>&"\''); |
$fullmsg=&HTML::Entities::encode($fullmsg,'<>&"\''); |
$fullmsg=~s/&/\\&/g; |
$fullmsg=~s/&/\\&/g; |
my $short_msg = substr($msg,0,20).((length($msg) > 20)?'...':''); |
my $short_msg = substr($msg,0,20).((length($msg) > 20)?'...':''); |
|
if (defined($output)) { $output.='<br />'; } |
$output.='<a href="javascript:alert('."'$fullmsg'".')">'. |
$output.='<a href="javascript:alert('."'$fullmsg'".')">'. |
$short_msg.'</a><br />'; |
$short_msg.'</a>'; |
} |
} |
} |
} |
return '<td class="LC_calendar_day'. |
return '<td class="LC_calendar_day'. |
Line 203 sub normalcell {
|
Line 204 sub normalcell {
|
|
|
sub plaincell { |
sub plaincell { |
my ($text)=@_; |
my ($text)=@_; |
my $output=''; |
my $output; |
my @items=&order($text); |
my @items=&order($text); |
foreach my $item (@items) { |
foreach my $item (@items) { |
if ($item) { |
if ($item) { |
Line 218 sub plaincell {
|
Line 219 sub plaincell {
|
$fullmsg=~s/[\n\r]/\\n/gs; |
$fullmsg=~s/[\n\r]/\\n/gs; |
$fullmsg=&HTML::Entities::encode($fullmsg,'<>&"\''); |
$fullmsg=&HTML::Entities::encode($fullmsg,'<>&"\''); |
$fullmsg=~s/&/\\&/g; |
$fullmsg=~s/&/\\&/g; |
|
my $short_msg = substr($msg,0,80).((length($msg) > 80)?'...':''); |
|
if (defined($output)) { $output.='<br />'; } |
$output.='<a href="javascript:alert('."'$fullmsg'".')">'. |
$output.='<a href="javascript:alert('."'$fullmsg'".')">'. |
substr($msg,0,80).'...</a><br />'; |
$short_msg.'</a>'; |
} |
} |
} |
} |
return $output; |
return $output; |
Line 323 function dialin(day,month,year) {
|
Line 326 function dialin(day,month,year) {
|
</script> |
</script> |
ENDDIA |
ENDDIA |
} |
} |
|
# ----------------------------------------------------- Summarize all calendars |
|
sub get_all_calendars { |
|
my %allcal=(); |
|
foreach my $course (sort(&Apache::loncommon::findallcourses())) { |
|
%allcal=(%allcal,&readcalendar($course)); |
|
} |
|
return %allcal; |
|
} |
|
|
|
sub output_ics_file { |
|
my ($r)=@_; |
|
# RFC 2445 wants CRLF |
|
my $crlf="\015\012"; |
|
# Header |
|
$r->print("BEGIN:VCALENDAR$crlf"); |
|
$r->print("VERSION:2.0$crlf"); |
|
$r->print("PRODID:-//LONCAPA//LONCAPA Calendar Output//EN$crlf"); |
|
my %allcal=&get_all_calendars(); |
|
foreach my $event (keys(%allcal)) { |
|
my ($course,$startdate,$enddate)=($event=~/^(\w+)\@(\d+)\_(\d+)$/); |
|
$r->print("BEGIN:VEVENT$crlf"); |
|
$r->print("DTSTART:".&Apache::loncommon::utc_string($startdate).$crlf); |
|
$r->print("DTEND:".&Apache::loncommon::utc_string($enddate).$crlf); |
|
$r->print("SUMMARY:$allcal{$event}$crlf"); |
|
$r->print("END:VEVENT$crlf"); |
|
} |
|
# Footer |
|
$r->print("END:VCALENDAR$crlf"); |
|
} |
|
|
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
|
if ($r->uri=~/\.(ics|ical)$/) { |
|
&Apache::loncommon::content_type($r,'text/calendar'); |
|
&output_ics_file($r); |
|
return OK; |
|
} |
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
$r->send_http_header; |
$r->send_http_header; |
return OK if $r->header_only; |
return OK if $r->header_only; |
Line 476 SERVERANNOUNCE
|
Line 513 SERVERANNOUNCE
|
&editfield($r,$today,$tomorrow,''); |
&editfield($r,$today,$tomorrow,''); |
} |
} |
# ----------------------------------------------------- Summarize all calendars |
# ----------------------------------------------------- Summarize all calendars |
my %allcal=(); |
my %allcal=&get_all_calendars(); |
foreach my $course (sort(&Apache::loncommon::findallcourses())) { |
|
%allcal=(%allcal,&readcalendar($course)); |
|
} |
|
|
|
# ------------------------------- Initialize table and forward backward buttons |
# ------------------------------- Initialize table and forward backward buttons |
my ($pm,$py,$fm,$fy)=($month-1,$year,$month+1,$year); |
my ($pm,$py,$fm,$fy)=($month-1,$year,$month+1,$year); |
if ($pm<1) { ($pm,$py)=(12,$year-1); } |
if ($pm<1) { ($pm,$py)=(12,$year-1); } |