Ejemplo n.º 1
0
 /**
  * Get the holidays by region
  *
  * @param string       $date  date to check
  *
  * @param null|CGroups $group group, null = current
  *
  * @return array
  */
 static function getCpHolidays($date, $group = null)
 {
     $subdivisionHoliday = array();
     $pays = CAppUI::conf("ref_pays");
     //no group, load current
     if (!$group) {
         $group = CGroups::loadCurrent();
     }
     //no CP, abord
     if (!$group->cp) {
         return $subdivisionHoliday;
     }
     $year = CMbDT::transform("+0 DAY", $date, "%Y");
     $paques = CMbDT::getEasterDate($date);
     switch ($pays) {
         // France
         case '1':
             return $subdivisionHoliday;
             break;
             // Switzerland
         // Switzerland
         case '2':
             $firstSundaySeptember = CMbDT::transform("next sunday", $year . "-09-00", "%Y-%m-%d");
             $thirdSundaySeptember = CMbDT::transform("+2 WEEK", $firstSundaySeptember, "%Y-%m-%d");
             $canton = substr($group->cp, 0, 2);
             switch ($canton) {
                 // Vaud
                 case '10':
                     $subdivisionHoliday["{$year}-01-02"] = "Saint-Berchtold";
                     $subdivisionHoliday[CMbDT::transform("last friday", $paques, "%Y-%m-%d")] = "vendredi saint";
                     $subdivisionHoliday[CMbDT::transform("+1 DAY", $paques, "%Y-%m-%d")] = "lundi de paques";
                     $subdivisionHoliday[CMbDT::transform("+39 DAY", $paques, "%Y-%m-%d")] = "Ascension";
                     $subdivisionHoliday[CMbDT::transform("+50 DAY", $paques, "%Y-%m-%d")] = "lundi de pantecote";
                     $subdivisionHoliday[CMbDT::transform("+1 DAY", $thirdSundaySeptember, "%Y-%m-%d")] = "Lundi du Jeûne fédéral";
                     break;
                     // Genève
                 // Genève
                 case '12':
                     $subdivisionHoliday[CMbDT::transform("next thursday", $firstSundaySeptember, "%Y-%m-%d")] = "Jeûne Genevois";
                     $subdivisionHoliday[CMbDT::transform("last friday", $paques, "%Y-%m-%d")] = "vendredi saint";
                     $subdivisionHoliday[CMbDT::transform("+1 DAY", $paques, "%Y-%m-%d")] = "lundi de paques";
                     $subdivisionHoliday[CMbDT::transform("+39 DAY", $paques, "%Y-%m-%d")] = "Ascension";
                     $subdivisionHoliday[CMbDT::transform("+50 DAY", $paques, "%Y-%m-%d")] = "lundi de pantecote";
                     $subdivisionHoliday["{$year}-12-31"] = "fete du travail";
                     break;
                 default:
                     return $subdivisionHoliday;
                     break;
             }
             break;
         default:
             return $subdivisionHoliday;
             break;
     }
     return $subdivisionHoliday;
 }