public function showCalendar($year, $month) { $date = Carbon::createFromDate($year, $month, 1); $data = $this->getCommonData(); $data['month'] = $date; $data['months'] = DateService::getMonths($date); $data['days'] = DateService::getDatesInWeeksForMonth($date, Carbon::MONDAY); return View::make('home', $data); }
/** * Test DateService#getDatesInWeeksForMonth() method. * * @return void */ public function testGetDatesInWeeksForMonth() { $date = Carbon::now(); $daysOfWeek = array(Carbon::MONDAY, Carbon::TUESDAY, Carbon::WEDNESDAY, Carbon::THURSDAY, Carbon::FRIDAY, Carbon::SATURDAY, Carbon::SUNDAY); foreach ($daysOfWeek as $dayOfweek) { for ($i = 1; $i <= 12; $i++) { $date->month = $i; $days = DateService::getDatesInWeeksForMonth($date, $dayOfweek); $this->assertEquals(0, count($days) % 7, join("\n", array('month: ' . $date->month, 'first day of week: ' . $dayOfweek, 'from: ' . head($days), 'to: ' . last($days), 'count: ' . count($days)))); } } }