Diff for /loncom/interface/lonannounce.pm between versions 1.11 and 1.15

version 1.11, 2003/05/21 20:10:53 version 1.15, 2003/06/18 20:06:29
Line 32  use strict; Line 32  use strict;
 use Apache::Constants qw(:common);  use Apache::Constants qw(:common);
 use Apache::loncommon;  use Apache::loncommon;
 use Apache::lonhtmlcommon();  use Apache::lonhtmlcommon();
   use HTML::Entities();
   
   my %todayhash;
   
 sub editfield {  sub editfield {
     my ($r,$start,$end,$text)=@_;      my ($r,$start,$end,$text)=@_;
Line 72  sub emptycell { Line 75  sub emptycell {
 }  }
   
 sub normalcell {  sub normalcell {
     my ($day,$text)=@_;      my ($day,$month,$year,$text)=@_;
     my $output='';      my $output='';
     foreach (split(/\_\_\_\&\&\&\_\_\_/,$text)) {      foreach (split(/\_\_\_\&\&\&\_\_\_/,$text)) {
         if ($_) {          if ($_) {
Line 86  sub normalcell { Line 89  sub normalcell {
    $end.'">';     $end.'">';
       }        }
     }      }
               $fullmsg=&HTML::Entities::encode($fullmsg,'<>&"\'');
               $fullmsg=~s/&/\\&/g;
             $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'.
    ((($day eq $todayhash{'day'}) &&
             ($month eq $todayhash{'month'}) &&
             ($year eq $todayhash{'year'}))?' bgcolor="#FFFF00"':'').
              '><b>'.$day.'</b><br>'.$output.'</td>';
 }  }
   
 sub plaincell {  sub plaincell {
Line 102  sub plaincell { Line 111  sub plaincell {
             my $msg=join('@',@msg);              my $msg=join('@',@msg);
             my $fullmsg=$ENV{'course.'.$courseid.'.description'}.              my $fullmsg=$ENV{'course.'.$courseid.'.description'}.
  ', '.localtime($start).' - '.localtime($end).': '.$msg;   ', '.localtime($start).' - '.localtime($end).': '.$msg;
               $fullmsg=&HTML::Entities::encode($fullmsg,'<>&"\'');
               $fullmsg=~s/&/\\&/g;
             $output.='<a href="javascript:alert('."'$fullmsg'".')">'.              $output.='<a href="javascript:alert('."'$fullmsg'".')">'.
        substr($msg,0,40).'...</a><br />';         substr($msg,0,40).'...</a><br />';
        }         }
Line 144  sub showday { Line 155  sub showday {
         }          }
     }      }
     unless ($mode) {      unless ($mode) {
        return ($nextday,$nextmonth,&normalcell($th{'day'},$outp));         return ($nextday,$nextmonth,&normalcell(
                  $th{'day'},$th{'month'},$th{'year'},$outp));
    } elsif ($outp) {     } elsif ($outp) {
        if ($mode==1) {         if ($mode==1) {
           return '<br />'.&plaincell($outp);            return '<br />'.&plaincell($outp);
Line 164  sub handler { Line 176  sub handler {
   
 # ---------------------------------------------------------- Get time right now  # ---------------------------------------------------------- Get time right now
     my $today=time;      my $today=time;
     my %todayhash=&Apache::loncommon::timehash($today);      %todayhash=&Apache::loncommon::timehash($today);
   
 # ---------------------------------------------------------- Get month and year  # ---------------------------------------------------------- Get month and year
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
Line 256  ENDDOCUMENT Line 268  ENDDOCUMENT
     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); }
     if ($fm>12){ ($fm,$fy)=(1,$year+1); }      if ($fm>12){ ($fm,$fy)=(1,$year+1); }
   
     $r->print('<h1>'.('','January','February','March','April','May',      $r->print('<h1>'.('','January','February','March','April','May',
       'June','July','August','September','October',        'June','July','August','September','October',
                       'November','December')[$month].' '.$year.'</h1>'.                        'November','December')[$month].' '.$year.'</h1>');
   # Reached the end of times, give up
       if (($year<1970) || ($year>2037)) {
    $r->print('<h3>No calendar available for this date.</h3>'.
    '<a href="/adm/announcements?month='.$todayhash{'month'}.
    '&year='.$todayhash{'year'}.'">Current Month</a></body></html>');
    return OK;
       }
       $r->print(
  '<a href="/adm/announcements?month='.$pm.'&year='.$py.'">Previous Month</a> '.   '<a href="/adm/announcements?month='.$pm.'&year='.$py.'">Previous Month</a> '.
  '<a href="/adm/announcements?month='.$fm.'&year='.$fy.'">Next Month</a><p>'.   '<a href="/adm/announcements?month='.$fm.'&year='.$fy.'">Next Month</a>'.
    '&nbsp;&nbsp;&nbsp;<a href="/adm/announcements?month='.$todayhash{'month'}.
    '&year='.$todayhash{'year'}.'">Current Month</a><p>'.
         '<table border="2" cols="7" rows="5"><tr><th>Sun</th><th>Mon</th>'.          '<table border="2" cols="7" rows="5"><tr><th>Sun</th><th>Mon</th>'.
         '<th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th></tr>');          '<th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th></tr>');
   
Line 291  ENDDOCUMENT Line 314  ENDDOCUMENT
     if ($allowed) { $r->print('<input type="button" onClick="removesub()" value="Remove Checked Entries"></form>'); }      if ($allowed) { $r->print('<input type="button" onClick="removesub()" value="Remove Checked Entries"></form>'); }
     $r->print('<p>'.      $r->print('<p>'.
  '<a href="/adm/announcements?month='.$pm.'&year='.$py.'">Previous Month</a> '.   '<a href="/adm/announcements?month='.$pm.'&year='.$py.'">Previous Month</a> '.
  '<a href="/adm/announcements?month='.$fm.'&year='.$fy.'">Next Month</a><p>'.   '<a href="/adm/announcements?month='.$fm.'&year='.$fy.'">Next Month</a>'.
    '&nbsp;&nbsp;&nbsp;<a href="/adm/announcements?month='.$todayhash{'month'}.
    '&year='.$todayhash{'year'}.'">Current Month</a></p>'.
  '</body></html>');   '</body></html>');
     return OK;      return OK;
 }   } 

Removed from v.1.11  
changed lines
  Added in v.1.15


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>