/**
  * @see Accessible\Handler::execute
  */
 public function execute($params)
 {
     $currCalendar = $this->getCurrentCalendar($params);
     $currDateRange = $this->formatCurrentCalendarDateRange($params);
     $currNavigationDateRange = EventUtils::getPreparedDateRangeForCalendarNavigation((object) array('month' => $currDateRange->monthVal, 'year' => $currDateRange->yearVal));
     // The complete list of events according to the current calendar date range
     $allEvents = $this->getEventListing($currCalendar->id, $currDateRange);
     // Entire event listing filtered by current day
     $todayEvents = $this->formatTodaysEventListing($allEvents->listing);
     $showTodayEvents = DateUtils::isCurentDayWithinCurrentCalendarDateRange($currDateRange);
     $this->showTemplate('MainTemplate', (object) array('calendarMainTitle' => $this->prepareCalendarMainTitle($currDateRange, $currCalendar), 'isTodayExhibition' => $showTodayEvents, 'hasTodayEvents' => $todayEvents->hasEvents, 'todayEventListing' => $this->formatEventsForVisualization($todayEvents->listing, $currCalendar->id, $currDateRange), 'dateRangeTodayEventsSummary' => EventUtils::setTodayEventsDateRangeSummary($todayEvents->listing), 'hasEvents' => $allEvents->hasEvents, 'eventListing' => $this->formatEventsForVisualization($allEvents->listing, $currCalendar->id, $currDateRange), 'dateRangeEventsSummary' => EventUtils::setEventsDateRangeSummary($allEvents->listing, $currDateRange), 'lnkEmail' => $this->makeUrl('Mail.Main'), 'lnkLogoff' => $this->makeUrl('Login.Logoff'), 'lnkChangeCalendar' => $this->makeUrl('Calendar.OpenCalendar'), 'lnkBack' => $this->makeUrl('Calendar.Main', array('calendarId' => $currCalendar->id)), 'calendarNavigation' => $this->formatCalendarNavigationLinks($currCalendar->id, $currNavigationDateRange), 'lnkChangeCalendar' => $this->makeUrl('Calendar.OpenCalendar', array('calendarId' => $currCalendar->id, 'month' => $currDateRange->monthVal, 'year' => $currDateRange->yearVal))));
 }