Diff for /ConnorCalendar/calendar.pl between versions 1.5 and 1.14

version 1.5, 2013/05/29 02:53:46 version 1.14, 2020/11/13 18:07:40
Line 1 Line 1
 #!/usr/bin/perl -wT  #!/usr/bin/perl -w
   
 =begin comment info  =begin comment info
 +------------------------------------------------------------------------------  +------------------------------------------------------------------------------
Line 23  use Getopt::Long; Line 23  use Getopt::Long;
 use Pod::Usage;  use Pod::Usage;
 use Data::Dumper;  use Data::Dumper;
 use Calendar::Simple;  use Calendar::Simple;
 use Date::Calendar::Year qw( :all );  use Date::Pcalendar::Year qw( :all );
 use Date::Calendar::Profiles qw( $Profiles );  use Date::Pcalendar::Profiles qw( $Profiles );
   
 my $VERSION  = q/$Id$/;  my $VERSION  = '$Id$';
 my $DEBUG    = "";  my $DEBUG    = "";
 my $URL      = "http://demandred.dyndns.org/cgi-bin/ConnorCalendar/index.cgi";  my $URL      = "http://demandred.dyndns.org/cgi-bin/ConnorCalendar/index.cgi";
 my %post_in  = ( );  my %post_in  = ( );
 my %opts     = &fetchOptions( );  my %opts     = &fetchOptions( );
 my @list     = ( );  my @list     = ( );
 my @months   = qw/ January February March April May June July   my @months   = qw/ January February March April May June July 
                    August September October November December /;                     August September October November December /;
 my %holidays = (   my %holidays = ( 
                    "Easter Sunday"        => 'even',
                  "Christmas Day"        => 'even',                   "Christmas Day"        => 'even',
                  "Christmas Eve"        => 'odd',                   "Christmas Eve"        => 'odd',
                  "Father's Day"         => 'all',                   "Father's Day"         => 'all',
                  "Independence Day"     => 'even',                   "Independence Day"     => 'even',
                  "Labor Day"            => 'even',                   "Labor Day"            => 'even',
                  "Memorial Day"         => 'odd',                   "Memorial Day"         => 'odd',
                  "New Year's Day"       => 'even',                   "New Year's Day"       => 'odd',
                  "New Year's Eve"       => 'odd',                   "New Year's Eve"       => 'odd',
                  "Thanksgiving Day"     => 'odd',                    "Thanksgiving Day"     => 'odd', 
                );           );
   
 my %specials = (  my %specials = (
                 "11/28"                 => "even",                  "11/28"                 => "even",
                 "5/6"                   => "odd",                  "5/6"                   => "odd",
                 );                  );
 my @weekend  = qw/ 2011 8 12 /;  
   my @school_days = (
           "2020/11/27",
           "2020/12/24",
           "2020/12/25",
           "2020/12/28",
           "2020/12/29",
           "2020/12/30",
           "2020/12/31",
           "2021/01/01",
           "2021/01/18",
           "2021/02/15",
           "2021/03/29",
           "2021/03/30",
           "2021/03/31",
           "2021/04/01",
           "2021/04/02",
           "2021/04/05",
           "2021/05/31",
           "2021/06/01"
       );
   
   print "Content-type: text/html\n\n";
   print &header( );
   
   
   ## Change this @weekend to 'qw/ 2011 8 12 /' for original schedule
   my @weekend  = qw/ 2011 8 19 /;
 my %weekends = &calcWeekends( @weekend );  my %weekends = &calcWeekends( @weekend );
   
 &ReadParse( );  &ReadParse( );
   
 my $yr =  sprintf( "%d", $post_in{'cy'} ) || ( ( localtime )[5] + 1900 );  my $yr =  sprintf( "%d", $post_in{'cy'} || ( localtime )[5] + 1900 );
 my $YEAR = sprintf( "%d", $yr );  my $YEAR = sprintf( "%d", $yr );
   push @list, 'Easter Sunday' if ( $YEAR % 2 == 0 );
   
 print "Content-type: text/html\n\n";  
 print &header( );  
 print &css( );  print &css( );
 print "<h1>Calendar for $YEAR</h1>\n";  my $year_us = Date::Pcalendar::Year->new( $YEAR, $Profiles->{'US-FL'} );
 print "</p>Holidays I have Connor are in <font color=red>Red</font>\n</br>";  
 print "Today is <font color=blue>Blue</font>\n</br>";  
 print "Weekends and special days I have Connor are in <font color=green>Green</font>\n</p>";  
   
 my $year_us = Date::Calendar::Year->new( $YEAR, $Profiles->{'US-FL'} );  
 my @hdays = $year_us->labels( );  my @hdays = $year_us->labels( );
   
 #$DEBUG = "Holidays for $YEAR:\n";  print "<h1><center><a href=\"$URL?cy=" . ( $YEAR - 1 ) .
 #foreach ( sort @hdays ) { $DEBUG .= $_ ."\n"; }        "\">&lt;--</a> " .
         "Calendar Days Connor Visits for $YEAR" .
          "<a href=\"$URL?cy=" . ( $YEAR + 1 ) . "\"> --&gt;</a></h1>";
 print "<center><a href=\"$URL?cy=" . ( $YEAR - 1 ) .  
       "\">&lt;--</a> <b>$YEAR</b> " .  
        "<a href=\"$URL?cy=" . ( $YEAR + 1 ) . "\">--&gt;</a></center>";  
 my $row = 0;  my $row = 0;
 print "<table align=center border=0><tr>";  print "<table align=center border=0><tr>";
 for( my $month = 1; $month <= 12; $month++ )  for( my $month = 1; $month <= 12; $month++ )
