/** * Returns information about a particular calendar. * * Shim implementation of \cal_info() * * @link https://php.net/cal_info * * @param int $calendar * * @return array */ public static function calInfo($calendar) { switch ($calendar) { case -1: return array(CAL_GREGORIAN => static::calInfo(CAL_GREGORIAN), CAL_JULIAN => static::calInfo(CAL_JULIAN), CAL_JEWISH => static::calInfo(CAL_JEWISH), CAL_FRENCH => static::calInfo(CAL_FRENCH)); case CAL_FRENCH: $french = new FrenchCalendar(); return $french->phpCalInfo(); case CAL_GREGORIAN: $gregorian = new GregorianCalendar(); return $gregorian->phpCalInfo(); case CAL_JEWISH: $jewish = new JewishCalendar(); return $jewish->phpCalInfo(); case CAL_JULIAN: $julian = new JulianCalendar(); return $julian->phpCalInfo(); default: return trigger_error('invalid calendar ID ' . $calendar . '.', E_USER_WARNING); } }