Esempio n. 1
0
 /**
  * Sets up an array of $days based on the current query, that can be used in the calendar loop
  *
  * @return void
  **/
 public function setup_view()
 {
     do_action('log', 'setup view month view args', 'tribe-month', self::$args);
     $requested_date = isset(self::$args['eventDate']) ? self::$args['eventDate'] : tribe_get_month_view_date();
     $first_day_of_month = date('Y-m-01', strtotime($requested_date));
     do_action('log', 'eventDate', 'tribe-events-query', $first_day_of_month);
     // get all upcoming ids to hide so we're not querying 31 times
     self::$hide_upcoming_ids = TribeEventsQuery::getHideFromUpcomingEvents();
     $year = date('Y', strtotime($first_day_of_month));
     $month = date('m', strtotime($first_day_of_month));
     $startOfWeek = get_option('start_of_week', 0);
     self::get_daily_counts($first_day_of_month);
     if (empty(self::$tribe_bar_args)) {
         foreach ($_REQUEST as $key => $value) {
             if ($value && strpos($key, 'tribe') === 0 && $key != 'tribe-bar-date') {
                 self::$tribe_bar_args[$key] = $value;
             }
         }
     }
     // Var'ng up days, months and years
     self::$today = date_i18n('d');
     self::$current_month = date_i18n('m');
     self::$current_year = date_i18n('Y');
     // single dimensional array of days for the month
     $days = array();
     // setup counters
     $rawOffset = date('w', strtotime($first_day_of_month)) - $startOfWeek;
     $prev_month_offset = (int) ($rawOffset < 0 ? $rawOffset + 7 : $rawOffset);
     // month begins on day x
     $days_in_month = (int) date('t', strtotime($first_day_of_month));
     $days_in_calendar = $days_in_month + $prev_month_offset;
     while ($days_in_calendar % 7 > 0) {
         $days_in_calendar++;
     }
     $cur_calendar_day = 0;
     // fill month with required days for previous month
     if ($prev_month_offset > 0) {
         $days = array_fill(0, $prev_month_offset, array('date' => 'previous'));
     }
     // get $cur_calendar_day up to speed
     $cur_calendar_day += $prev_month_offset;
     $empty_query = new WP_Query();
     // add days for this month
     for ($i = 0; $i < $days_in_month; $i++) {
         $day = $i + 1;
         $date = date('Y-m-d', strtotime("{$year}-{$month}-{$day}"));
         $total_events = !empty(self::$event_daily_counts[$date]) ? self::$event_daily_counts[$date] : 0;
         $days[] = array('daynum' => $day, 'date' => $date, 'events' => $total_events ? self::get_daily_events($date) : $empty_query, 'total_events' => $total_events, 'view_more' => self::view_more_link($date, self::$tribe_bar_args));
     }
     // get $cur_calendar_day up to speed
     $cur_calendar_day += $days_in_month;
     // check if $cur_calendar_day is less than $days_in_calendar, if so, add days for next month
     if ($cur_calendar_day < $days_in_calendar) {
         $days = array_merge($days, array_fill($cur_calendar_day, $days_in_calendar - $cur_calendar_day, array('date' => 'next')));
     }
     // store set of found days for use in calendar loop functions
     self::$calendar_days = $days;
 }
Esempio n. 2
0
 protected function current_day_vals()
 {
     self::$today = date_i18n('d');
     self::$current_month = date_i18n('m');
     self::$current_year = date_i18n('Y');
 }