Line 104  for( my $month = 1; $month <= 12; $month Line 123  for( my $month = 1; $month <= 12; $month
                                         print sprintf "<font color=green><b>%2d</b> </font>", $day;                                          print sprintf "<font color=green><b>%2d</b> </font>", $day;
                                 } elsif ( &isToday( $YEAR, $month, $day ) ) {                                  } elsif ( &isToday( $YEAR, $month, $day ) ) {
                                         print sprintf "<font color=blue><b>%2d</b> </font>", $day;                                          print sprintf "<font color=blue><b>%2d</b> </font>", $day;
                   } elsif ( &isSchoolClosed( $YEAR, $month, $day ) ) {
                                           print sprintf "<font color=orange><b>%2d</b> </font>", $day;
                                 } else {                                  } else {
                                         print sprintf "%2d ", $day;                                          print sprintf "%2d ", $day;
                                 }                                  }
Line 117  for( my $month = 1; $month <= 12; $month Line 138  for( my $month = 1; $month <= 12; $month
         $row++;          $row++;
 }  }
 print "</tr></table>";  print "</tr></table>";
 print "<center>List of Special/Holidays I have Connor:<br /><pre>";  print "<p class=\"Legend\">Holidays Connor visits are in <font color=red>Red</font>\n</br>";
 print map { $_ . "\n" } sort @list;  print "Today is <font color=blue>Blue</font>\n</br>";
 print "</pre><br /><hr />Version: <font color=green>$VERSION</font><br />";  print "Days off from school are <font color=orange>Orange</font>\n<br><b> Last Day of School 06/23/2021</b>\n</br>\n";
 print "CVS: <a href=\"http://demandred.dyndns.org/cgi-bin/cvsweb/ConnorCalendar/\">http://demandred.dyndns.org/cgi-bin/cvsweb/ConnorCalendar/</a>";  print "Weekends and special days Connor visits are in <font color=green>Green</font>\n</p>";
 print "</center><pre>\n\n$DEBUG</pre>";  
   
   print "<table width=35% align=center border=0><tr><td>List of Special/Holidays " .
         "Connor Visits:<br /><p class=Legend>";
   print map { $_ . "<br />\n" } sort @list;
   print "</p></td></tr></table>\n";
   print "</pre><p class=\"footer\">Version: <font color=green>$VERSION</font><br />";
   print "CVS: <a target=\"_new\" href=\"http://demandred.dyndns.org/cgi-bin/cvsweb/ConnorCalendar/\">http://demandred.dyndns.org/cgi-bin/cvsweb/ConnorCalendar/</a>";
   print "</center></p>";
   
   
 ###############################################################################  ###############################################################################
