Date_Holidays
[ class tree: Date_Holidays ] [ index: Date_Holidays ] [ all elements ]

Source for file Holiday.php

Documentation is available at Holiday.php

  1. <?php
  2. /* vim: set expandtab tabstop=4 shiftwidth=4: */
  3. /**
  4.  * Holiday.php
  5.  *
  6.  * PHP Version 5
  7.  *
  8.  * Copyright (c) 1997-2008 The PHP Group
  9.  *
  10.  * This source file is subject to version 3.0 of the PHP license,
  11.  * that is bundled with this package in the file LICENSE, and is
  12.  * available at through the world-wide-web at
  13.  * http://www.php.net/license/3_01.txt.
  14.  * If you did not receive a copy of the PHP license and are unable to
  15.  * obtain it through the world-wide-web, please send a note to
  16.  * license@php.net so we can mail you a copy immediately.
  17.  *
  18.  * @category Date
  19.  * @package  Date_Holidays
  20.  * @author   Carsten Lucke <luckec@tool-garage.de>
  21.  * @license  http://www.php.net/license/3_01.txt PHP License 3.0.1
  22.  * @version  CVS: $Id$
  23.  * @link     http://pear.php.net/package/Date_Holidays
  24.  */
  25.  
  26. /**
  27.  * Simple class that wraps a holiday's data
  28.  *
  29.  * @category Date
  30.  * @package  Date_Holidays
  31.  * @author   Carsten Lucke <luckec@tool-garage.de>
  32.  * @license  http://www.php.net/license/3_01.txt PHP License 3.0.1
  33.  * @version  CVS: $Id$
  34.  * @link     http://pear.php.net/package/Date_Holidays
  35.  */
  36. {
  37.     /**
  38.      * Internal name
  39.      *
  40.      * @access   private
  41.      * @var      string 
  42.      */
  43.     var $_internalName;
  44.  
  45.     /**
  46.      * Title
  47.      *
  48.      * @access   private
  49.      * @var      string 
  50.      */
  51.     var $_title;
  52.  
  53.     /**
  54.      * Date
  55.      *
  56.      * @access   private
  57.      * @var      object Date 
  58.      */
  59.     var $_date;
  60.  
  61.     /**
  62.      * Additional holiday properties like a more detailed description, etc.
  63.      *
  64.      * @access   private
  65.      * @var      array 
  66.      */
  67.     var $_properties;
  68.  
  69.     /**
  70.      * Constructor
  71.      *
  72.      * @param string $internalName internal name
  73.      * @param string $title        title
  74.      * @param object &$date        date
  75.      * @param array  $properties   properties for this holiday
  76.      *
  77.      * @access public
  78.      * @return void 
  79.      */
  80.     function Date_Holidays_Holiday($internalName$title&$date$properties)
  81.     {
  82.         $this->_internalName $internalName;
  83.         $this->_title        $title;
  84.         $this->_date         = null;
  85.         $this->_properties   = array();
  86.  
  87.         if (is_a($date'Date')) {
  88.             $this->_date $date;
  89.         }
  90.  
  91.         if (is_array($properties)) {
  92.             $this->_properties $properties;
  93.         }
  94.     }
  95.  
  96.     /**
  97.      * Returns the internal name
  98.      *
  99.      * @access   public
  100.      * @return   string  internal name
  101.      */
  102.     function getInternalName()
  103.     {
  104.         return $this->_internalName;
  105.     }
  106.  
  107.     /**
  108.      * Returns the title
  109.      *
  110.      * @access   public
  111.      * @return   string  title
  112.      */
  113.     function getTitle()
  114.     {
  115.         return $this->_title;
  116.     }
  117.  
  118.     /**
  119.      * Returns the date
  120.      *
  121.      * @access   public
  122.      * @return   object Date date
  123.      */
  124.     function getDate()
  125.     {
  126.         return $this->_date;
  127.     }
  128.  
  129.     /**
  130.      * Set the internal name
  131.      *
  132.      * @param string $internalName internal name
  133.      *
  134.      * @access   public
  135.      * @return   void 
  136.      */
  137.     function setInternalName($internalName)
  138.     {
  139.         $this->_internalName $internalName;
  140.     }
  141.  
  142.     /**
  143.      * Set the title
  144.      *
  145.      * @param string $title title
  146.      *
  147.      * @access   public
  148.      * @return   void 
  149.      */
  150.     function setTitle($title)
  151.     {
  152.         $this->_title $title;
  153.     }
  154.  
  155.     /**
  156.      * Set the date
  157.      *
  158.      * @param object &$date date
  159.      *
  160.      * @access   public
  161.      * @return   void 
  162.      */
  163.     function setDate(&$date)
  164.     {
  165.         $this->_date $date;
  166.     }
  167.  
  168.     /**
  169.      * Returns the holiday data as an array.
  170.      *
  171.      * Format:
  172.      * <pre>
  173.      *   array(
  174.      *       'internalName'  => 'easter'
  175.      *       'title'         => 'Easter Sunday'
  176.      *       'date'          => Object of type Date
  177.      *   )
  178.      * </pre>
  179.      *
  180.      * @access   public
  181.      * @return   array   holiday-data
  182.      */
  183.     function toArray()
  184.     {
  185.         $data                 = array();
  186.         $data['internalName'$this->_internalName;
  187.         $data['title']        $this->_title;
  188.         $data['date']         $this->_date;
  189.         return $data;
  190.     }
  191.  
  192.     /**
  193.      * Returns the holidays additional properties that contain information
  194.      * like a more detailed description, etc.
  195.      *
  196.      * @access   public
  197.      * @return   array   associative array with corresponding pairs
  198.      *                       of propertyName => $propertyValue
  199.      */
  200.     function getProperties()
  201.     {
  202.         return $this->_properties;
  203.     }
  204. }
  205. ?>

Documentation generated on Tue, 22 Jan 2013 01:00:08 +0000 by phpDocumentor 1.4.3. PEAR Logo Copyright © PHP Group 2004.