/**
  * 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;
 }
Ejemplo n.º 2
0
 /**
  * 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);
 }