/** * 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() { $year = $this->_year; /** * Circumcision of Jesus */ $this->_addHoliday('jesusCircumcision', $year . '-01-01', 'Circumcision of Jesus'); /** * Epiphanias */ $this->_addHoliday('epiphany', $year . '-01-06', 'Epiphany'); /** * Cleaning of Mariä */ $this->_addHoliday('mariaCleaning', $year . '-02-02', 'Cleaning of Maria'); /** * Josef's Day */ $this->_addHoliday('josefsDay', $year . '-03-19', 'Josef\'s Day'); /** * Maria Announcement */ $this->_addHoliday('mariaAnnouncement', $year . '-03-25', 'Maria Announcement'); /** * Easter Sunday */ $easterDate = Date_Holidays_Driver_EasternChristian::calcEaster($year); $this->_addHoliday('easter', $easterDate, 'Easter Sunday'); /** * Palm Sunday */ $palmSundayDate = $this->_addDays($easterDate, -7); $this->_addHoliday('palmSunday', $palmSundayDate, 'Palm Sunday'); /** * Passion Sunday */ $passionSundayDate = new Date($palmSundayDate); #$passionSundayDate->subtractSpan(new Date_Span('7, 0, 0, 0')); $passionSundayDate = $this->_addDays($palmSundayDate, -7); $this->_addHoliday('passionSunday', $passionSundayDate, 'Passion Sunday'); /** * Painful Friday */ #$painfulFridayDate = new Date($palmSundayDate); #$painfulFridayDate->subtractSpan(new Date_Span('2, 0, 0, 0')); $painfulFridayDate = $this->_addDays($palmSundayDate, -2); $this->_addHoliday('painfulFriday', $painfulFridayDate, 'Painful Friday'); /** * White Sunday */ #$whiteSundayDate = new Date($easterDate); #$whiteSundayDate->addSpan(new Date_Span('7, 0, 0, 0')); $whiteSundayDate = $this->_addDays($easterDate, 7); $this->_addHoliday('whiteSunday', $whiteSundayDate, 'White Sunday'); /** * Ash Wednesday */ #$ashWednesdayDate = new Date($easterDate); #$ashWednesdayDate->subtractSpan(new Date_Span('46, 0, 0, 0')); $ashWednesdayDate = $this->_addDays($easterDate, -46); $this->_addHoliday('ashWednesday', $ashWednesdayDate, 'Ash Wednesday'); /** * Good Friday / Black Friday */ #$goodFridayDate = new Date($easterDate); #$goodFridayDate->subtractSpan(new Date_Span('2, 0, 0, 0')); $goodFridayDate = $this->_addDays($easterDate, -2); $this->_addHoliday('goodFriday', $goodFridayDate, 'Good Friday'); /** * Green Thursday */ $this->_addHoliday('greenThursday', $goodFridayDate->getPrevDay(), 'Green Thursday'); /** * Easter Monday */ $this->_addHoliday('easterMonday', $easterDate->getNextDay(), 'Easter Monday'); /** * Triytsia */ #$triyDate = new Date($easterDate); #$triyDate->addSpan(new Date_Span('49, 0, 0, 0')); $triyDate = $this->_addDays($easterDate, 49); $this->_addHoliday('Triytsia', $triyDate, 'Triytsia'); if (Date_Holidays::errorsOccurred()) { return Date_Holidays::getErrorStack(); } return true; }
/** * Calculates the date for Easter (Orthodox). * * @param int $year year * * @static * @access private * @return object Date */ function calcEaster($year) { return Date_Holidays_Driver_EasternChristian::calcEaster($year); }