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

Class: Date_Holidays_Driver

Source Location: /Date_Holidays-0.21.8/Date/Holidays/Driver.php

Class Overview


class that helps you to locate holidays for a year


Author(s):

Version:

  • CVS: $Id$

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_EasternChristian
class that calculates Eastern Christian holidays
Date_Holidays_Driver_Jewish
class that calculates Jewish holidays

Inherited Variables

Inherited Methods


Class Details

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


[ Top ]


Class Variables

$_dates = array()

[line 173]

dates of the available holidays
  • Access: protected

Type:   array


[ Top ]

$_driverName =

[line 133]

this driver's name
  • Access: protected

Type:   string


[ Top ]

$_holidays = array()

[line 181]

array of the available holidays indexed by date
  • Access: protected

Type:   array


[ Top ]

$_internalNames = array()

[line 165]

internal names for the available holidays
  • Access: protected

Type:   array


[ Top ]

$_locale =

[line 141]

locale setting for output
  • Access: protected

Type:   string


[ Top ]

$_titles = array()

[line 189]

localized names of the available holidays
  • Access: protected

Type:   array


[ Top ]

$_year =

[line 157]

object's current year
  • Access: protected

Type:   int


[ Top ]



Method Detail

Date_Holidays_Driver (Constructor)   [line 220]

Date_Holidays_Driver Date_Holidays_Driver( )

Constructor

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

  • Access: protected

[ Top ]

addCompiledTranslationFile   [line 1049]

boolean addCompiledTranslationFile( string $file, string $locale)

Add a compiled language-file's content

The language-file's content will be unserialized and translations, properties, etc. 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 compiled language file
string   $locale     locale-code of the translation

[ Top ]

addDriver   [line 287]

void addDriver( object $driver)

Add a driver component
  • Abstract:
  • Access: public

Overridden in child classes as:

Date_Holidays_Driver_Composite::addDriver()
Add a driver component

Parameters:

object   $driver     Date_Holidays_Driver object

[ Top ]

addTranslation   [line 302]

boolean addTranslation( string $locale)

addTranslation

Search for installed language files appropriate for the specified locale and add them to the driver

  • Return: true on success, otherwise false
  • Access: public

Parameters:

string   $locale     locale setting to be used

[ Top ]

addTranslationFile   [line 1012]

boolean addTranslationFile( string $file, string $locale)

Add a language-file's content

The language-file's content will be parsed and translations, properties, etc. 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 588]

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 1179]

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 1214]

array getHolidayDates( [Date_Holidays_Filter $filter = null])

Returns dates of all holidays or those accepted by the applied filter.

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
  • Throws: object PEAR_Error DATE_HOLIDAYS_INVALID_INTERNAL_NAME
  • Access: public
  • Uses: Date_Holidays_Driver::getHolidayDate()

Overridden in child classes as:

Date_Holidays_Driver_Composite::getHolidayDates()
Returns dates of all holidays or those accepted by the specified filter.

Parameters:

Date_Holidays_Filter   $filter     filter-object (or an array !DEPRECATED!)

[ Top ]

getHolidayForDate   [line 692]

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

Returns a
object, if any was found, matching the specified date.

Normally the method will return the object of the first holiday matching the date. If you want the method 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 containing a number of

items.


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     if true, continue searching holidays for specified date

[ Top ]

getHolidayProperties   [line 489]

array getHolidayProperties( string $internalName, [string $locale = null])

Returns the localized properties of a holiday. If no properties have been stored an empty array will be returned.
  • Return: array of properties on success, otherwise a PEAR_Error object
  • Throws: object PEAR_Error DATE_HOLIDAYS_INVALID_INTERNAL_NAME
  • Access: public

Parameters:

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

[ Top ]

getHolidays   [line 539]

array getHolidays( [Date_Holidays_Filter $filter = null], [string $locale = null])

Returns all holidays that the driver knows.

You can limit the holidays by passing a filter, then only those holidays accepted by the filter will be returned.

Return format:

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

  • Return: numeric array containing objects of Date_Holidays_Holiday on success, otherwise a PEAR_Error object
  • See: Date_Holidays_Driver::getHoliday()
  • Throws: object PEAR_Error DATE_HOLIDAYS_INVALID_INTERNAL_NAME
  • Access: public

Overridden in child classes as:

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

Parameters:

Date_Holidays_Filter   $filter     filter-object (or an array !DEPRECATED!)
string   $locale     locale setting that shall be used by this method

[ Top ]

getHolidaysForDatespan   [line 755]

array getHolidaysForDatespan( mixed $start, mixed $end, [Date_Holidays_Filter $filter = null], [string $locale = null])

Returns an array containing a number of
items.