Line 142  sub IHaveConnor Line 171  sub IHaveConnor
   
 sub isSpecial  sub isSpecial
 {  {
         my $y = shift || return 0;      my $y = shift || return 0;
         my $m = shift || return 0;      my $m = shift || return 0;
         my $d = shift || return 0;      my $d = shift || return 0;
         my $yr = ( $YEAR % 2 ) ? "odd" : "even";          my $yr = ( $YEAR % 2 ) ? "odd" : "even";
   
         my $ref = "$m/$d";          my $ref = "$m/$d";
Line 161  sub isSpecial Line 190  sub isSpecial
         return 0;          return 0;
 }  }
   
   sub isSchoolClosed
   {
       my $y = shift || return 0;
       my $m = shift || return 0;
       my $d = shift || return 0;
   
       my $date_str = sprintf( "$y/%02d/%02d", $m, $d );
   
       foreach my $sd ( @school_days ) {
         return 1 if $date_str =~ m/$sd/;
       }
   
       return 0;
   }
   
 sub isWeekend  sub isWeekend
 {  {
         my $y = shift || return 0;          my $y = shift || return 0;
         my $m = shift || return 0;      my $m = shift || return 0;
         my $d = shift || return 0;      my $d = shift || return 0;
   
         $m--;          $m--;
         my $ds = sprintf( "$y/$months[$m]/%02d", $d );          my $ds = sprintf( "$y/$months[$m]/%02d", $d );
Line 194  sub calcWeekends Line 238  sub calcWeekends
         my $d = shift;          my $d = shift;
         my %weekends = ( );          my %weekends = ( );
   
         print "Weekends I have Connor:\n";          print "Weekends Connor Visits:\n";
   
         use Calendar;          use Calendar;
         my $date = Calendar->new_from_Gregorian( $m, $d, $y );          my $date = Calendar->new_from_Gregorian( $m, $d, $y );
Line 303  padding-bottom: 0px; Line 347  padding-bottom: 0px;
  font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, sans-serif;   font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, sans-serif;
  #font-family: Geneva, Arial, Helvetica, sans-serif;   #font-family: Geneva, Arial, Helvetica, sans-serif;
  font-size: 12pt;   font-size: 12pt;
  background:url(lowerright.jpg) no-repeat bottom right;   background: #eeeeee;
  color:#000000;   color:#000000;
   
   
Line 317  padding-bottom: 0px; Line 361  padding-bottom: 0px;
  text-align: center;   text-align: center;
 }  }
   
   p.Legend {
    color: #000000;
    font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, sans-serif;
    font-size: 8pt;
    margin: auto;
    width: 300px;
    background-color : transparent;
    border-top: 1px solid #888888;
    border-left: 1px solid #888888;
    border-right: 1px solid #888888;
    border-bottom: 1px solid #888888;
    padding-top: 3px;
    padding-bottom: 3px;
    padding-left: 3px;
    padding-right: 3px;
   }
   
 h1 {   h1 { 
  color: #191970;    color: #191970; 
  font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, sans-serif;   font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, sans-serif;
  #font-family: Verdana, Arial, sans-serif;   #font-family: Verdana, Arial, sans-serif;
  font-size: 12pt; font-weight: bold; line-height: 15pt;   font-size: 12pt; font-weight: bold; line-height: 15pt;
    background-color : transparent;
    margin-left: 20px;
    margin-right: 20px;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
 }  }
   
   
Line 364  line-height: 120%; Line 430  line-height: 120%;
 }  }
   
   
 .footer {  p.footer {
 padding-top: 10px;   color: #000000;
 padding-left: 50px;   font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, sans-serif;
 padding-right: 50px;   font-size: 8pt;
    margin: auto;
    width: 500px;
    background-color : transparent;
    border-top: 1px solid #888888;
    padding-top: 3px;
    padding-bottom: 3px;
    padding-left: 3px;
    padding-right: 3px;
    text-align: center;
 }  }
   
   

Removed from v.1.5  
changed lines
  Added in v.1.14


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