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

Class: Date_Holidays_Driver

Source Location: /Date_Holidays-0.10.0/Holidays/Driver.php

Class Overview


class that helps you to locate holidays for a year


Author(s):

Version:

  • $Id: Driver.php,v 1.23 2004/08/30 17:33:26 luckec Exp $

Variables

Methods


Child classes:

Date_Holidays_Driver_Example
Example how to create an own driver-class for Date_Holidays
Date_Holidays_Driver_Christian
class that calculates Christian holidays
Date_Holidays_Driver_Composite
Composite driver - you can use this one to combine two or more drivers
Date_Holidays_Driver_Jewish
class that calculates Jewish holidays
Date_Holidays_Driver_UNO
Driver-class that calculates UNO (United Nations Organization) holidays

Inherited Variables

Inherited Methods


Class Details

[line 83]
class that helps you to locate holidays for a year


[ Top ]


Class Variables

$_dates = array()

[line 123]

dates of the available holidays
  • Access: protected

Type:   array


[ Top ]

$_internalNames = array()

[line 115]

internal names for the available holidays
  • Access: protected

Type:   array


[ Top ]

$_locale =

[line 91]

locale setting for output
  • Access: protected

Type:   string


[ Top ]

$_titles = array()

[line 131]

localized names of the available holidays
  • Access: protected

Type:   array


[ Top ]

$_year =

[line 107]

object's current year
  • Access: protected

Type:   int


[ Top ]



Method Detail

Date_Holidays_Driver (Constructor)   [line 140]

Date_Holidays_Driver Date_Holidays_Driver( )

Constructor

Use the Date_Holidays::factory() method to construct an object of a certain driver

  • Access: protected

[ Top ]

addDriver   [line 193]

void addDriver( object Date_Holidays_Driver $driver)

Add a driver component
  • Access: public
  • Abstract:

Overridden in child classes as:

Date_Holidays_Driver_Composite::addDriver()
Add a driver component

Parameters:

object Date_Holidays_Driver   $driver     driver-object

[ Top ]

addTranslationFile   [line 577]

boolean addTranslationFile( string $file, string $locale)

Add a translation-file's content

The translation-file's content will be parsed and translations for holidays will be made available with the specified locale.

  • Return: true on success, otherwise a PEAR_ErrorStack object
  • Throws: object PEAR_Errorstack
  • Access: public

Parameters:

string   $file     filename of the language file
string   $locale     locale-code of the translation

[ Top ]

getHoliday   [line 337]

object Date_Holidays_Holiday getHoliday( string $internalName, [string $locale = null])

Returns the specified holiday

Return format:

   array(
       'title' =>  'Easter Sunday'
       'date'  =>  '2004-04-11'
   )
 


Overridden in child classes as:

Date_Holidays_Driver_Composite::getHoliday()
Returns the specified holiday

Parameters:

string   $internalName     internal name of the holiday
string   $locale     locale setting that shall be used by this method

[ Top ]

getHolidayDate   [line 662]

object Date getHolidayDate( string $internalName)

Returns date of a holiday

Overridden in child classes as:

Date_Holidays_Driver_Composite::getHolidayDate()
Returns date of a holiday

Parameters:

string   $internalName     internal name for holiday

[ Top ]

getHolidayDates   [line 693]

array getHolidayDates( [array $restrict = array()])

Returns dates of all holidays or those specififed in $restrict array

Structure of the returned array:

 array(
   'internalNameFoo' => object of type date,
   'internalNameBar' => object of type date
 )
 

  • Return: with holidays' dates on success, otherwise a PEAR_Error object
  • Uses: Date_Holidays_Driver::getHolidayDate()
  • Throws: object PEAR_Error DATE_HOLIDAYS_INVALID_INTERNAL_NAME
  • Access: public

Overridden in child classes as:

Date_Holidays_Driver_Composite::getHolidayDates()
Returns dates of all holidays or those specififed in $restrict array

Parameters:

array   $restrict     internal names of desired holidays

[ Top ]

getHolidayForDate   [line 423]