If no items have been found the returned array will be empty.

  • Return: an array containing a number of
    items
  • Throws: object PEAR_Error DATE_HOLIDAYS_INVALID_DATE_FORMAT
  • Throws: object PEAR_Error DATE_HOLIDAYS_INVALID_DATE
  • Access: public

Parameters:

mixed   $start     date: timestamp, string or PEAR::Date
mixed   $end     date: timestamp, string or PEAR::Date
Date_Holidays_Filter   $filter     filter-object (or an array !DEPRECATED!)
string   $locale     locale setting that shall be used by this method

[ Top ]

getHolidayTitle   [line 444]

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 to be used by this method

[ Top ]

getHolidayTitles   [line 410]

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

Returns localized titles of all holidays or those accepted by the filter
  • Return: array with localized holiday titles on success, otherwise a PEAR_Error object
  • Throws: object PEAR_Error DATE_HOLIDAYS_INVALID_INTERNAL_NAME
  • Access: public
  • Uses: Date_Holidays_Driver::getHolidayTitle()

Overridden in child classes as:

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

Parameters:

Date_Holidays_Filter   $filter     filter-object (or an array !DEPRECATED!)
string   $locale     locale setting that shall be used by this method

[ Top ]

getInternalHolidayNames   [line 392]

array getInternalHolidayNames( )

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

[ Top ]

getISO3166Codes   [line 232]

array getISO3166Codes( )

Method that returns an array containing the ISO3166 codes that may possibly identify a driver.
  • Return: possible ISO3166 codes
  • Access: public

[ Top ]

getYear   [line 261]

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 been able to add your driver to this compound, you should also be able to directly execute this action.

[ Top ]

isHoliday   [line 629]

boolean isHoliday( mixed $date, [Date_Holidays_Filter $filter = null])

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_FORMAT
  • Throws: object PEAR_Error DATE_HOLIDAYS_INVALID_DATE
  • Access: public

Overridden in child classes as:

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

Parameters:

mixed   $date     a timestamp, string or PEAR::Date object
Date_Holidays_Filter   $filter     filter-object (or an array !DEPRECATED!)

[ Top ]

removeDriver   [line 382]

boolean removeDriver( object $driver)

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

Overridden in child classes as:

Date_Holidays_Driver_Composite::removeDriver()
Remove a driver component

Parameters:

object   $driver     Date_Holidays_Driver driver-object

[ Top ]

setLocale   [line 1244]

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 249]

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()
This (re)sets the year of every driver-object in the compound.

Parameters:

int   $year     year

[ Top ]

_addDays   [line 1390]

Date _addDays( Date $date, int $pn_days)

Converts the date to the specified no of days from the given date

To subtract days use a negative value for the '$pn_days' parameter

  • Access: protected

Parameters:

Date   $date     Date object
int   $pn_days     days to add

[ Top ]

_addHoliday   [line 890]

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 allowed as variable-names
mixed   $date     date (timestamp | string | PEAR::Date object)
string   $title     holiday title

[ Top ]

_addStaticHolidays   [line 869]

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 ]

_addStringPropertiesForHoliday   [line 986]

boolean _addStringPropertiesForHoliday( string $internalName, string $locale, array $properties)

Adds a arbitrary number of localized string-properties for the specified holiday.
  • Return: true on success, false otherwise
  • Throws: PEAR_ErrorStack if internal-name does not exist
  • Access: public

Parameters:

string   $internalName     internal-name
string   $locale     locale-setting
array   $properties     associative array: array(propId1 => val1,...)

[ Top ]

_addStringPropertyForHoliday   [line 949]

boolean _addStringPropertyForHoliday( string $internalName, string $locale, string $propId, mixed $propVal)

Adds a localized (regrading translation etc.) string-property for a holiday.

Overwrites existing data.

  • Return: true on success, false otherwise
  • Throws: PEAR_ErrorStack if internal-name does not exist
  • Access: public

Parameters:

string   $internalName     internal-name
string   $locale     locale-setting
string   $propId     property-identifier
mixed   $propVal     property-value

[ Top ]

_addTranslationData   [line 1081]

boolean _addTranslationData( array $data, string $locale)

Add a language-file's content. Translations, properties, etc. 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:

array   $data     translated data
string   $locale     locale-code of the translation

[ Top ]

_addTranslationForHoliday   [line 920]

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

Add a localized translation for a holiday's title. Overwrites existing data.
  • Return: on success, otherwise a PEAR_Error object
  • Throws: object PEAR_Error DATE_HOLIDAYS_INVALID_INTERNAL_NAME
  • Access: protected

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 274]

boolean _buildHolidays( )

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

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_EasternChristian::_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

[ Top ]

_findBestLocale   [line 1150]

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 1118]

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 Tue, 22 Jan 2013 01:00:08 +0000 by phpDocumentor 1.4.3. PEAR Logo Copyright © PHP Group 2004.