/**
 * Prints out a list of events, takes same arguments as em_get_events.
 * @param array|string $args
 * @uses em_get_events()
 */
function em_events($args = array())
{
    echo em_get_events($args);
}
 /**
  * 
  */
 public function update_1()
 {
     $events = em_get_events();
     if (!empty($events)) {
         $now = current_time('timestamp');
         $recurrence = array('type' => 'once', 'repeat' => 1, 'until' => date('Y-m-d', $now), 'weekly_days' => array((int) date('N', $now)), 'monthly_day_type' => 1, 'separate_end_date' => array());
         foreach ($events as $event) {
             // for faster usage
             $id = $event->ID;
             // gets event dates
             $start = get_post_meta($id, '_event_start_date', true);
             $end = get_post_meta($id, '_event_end_date', true);
             // is it event from events maker?
             if (!empty($start) && !empty($end)) {
                 // full mysql timestamp format for start and end dates
                 $start = date('Y-m-d H:i:s', strtotime($start));
                 $end = date('Y-m-d H:i:s', strtotime($end));
                 // updates start and end dates with new format
                 update_post_meta($id, '_event_start_date', $start);
                 update_post_meta($id, '_event_end_date', $end);
                 // new format of date in postmeta
                 $date = $start . '|' . $end;
                 // adds first occurrence (same as start and end dates)
                 add_post_meta($id, '_event_occurrence_date', $date);
                 // adds last occurrence (same as first)
                 add_post_meta($id, '_event_occurrence_last_date', $date);
                 // adds recurrence options
                 add_post_meta($id, '_event_recurrence', $recurrence);
             }
         }
     }
 }
 /**
  * 
  */
 private function get_full_calendar_events($args)
 {
     $events = em_get_events($args);
     $calendar = array();
     if (empty($events)) {
         return $calendar;
     }
     foreach ($events as $event) {
         $classes = array();
         $event_categories = wp_get_post_terms($event->ID, 'event-category');
         $event_tags = wp_get_post_terms($event->ID, 'event-tag');
         if (!empty($event_categories) && !is_wp_error($event_categories)) {
             $term_meta = get_option('event_category_' . $event_categories[0]->term_id);
             foreach ($event_categories as $category) {
                 $classes[] = "fc-event-cat-" . $category->slug;
                 $classes[] = "fc-event-cat-" . $category->term_id;
             }
         }
         if (!empty($event_tags) && !is_wp_error($event_tags)) {
             foreach ($event_tags as $tag) {
                 $classes[] = "fc-event-tag-" . $tag->slug;
                 $classes[] = "fc-event-tag-" . $tag->term_id;
             }
         }
         if (em_is_recurring($event->ID)) {
             $start = $event->event_occurrence_start_date;
             $end = $event->event_occurrence_end_date;
         } else {
             $start = get_post_meta($event->ID, '_event_start_date', true);
             $end = get_post_meta($event->ID, '_event_end_date', true);
         }
         $calendar[] = array('title' => $event->post_title, 'start' => $start, 'end' => $end, 'className' => implode(' ', $classes), 'allDay' => em_is_all_day($event->ID), 'url' => get_permalink($event->ID), 'backgroundColor' => isset($term_meta['color']) ? $term_meta['color'] : '');
     }
     return $calendar;
 }