object object getHolidayForDate( mixed $date, [string $locale = null], [boolean $multiple = false])

Returns the title of the holiday, if any was found, matching the specified date.

Normally the method will return the title/data for the first holiday matching the date. If you want the mthod to continue searching holidays for the specified date, set the 4th param to true If multiple holidays match your date, the return value will be an array of the titles/data.

 array(
   array(
       'title' => 'New Year',
       'date'  => Object of type Date
   ),
   array(
       'title' => 'Circumcision of Jesus',
       'date'  => Object of type Date
   )
 )
 


Overridden in child classes as:

Date_Holidays_Driver_Composite::getHolidayForDate()
Returns the title of the holiday, if any was found, matching the specified date.

Parameters:

mixed   $date     date (timestamp | string | PEAR::Date object)
string   $locale     locale setting that shall be used by this method
boolean   $multiple     

[ Top ]

getHolidays   [line 302]

array getHolidays( [array $restrict = array()])

Returns all holidays that the driver knows.

You can limit the holidays by setting the $restrict array, then only those will be returned, whose internal name occurrs in this array.

Return format:

   array(
       'easter'        =>  object of type Date_Holidays_Holiday,
       'eastermonday'  =>  object of type Date_Holidays_Holiday,
       ...
   )
 


Overridden in child classes as:

Date_Holidays_Driver_Composite::getHolidays()
Returns all holidays that were found

Parameters:

array   $restrict     internal names of desired holidays

[ Top ]

getHolidayTitle   [line 257]

string getHolidayTitle( string $internalName, [string $locale = null])

Returns localized title for a holiday

Overridden in child classes as:

Date_Holidays_Driver_Composite::getHolidayTitle()
Returns localized title for a holiday

Parameters:

string   $internalName     internal name for holiday
string   $locale     locale setting that shall be used by this method

[ Top ]

getHolidayTitles   [line 231]

array getHolidayTitles( [array $restrict = array()], [string $locale = null])

Returns localized titles of all holidays or those specififed in $restrict array
  • Return: with localized holiday titles on success, otherwise a PEAR_Error object
  • Uses: Date_Holidays_Driver::getHolidayTitle()
  • Throws: object PEAR_Error DATE_HOLIDAYS_INVALID_INTERNAL_NAME
  • Access: public

Overridden in child classes as:

Date_Holidays_Driver_Composite::getHolidayTitles()
Returns localized titles of all holidays or those specififed in $restrict array

Parameters:

array   $restrict     internal names of desired holidays
string   $locale     locale setting that shall be used by this method

[ Top ]

getInternalHolidayNames   [line 216]

array getInternalHolidayNames( )

Returns the internal names of holidays that were calculated
  • Access: public

Overridden in child classes as:

Date_Holidays_Driver_Composite::getInternalHolidayNames()
Returns the internal names of holidays that were calculated

[ Top ]

getYear   [line 167]

int getYear( )

Returns the driver's current year
  • Return: current year
  • Access: public

Overridden in child classes as:

Date_Holidays_Driver_Composite::getYear()
Using this method doesn't affect anything. If you have bben able to add your driver to this compound, you should also be able to directly execute this action.

[ Top ]

isHoliday   [line 368]

boolean isHoliday( mixed $date, [array $restrict = array()])

Determines whether a date represents a holiday or not
  • Return: true if date represents a holiday, otherwise false
  • Throws: object PEAR_Error DATE_HOLIDAYS_INVALID_DATE, DATE_HOLIDAYS_INVALID_DATE_FORMAT
  • Access: public

Overridden in child classes as:

Date_Holidays_Driver_Composite::isHoliday()
Determines whether a date represents a holiday or not.

Parameters:

mixed   $date     date (can be a timestamp, string or PEAR::Date object)
array   $restrict     internal-names of holidays to limit search on

[ Top ]

removeDriver   [line 206]

boolean removeDriver( object Date_Holidays_Driver $driver)

