<?php
 
 
require_once( "dateclass.php" );
 
 
# calendar class
 
# coded by Alessandro Rosa
 
# e-mail : [email protected]
 
# site : http://malilla.supereva.it
 
 
# Copyright (C) 2006  Alessandro Rosa
 
 
# This program is free software; you can redistribute it and/or modify
 
# it under the terms of the GNU General Public License as published by
 
# the Free Software Foundation; either version 3 of the License, or
 
# any later version.
 
 
# This program is distributed in the hope that it will be useful,
 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
# GNU General Public License for more details.
 
 
# You should have received a copy of the GNU General Public License
 
# along with this program; if not, write to the Free Software Foundation,
 
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
 
# Compiled with PHP 4.4.0
 
 
$seasons_colors = array( 1 => "#F0F8FF", 
 
                         2 => "#ECF1EF",
 
                         3 => "#CD3278",
 
                         4 => "#B4EEB4",
 
                         5 => "#B22222",
 
                         6 => "#FF6347",
 
                         7 => "#00C5CD",
 
                         8 => "#7AC5CD",
 
                         9 => "#B3EE3A",
 
                         10 => "#CD9B1D",
 
                         11 => "#8B0000",
 
                         12 => "#8B8B00" ) ;
 
 
# REMARK : refer to the global arrays in dateclass.php for months and days names
 
 
class calendar
 
{
 
      function calendar()
 
      {
 
      }
 
      
 
      function build_it()     
 
      {
 
             $dclass = new date();
 
 
             echo "<table class=\"calendar\">";
 
             
 
             $a = getdate();
 
             $this->today_d = $day = $a['mday'] ;
 
             $week_day = $a['wday'] ;
 
             $this->today_m = $month = $a['mon'] ;
 
             $this->today_y = $year = $a['year'] ;
 
             $this->today_full_name = $GLOBALS['name_days'][$week_day];
 
             
 
             $season_clr = $GLOBALS['seasons_colors'][$month] ;
 
             
 
             $dclass->set_start_date( 1, $month, $year ) ;
 
             
 
             $month_name = $dclass->get_start_month_name();
 
             $first_day_index = $dclass->get_start_day_index() ;
 
             
 
             echo "<tr><td style=\"background-color:$season_clr;\" class=\"month\" colspan=\"7\">$month_name</td></tr>\r\n";
 
             echo "<tr class=\"weekdays\">\r\n";
 
             
 
             if ( $this->bSundayStart === true ) echo "\t\t\t\t<td class=\"weekdays\">".(( $week_day == 0 ) ? "<b>".$GLOBALS['short_name_days']['7']."</b>" : $GLOBALS['short_name_days']['0'])."</td>";
 
             echo "\t\t\t\t<td class=\"weekdays\">".(( $week_day == 1 ) ? "<b>".$GLOBALS['short_name_days']['1']."</b>" : $GLOBALS['short_name_days']['1'])."</td>";
 
             echo "\t\t\t\t<td class=\"weekdays\">".(( $week_day == 2 ) ? "<b>".$GLOBALS['short_name_days']['2']."</b>" : $GLOBALS['short_name_days']['2'])."</td>";
 
             echo "\t\t\t\t<td class=\"weekdays\">".(( $week_day == 3 ) ? "<b>".$GLOBALS['short_name_days']['3']."</b>" : $GLOBALS['short_name_days']['3'])."</td>";
 
             echo "\t\t\t\t<td class=\"weekdays\">".(( $week_day == 4 ) ? "<b>".$GLOBALS['short_name_days']['4']."</b>" : $GLOBALS['short_name_days']['4'])."</td>";
 
             echo "\t\t\t\t<td class=\"weekdays\">".(( $week_day == 5 ) ? "<b>".$GLOBALS['short_name_days']['5']."</b>" : $GLOBALS['short_name_days']['5'])."</td>";
 
             echo "\t\t\t\t<td class=\"weekdays\">".(( $week_day == 6 ) ? "<b>".$GLOBALS['short_name_days']['6']."</b>" : $GLOBALS['short_name_days']['6'])."</td>";
 
             if ( $this->bSundayStart === false ) echo "\t\t\t\t<td class=\"weekdays\">".(( $week_day == 0 ) ? "<b>".$GLOBALS['short_name_days']['7']."</b>" : $GLOBALS['short_name_days']['0'])."</td>";
 
 
             echo "</tr>\r\n";
 
             echo "\t\t\t\t<tr><td style=\"height:5px;\"></td></tr>\r\n";
 
 
             $cell_current_index = ( $this->bSundayStart ) ? $first_day_index : $first_day_index - 1 ;
 
             $cell_current_index = ( $cell_current_index == 7 ) ? 0 : $cell_current_index ;
 
             
 
             echo "<tr>\r\n" ;
 
             
 
             for ( $i = 0; $i < $cell_current_index; $i++ )
 
             {
 
                 echo "\t<td class=\"calendar\"></td>\r\n" ;
 
             }
 
             
 
             $cell_current_index = $i ;
 
             
 
             $month_days = $dclass->get_month_days( $month, $year ) ;
 
             
 
             for( $i = 1 ; $i <= $month_days; $i++ )
 
             {
 
                 if ( $i == $day ) echo "\t<td style=\"font-weight:bold;\" class=\"calendar\">$i</td>\r\n" ;
 
                 else echo "\t<td class=\"calendar\">$i</td>\r\n" ;
 
             
 
                 $cell_current_index++ ;
 
             
 
                 $cell_current_index %= 7 ;
 
                 
 
                 if ( $cell_current_index == 0 ) echo "</tr>\r\n\t<tr>\r\n" ;
 
             }
 
             
 
             echo "\t\t\t\t<tr><td style=\"height:5px;\"></td></tr>\r\n";
 
             
 
             if ( $this->get_display_today() ) echo "<tr><td colspan=\"7\" class=\"today\">Today is : ".$this->get_today_full_name()." ".$this->get_today_date()."</td></tr>" ;
 
             
 
             echo "</table>\r\n";
 
      }
 
      
 
      function display_english_date( $bED )           { $this->bEngDate = $bED ; }
 
      function get_display_english_date_opt( $bED )   { return $this->bEngDate ; }
 
 
      function get_sunday_start()           { return $this->bSundayStart ; }
 
      function set_sunday_start( $bS )      { $this->bSundayStart = $bS ;  }
 
 
      function get_display_today()          { return $this->bDisplayToday ; }
 
      function set_display_today( $bDt )    { $this->bDisplayToday = $bDt ; }
 
 
      function get_today_date()             { return ( ( $this->bEngDate ) ? $this->today_m."-".$this->today_d : $this->today_d."-".$this->today_m ) . "-".$this->today_y ; }
 
      function get_today_full_name()        { return $this->today_full_name ; }
 
 
      var $bSundayStart = TRUE ;
 
      var $bDisplayToday = TRUE ;
 
      var $bEngDate = TRUE ;
 
 
      var $today_d ;
 
      var $today_m ;
 
      var $today_y ;
 
      var $today_full_name ;
 
}
 
 
 |