version 1.9, 2003/05/21 16:26:46
|
version 1.11, 2003/05/21 20:10:53
|
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(); |
|
|
|
sub editfield { |
|
my ($r,$start,$end,$text)=@_; |
|
# Deal with date forms |
|
my $startdateform = &Apache::lonhtmlcommon::date_setter('anno', |
|
'startdate', |
|
$start); |
|
my $enddateform = &Apache::lonhtmlcommon::date_setter('anno', |
|
'enddate', |
|
$end); |
|
|
|
$r->print(<<ENDFORM); |
|
<form name="anno" method="post"> |
|
<input type="hidden" value='' name="action" > |
|
<table><tr><td>Starting date:</td><td>$startdateform</td></tr> |
|
<tr><td>Ending date:</td><td>$enddateform</td></tr></table> |
|
<textarea name="msg" rows="4" cols="60">$text</textarea> |
|
<input type="button" onClick="trysubmit()" value="Post Announcement"><hr> |
|
ENDFORM |
|
} |
|
|
sub readcalendar { |
sub readcalendar { |
my $courseid=shift; |
my $courseid=shift; |
my $coursenum=$ENV{'course.'.$courseid.'.num'}; |
my $coursenum=$ENV{'course.'.$courseid.'.num'}; |
Line 58 sub normalcell {
|
Line 78 sub normalcell {
|
if ($_) { |
if ($_) { |
my ($courseid,$start,$end,@msg)=split(/\@/,$_); |
my ($courseid,$start,$end,@msg)=split(/\@/,$_); |
my $msg=join('@',@msg); |
my $msg=join('@',@msg); |
my $fullmsg=$ENV{'course.'.$courseid.'.description'}.': '.$msg; |
my $fullmsg=$ENV{'course.'.$courseid.'.description'}. |
|
', '.localtime($start).' - '.localtime($end).': '.$msg; |
if ($courseid eq $ENV{'request.course.id'}) { |
if ($courseid eq $ENV{'request.course.id'}) { |
if (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) { |
if (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) { |
$output.='<input type="checkbox" name="remove_'.$start.'_'. |
$output.='<input type="checkbox" name="remove_'.$start.'_'. |
Line 66 sub normalcell {
|
Line 87 sub normalcell {
|
} |
} |
} |
} |
$output.='<a href="javascript:alert('."'$fullmsg'".')">'. |
$output.='<a href="javascript:alert('."'$fullmsg'".')">'. |
substr($msg,0,20).'...</a><br>'; |
substr($msg,0,20).'...</a><br />'; |
} |
} |
} |
} |
return '<td><b>'.$day.'</b><br>'.$output.'</td>'; |
return '<td><b>'.$day.'</b><br>'.$output.'</td>'; |
} |
} |
|
|
|
sub plaincell { |
|
my ($text)=@_; |
|
my $output=''; |
|
foreach (split(/\_\_\_\&\&\&\_\_\_/,$text)) { |
|
if ($_) { |
|
my ($courseid,$start,$end,@msg)=split(/\@/,$_); |
|
my $msg=join('@',@msg); |
|
my $fullmsg=$ENV{'course.'.$courseid.'.description'}. |
|
', '.localtime($start).' - '.localtime($end).': '.$msg; |
|
$output.='<a href="javascript:alert('."'$fullmsg'".')">'. |
|
substr($msg,0,40).'...</a><br />'; |
|
} |
|
} |
|
return $output; |
|
} |
|
|
|
sub listcell { |
|
my ($text)=@_; |
|
my $output=''; |
|
foreach (split(/\_\_\_\&\&\&\_\_\_/,$text)) { |
|
if ($_) { |
|
my ($courseid,$start,$end,@msg)=split(/\@/,$_); |
|
my $msg=join('@',@msg); |
|
my $fullmsg=localtime($start).' to '.localtime($end).':<br /><b>'. |
|
$msg.'</b>'; |
|
$output.='<li>'.$fullmsg.'</li>'; |
|
} |
|
} |
|
return $output; |
|
} |
|
|
sub nextday { |
sub nextday { |
my %th=@_; |
my %th=@_; |
$th{'day'}++; |
$th{'day'}++; |
Line 79 sub nextday {
|
Line 131 sub nextday {
|
} |
} |
|
|
sub showday { |
sub showday { |
my ($tk,%allcal)=@_; |
my ($tk,$mode,%allcal)=@_; |
my %th=&Apache::loncommon::timehash($tk); |
my %th=&Apache::loncommon::timehash($tk); |
my ($nextday,$nextmonth)=&nextday(%th); |
my ($nextday,$nextmonth)=&nextday(%th); |
my $outp=''; |
my $outp=''; |
Line 91 sub showday {
|
Line 143 sub showday {
|
$allcal{$_}; |
$allcal{$_}; |
} |
} |
} |
} |
return ($nextday,$nextmonth,&normalcell($th{'day'},$outp)); |
unless ($mode) { |
|
return ($nextday,$nextmonth,&normalcell($th{'day'},$outp)); |
|
} elsif ($outp) { |
|
if ($mode==1) { |
|
return '<br />'.&plaincell($outp); |
|
} else { |
|
return '<ul>'.&listcell($outp).'</ul>'; |
|
} |
|
} else { |
|
return ''; |
|
} |
} |
} |
|
|
sub handler { |
sub handler { |
Line 182 ENDDOCUMENT
|
Line 244 ENDDOCUMENT
|
$tomorrowhash{'day'}++; |
$tomorrowhash{'day'}++; |
my $tomorrow=&Apache::loncommon::maketime(%tomorrowhash); |
my $tomorrow=&Apache::loncommon::maketime(%tomorrowhash); |
|
|
# Deal with date forms |
&editfield($r,$today,$tomorrow,''); |
my $startdateform = &Apache::lonhtmlcommon::date_setter('anno', |
|
'startdate', |
|
$today); |
|
my $enddateform = &Apache::lonhtmlcommon::date_setter('anno', |
|
'enddate', |
|
$tomorrow); |
|
# |
|
|
|
$r->print(<<ENDFORM); |
|
<form name="anno" method="post"> |
|
<input type="hidden" value='' name="action" > |
|
<table><tr><td>Starting date:</td><td>$startdateform</td></tr> |
|
<tr><td>Ending date:</td><td>$enddateform</td></tr></table> |
|
<textarea name="msg" rows="4" cols="60"> |
|
</textarea> |
|
<input type="button" onClick="trysubmit()" value="Post Announcement"><hr> |
|
ENDFORM |
|
} |
} |
# ----------------------------------------------------- Summarize all calendars |
# ----------------------------------------------------- Summarize all calendars |
my %allcal=(); |
my %allcal=(); |
Line 227 ENDFORM
|
Line 272 ENDFORM
|
$r->print('<tr>'); |
$r->print('<tr>'); |
for (my $i=0;$i<$weekday;$i++) { $r->print(&emptycell); } |
for (my $i=0;$i<$weekday;$i++) { $r->print(&emptycell); } |
for (my $i=$weekday;$i<=6;$i++) { |
for (my $i=$weekday;$i<=6;$i++) { |
($tk,$nm,$outp)=&showday($tk,%allcal); |
($tk,$nm,$outp)=&showday($tk,0,%allcal); |
$r->print($outp); |
$r->print($outp); |
} |
} |
$r->print('</tr>'); |
$r->print('</tr>'); |
Line 235 ENDFORM
|
Line 280 ENDFORM
|
for (my $k=0;$k<=3;$k++) { |
for (my $k=0;$k<=3;$k++) { |
$r->print('<tr>'); |
$r->print('<tr>'); |
for (my $i=0;$i<=6;$i++) { |
for (my $i=0;$i<=6;$i++) { |
($tk,$nm,$outp)=&showday($tk,%allcal); |
($tk,$nm,$outp)=&showday($tk,0,%allcal); |
if ($month!=$nm) { $outp=&emptycell; } |
if ($month!=$nm) { $outp=&emptycell; } |
$r->print($outp); |
$r->print($outp); |
} |
} |