Viewing File: /usr/local/cpanel/3rdparty/php/83/lib/php/Date/Holidays/Driver/Austria.php
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
/**
* Driver for holidays in Austria
*
* PHP Version 5
*
* Copyright (c) 1997-2008 The PHP Group
*
* This source file is subject to version 3.0 of the PHP license,
* that is bundled with this package in the file LICENSE, and is
* available at through the world-wide-web at
* http://www.php.net/license/3_01.txt.
* If you did not receive a copy of the PHP license and are unable to
* obtain it through the world-wide-web, please send a note to
* license@php.net so we can mail you a copy immediately.
*
* @category Date
* @package Date_Holidays
* @author Stephan Schmidt <schst@php-tools.net>
* @author Carsten Lucke <luckec@tool-garage.de>
* @license http://www.php.net/license/3_01.txt PHP License 3.0.1
* @version CVS: $Id$
* @link http://pear.php.net/package/Date_Holidays
*/
/**
* Requires Christian driver
*/
require_once 'Date/Holidays/Driver/Christian.php';
/**
* class that calculates Austrian holidays
*
* @category Date
* @package Date_Holidays
* @subpackage Driver
* @author Klemens Ullmann <klemens@ull.at>
* @license http://www.php.net/license/3_01.txt PHP License 3.0.1
* @version CVS: $Id$
* @link http://pear.php.net/package/Date_Holidays
*/
class Date_Holidays_Driver_Austria extends Date_Holidays_Driver
{
/**
* this driver's name
*
* @access protected
* @var string
*/
var $_driverName = 'Austria';
/**
* Constructor
*
* Use the Date_Holidays::factory() method to construct an object of a certain
* driver
*
* @access protected
*/
public function __construct()
{
}
/**
* Build the internal arrays that contain data about the calculated holidays
*
* @access protected
* @return boolean true on success, otherwise a PEAR_ErrorStack object
* @throws object PEAR_ErrorStack
*/
function _buildHolidays()
{
/**
* New Year's Day
*/
$this->_addHoliday('newYearsDay', $this->_year . '-01-01', 'Neujahr');
$this->_addTranslationForHoliday('newYearsDay', 'en_EN', 'New Year\'s Day');
/**
* Epiphanias
*/
$this->_addHoliday(
'epiphany',
$this->_year . '-01-06',
'Heilige Drei Könige'
);
$this->_addTranslationForHoliday('epiphany', 'en_EN', 'Epiphany');
/**
* Valentine´s Day
*/
$this->_addHoliday(
'valentinesDay',
$this->_year . '-02-14',
'Valentinstag'
);
$this->_addTranslationForHoliday('valentinesDay', 'en_EN', 'Valentines Day');
/**
* Easter Sunday
*/
$easterDate = Date_Holidays_Driver_Christian::calcEaster($this->_year);
$this->_addHoliday('easter', $easterDate, 'Ostersonntag');
$this->_addTranslationForHoliday('easter', 'en_EN', 'Easter');
/**
* Ash Wednesday
*/
$ashWednesday = $this->_addDays($easterDate, -46);
$this->_addHoliday('ashWednesday', $ashWednesday, 'Aschermittwoch');
$this->_addTranslationForHoliday('ashWednesday', 'en_EN', 'Ash Wednesday');
/**
* Palm Sunday
*/
$palmSunday = $this->_addDays($easterDate, -7);
$this->_addHoliday('palmSunday', $palmSunday, 'Palmsonntag');
$this->_addTranslationForHoliday('palmSunday', 'en_EN', 'Palm Sunday');
/**
* Maundy Thursday
*/
$maundyThursday = $this->_addDays($easterDate, -3);
$this->_addHoliday('maundyThursday', $maundyThursday, 'Gründonnerstag');
$this->_addTranslationForHoliday(
'maundyThursday',
'en_EN',
'Maundy Thursday'
);
/**
* Good Friday
*/
$goodFriday = $this->_addDays($easterDate, -2);
$this->_addHoliday('goodFriday', $goodFriday, 'Karfreitag');
$this->_addTranslationForHoliday('goodFriday', 'en_EN', 'Good Friday');
/**
* Easter Monday
*/
$this->_addHoliday('easterMonday', $easterDate->getNextDay(), 'Ostermontag');
$this->_addTranslationForHoliday('easterMonday', 'en_EN', 'Easter Monday');
/**
* Day of Work
*/
$this->_addHoliday(
'dayOfWork', $this->_year . '-05-01',
'Staatsfeiertag Österreich'
);
$this->_addTranslationForHoliday('dayOfWork', 'en_EN', 'Day of Work');
/**
* Saint Florian
*/
$this->_addHoliday('saintFlorian', $this->_year . '-05-04', 'St. Florian');
$this->_addTranslationForHoliday('saintFlorian', 'en_EN', 'St. Florian');
/**
* Mothers Day
*/
$mothersDay = $this->_calcFirstMonday("05");
$mothersDay = $mothersDay->getPrevDay();
$mothersDay = $this->_addDays($mothersDay, 7);
$this->_addHoliday('mothersDay', $mothersDay, 'Muttertag');
$this->_addTranslationForHoliday('mothersDay', 'en_EN', 'Mothers Day');
/**
* Ascension Day
*/
$ascensionDate = $this->_addDays($easterDate, 39);
$this->_addHoliday('ascensionDate', $ascensionDate, 'Christi Himmelfahrt');
$this->_addTranslationForHoliday('ascensionDate', 'en_EN', 'Ascension Day');
/**
* Whitsun (determines Whit Monday, Ascension Day and
* Feast of Corpus Christi)
*/
$whitsunDate = $this->_addDays($easterDate, 49);
$this->_addHoliday('whitsun', $whitsunDate, 'Pfingstsonntag');
$this->_addTranslationForHoliday('whitsun', 'en_EN', 'Whitsun');
/**
* Whit Monday
*/
$this->_addHoliday(
'whitMonday',
$whitsunDate->getNextDay(),
'Pfingstmontag'
);
$this->_addTranslationForHoliday('whitMonday', 'en_EN', 'Whit Monday');
/**
* Corpus Christi
*/
$corpusChristi = $this->_addDays($easterDate, 60);
$this->_addHoliday('corpusChristi', $corpusChristi, 'Fronleichnam');
$this->_addTranslationForHoliday('corpusChristi', 'en_EN', 'Corpus Christi');
/**
* Fathers Day
*/
$fathersDay = $this->_calcFirstMonday("06");
$fathersDay = $fathersDay->getPrevDay();
$fathersDay = $this->_addDays($fathersDay, 7);
$this->_addHoliday(
'fathersDay',
$fathersDay,
'Vatertag'
);
$this->_addTranslationForHoliday('fathersDay', 'en_EN', 'Fathers Day');
/**
* Ascension of Maria
*/
$this->_addHoliday(
'mariaAscension',
$this->_year . '-08-15',
'Maria Himmelfahrt'
);
$this->_addTranslationForHoliday(
'mariaAscension',
'en_EN',
'Ascension of Maria'
);
/**
* Österreichischer Nationalfeiertag
*/
$this->_addHoliday(
'nationalDayAustria',
$this->_year . '-10-26',
'Österreichischer Nationalfeiertag'
);
$this->_addTranslationForHoliday(
'nationalDayAustria',
'en_EN',
'Österreichischer Nationalfeiertag'
);
/**
* All Saints' Day
*/
$this->_addHoliday(
'allSaintsDay',
$this->_year . '-11-01',
'Allerheiligen'
);
$this->_addTranslationForHoliday('allSaintsDay', 'en_EN', 'All Saints Day');
/**
*All Souls´ Day
*/
$this->_addHoliday(
'allSoulsDay',
$this->_year . '-11-02',
'Allerseelen'
);
$this->_addTranslationForHoliday('allSoulsDay', 'en_EN', 'All Souls Day');
/**
* Santa Claus
*/
$this->_addHoliday(
'santasDay',
$this->_year . '-12-06',
'St. Nikolaus'
);
$this->_addTranslationForHoliday('santasDay', 'en_EN', 'St. Nikolaus');
/**
* Immaculate Conception
*/
$this->_addHoliday(
'immaculateConceptionDay',
$this->_year . '-12-08',
'Maria Empfängnis'
);
$this->_addTranslationForHoliday(
'immaculateConceptionDay',
'en_EN',
'Immaculate Conception Day'
);
/**
* Sunday in commemoration of the dead (sundayIcotd)
*/
$sundayIcotd = $this->_calcFirstMonday(12);
$sundayIcotd = $this->_addDays($this->_calcFirstMonday(12), -8);
$this->_addHoliday(
'sundayIcotd',
$sundayIcotd,
'Totensonntag'
);
$this->_addTranslationForHoliday(
'sundayIcotd',
'en_EN',
'Sunday in commemoration of the dead'
);
/**
* 1. Advent
*/
$firstAdv = new Date($this->_year . '-12-03');
$dayOfWeek = $firstAdv->getDayOfWeek();
$firstAdv = $this->_addDays($firstAdv, - $dayOfWeek);
$this->_addHoliday(
'firstAdvent',
$firstAdv,
'1. Advent'
);
$this->_addTranslationForHoliday('firstAdvent', 'en_EN', '1. Advent');
/**
* 2. Advent
*/
$secondAdv = $this->_addDays($firstAdv, 7);
$this->_addHoliday(
'secondAdvent',
$secondAdv,
'2. Advent'
);
$this->_addTranslationForHoliday('secondAdvent', 'en_EN', '2. Advent');
/**
* 3. Advent
*/
$thirdAdv = $this->_addDays($firstAdv, 14);
$this->_addHoliday(
'thirdAdvent',
$thirdAdv,
'3. Advent'
);
$this->_addTranslationForHoliday('thirdAdvent', 'en_EN', '3. Advent');
/**
* 4. Advent
*/
$fourthAdv = $this->_addDays($firstAdv, 21);
$this->_addHoliday(
'fourthAdvent',
$fourthAdv,
'4. Advent'
);
$this->_addTranslationForHoliday('fourthAdvent', 'en_EN', '4. Advent');
/**
* Christmas Eve
*/
$this->_addHoliday(
'christmasEve',
$this->_year . '-12-24',
'Heiliger Abend'
);
$this->_addTranslationForHoliday('christmasEve', 'en_EN', 'Christmas Eve');
/**
* Christmas day
*/
$this->_addHoliday(
'christmasDay',
$this->_year . '-12-25',
'Christtag'
);
$this->_addTranslationForHoliday('christmasDay', 'en_EN', 'Christmas Day');
/**
* Boxing day
*/
$this->_addHoliday(
'boxingDay',
$this->_year . '-12-26',
'Stefanitag'
);
$this->_addTranslationForHoliday('boxingDay', 'en_EN', 'Boxing Day');
/**
* New Year´s Eve
*/
$this->_addHoliday(
'newYearsEve',
$this->_year . '-12-31',
'Silvester'
);
$this->_addTranslationForHoliday('newYearsEve', 'en_EN', 'New Years Eve');
if (Date_Holidays::errorsOccurred()) {
return Date_Holidays::getErrorStack();
}
return true;
}
/**
* Method that returns an array containing the ISO3166 codes that may possibly
* identify a driver.
*
* @static
* @access public
* @return array possible ISO3166 codes
*/
function getISO3166Codes()
{
return array('at');
}
}
?>
Back to Directory
File Manager