Beispiel #4
0
 /**
  * Get events for calendar display.
  */
 private function get_full_calendar_events($args)
 {
     // get calendar query transient / cache
     if (defined('ICL_LANGUAGE_CODE')) {
         // WPML & Polylang support
         $calendar = get_transient('em_calendar_query' . '-' . ICL_LANGUAGE_CODE);
     } else {
         $calendar = get_transient('em_calendar_query');
     }
     if ($calendar === false) {
         $events = em_get_events($args);
         $calendar = array();
         if (empty($events)) {
             return $calendar;
         }
         foreach ($events as $event) {
             $classes = array();
             $event_categories = wp_get_post_terms($event->ID, 'event-category');
             $event_tags = wp_get_post_terms($event->ID, 'event-tag');
             if (!empty($event_categories) && !is_wp_error($event_categories)) {
                 $term_meta = get_option('event_category_' . $event_categories[0]->term_taxonomy_id);
                 foreach ($event_categories as $category) {
                     $classes[] = "fc-event-cat-" . $category->slug;
                     $classes[] = "fc-event-cat-" . $category->term_id;
                 }
             }
             if (!empty($event_tags) && !is_wp_error($event_tags)) {
                 foreach ($event_tags as $tag) {
                     $classes[] = "fc-event-tag-" . $tag->slug;
                     $classes[] = "fc-event-tag-" . $tag->term_id;
                 }
             }
             if (em_is_recurring($event->ID) && Events_Maker()->options['general']['show_occurrences']) {
                 $start = $event->event_occurrence_start_date;
                 $end = $event->event_occurrence_end_date;
             } else {
                 $start = $event->_event_start_date;
                 $end = $event->_event_end_date;
             }
             $all_day_event = em_is_all_day($event->ID);
             $calendar[] = apply_filters('em_calendar_event_data', array('title' => $event->post_title, 'start' => $start, 'end' => $all_day_event ? date('Y-m-d H:i:s', strtotime($end . '+1 day')) : $end, 'className' => implode(' ', $classes), 'allDay' => $all_day_event, 'url' => get_permalink($event->ID), 'backgroundColor' => isset($term_meta['color']) ? $term_meta['color'] : ''), $event);
         }
         $expiration = absint(apply_filters('em_calendar_query_expiration', 24 * 60 * 60));
         // set calendar query transient / cache
         if (defined('ICL_LANGUAGE_CODE')) {
             // WPML & Polylang support
             set_transient('em_calendar_query' . '-' . ICL_LANGUAGE_CODE, $calendar, $expiration);
         } else {
             set_transient('em_calendar_query', $calendar, $expiration);
         }
     }
     return apply_filters('em_shortcode_full_calendar_events', $calendar);
 }
Beispiel #5
0
 /**
  * 
  */
 private function get_events_days($date, $options)
 {
     $allevents = $exclude_ids = array();
     $show_occurrences = isset($options['show_occurrences']) ? $options['show_occurrences'] : Events_Maker()->options['general']['show_occurrences'];
     $args = array('post_type' => 'event', 'posts_per_page' => -1, 'suppress_filters' => false, 'event_date_range' => 'between', 'event_show_past_events' => $options['show_past_events'], 'event_show_occurrences' => $show_occurrences);
     if ($options['categories'] === 'selected') {
         $args['tax_query'][] = array('taxonomy' => 'event-category', 'field' => 'id', 'terms' => $options['categories_arr'], 'include_children' => false, 'operator' => 'IN');
     }
     if ($options['locations'] === 'selected') {
         $args['tax_query'][] = array('taxonomy' => 'event-location', 'field' => 'id', 'terms' => $options['locations_arr'], 'include_children' => false, 'operator' => 'IN');
     }
     if (Events_Maker()->options['general']['use_organizers'] === true && $options['organizers'] === 'selected') {
         $args['tax_query'][] = array('taxonomy' => 'event-organizer', 'field' => 'id', 'terms' => $options['organizers_arr'], 'include_children' => false, 'operator' => 'IN');
     }
     // Polylang and WPML compatibility
     if (defined('ICL_LANGUAGE_CODE')) {
         $args['lang'] = ICL_LANGUAGE_CODE;
     }
     $allevents['start'] = em_get_events(array_merge($args, array('event_start_after' => $date . '-01', 'event_start_before' => $date . '-' . date('t', strtotime($date . '-02')))));
     foreach ($allevents['start'] as $event) {
         $exclude_ids[] = $event->ID;
     }
     $allevents['end'] = em_get_events(array_merge($args, array('event_end_after' => $date . '-01', 'event_end_before' => $date . '-' . date('t', strtotime($date . '-02')), 'post__not_in' => !empty($exclude_ids) ? $exclude_ids : array())));
     return $allevents;
 }