public static function calendar($year) { $tmp = new \stdClass(); $tmp->id = $year; $year = $tmp; $year->total_weeks = date::weeks_in_year($year->id); $year->total_days = date::days_in_year($year->id); $year->monthes = null; for ($i = 1; $i <= 12; $i++) { $month = new \stdClass(); $month->id = $i; $month->total_days = date::days_in_month($year->id, $month->id); $month->total_weeks = date::weeks_in_month($year->id, $month->id); $month->first_day = date::first_day_of_month($year->id, $month->id); $month->last_day = date::last_day_of_month($year->id, $month->id); $month->weeks = null; for ($j = 1; $j <= $month->total_weeks; $j++) { $week = new \stdClass(); $week->id = $j; $week->is_first = (int) ($j === 1); $week->is_last = (int) ($j === $month->total_weeks); $week->first_day = date::first_day_of_week($year->id, $month->id, $week->id); $week->last_day = date::last_day_of_week($year->id, $month->id, $week->id); $month->weeks[$week->id] = $week; } $year->monthes[$month->id] = $month; } return $year; }