Remove a driver component
  • Return: true on success, otherwise a PEAR_Error object
  • Throws: object PEAR_Error DATE_HOLIDAYS_DRIVER_NOT_FOUND
  • Access: public
  • Abstract:

Overridden in child classes as:

Date_Holidays_Driver_Composite::removeDriver()
Remove a driver component

Parameters:

object Date_Holidays_Driver   $driver     driver-object

[ Top ]

setLocale   [line 716]

void setLocale( string $locale)

Sets the driver's locale
  • Access: public

Overridden in child classes as:

Date_Holidays_Driver_Composite::setLocale()
Using this method doesn't affect anything. If you have bben able to add your driver to this compound, you should also be able to directly execute this action.

Parameters:

string   $locale     locale

[ Top ]

setYear   [line 155]

boolean setYear( int $year)

Sets the driver's current year

Calling this method forces the object to rebuild the holidays


Overridden in child classes as:

Date_Holidays_Driver_Composite::setYear()
Using this method doesn't affect anything. If you have bben able to add your driver to this compound, you should also be able to directly execute this action.

Parameters:

int   $year     year

[ Top ]

_addHoliday   [line 530]

void _addHoliday( string $internalName, mixed $date, string $title)

Adds a holiday to the driver's holidays

Parameters:

string   $internalName     internal name - must not contain characters that aren\'t allowes as variable-names
mixed   $date     date (timestamp | string | PEAR::Date object)
string   $title     holiday title

[ Top ]

_addStaticHolidays   [line 514]

void _addStaticHolidays( array $holidays)

Adds all holidays in the array to the driver's internal list of holidays.

Format of the array:

   array(
       'newYearsDay'   => array(
           'date'          => '01-01',
           'title'         => 'New Year\'s Day',
           'translations'  => array(
               'de_DE' =>  'Neujahr',
               'en_EN' =>  'New Year\'s Day'
           )
       ),
       'valentinesDay' => array(
           ...
       )
   );
 


Parameters:

array   $holidays     static holidays' data

[ Top ]

_addTranslationForHoliday   [line 551]

true _addTranslationForHoliday( string $internalName, string $locale, string $title)

Add a localized translation for a holiday's title

Parameters:

string   $internalName     internal name of an existing holiday
string   $locale     locale setting that shall be used by this method
string   $title     title

[ Top ]

_buildHolidays   [line 180]

boolean _buildHolidays( )

Build the internal arrays that contain data about the calculated holidays
  • Return: true on success, otherwise a PEAR_ErrorStack object
  • Usedby: Date_Holidays_Driver::setYear()
  • Throws: object PEAR_ErrorStack
  • Access: protected
  • Abstract:

Overridden in child classes as:

Date_Holidays_Driver_Example::_buildHolidays()
Build the internal arrays that contain data about the calculated holidays
Date_Holidays_Driver_Christian::_buildHolidays()
Build the internal arrays that contain data about the calculated holidays
Date_Holidays_Driver_Germany::_buildHolidays()
Build the internal arrays that contain data about the calculated holidays
Date_Holidays_Driver_Jewish::_buildHolidays()
Build the internal arrays that contain data about the calculated holidays
Date_Holidays_Driver_UNO::_buildHolidays()
Build the internal arrays that contain data about the calculated holidays

[ Top ]

_findBestLocale   [line 636]

string _findBestLocale( string $locale)

Finds the best internally available locale for the specified one
  • Return: best locale available
  • Access: protected

Parameters:

string   $locale     locale

[ Top ]

_removeHoliday   [line 606]

boolean _removeHoliday( $string $internalName)

Remove a holiday from internal storage

This method should be used within driver classes to unset holidays that were inherited from parent-drivers

  • Return: true on success, otherwise a PEAR_Error object
  • Throws: object PEAR_Error DATE_HOLIDAYS_INVALID_INTERNAL_NAME
  • Access: protected

Parameters:

$string   $internalName     internal name

[ Top ]


Documentation generated on Mon, 30 Aug 2004 14:20:10 -0400 by phpDocumentor 1.2.3. PEAR Logo Copyright © PHP Group 2004.