/** * Gets a list of upcoming events. * Only the events that are not yet over will be returned. */ public static function get_upcoming_events($limit = 5) { if (!eab_has_post_indexer()) { return array(); } $limit = (int) $limit ? (int) $limit : 5; global $wpdb; $result = array(); $count = 0; $pi_table = eab_pi_get_table(); $pi_published = eab_pi_get_post_date(); $pi_blog_id = eab_pi_get_blog_id(); $pi_post_id = eab_pi_get_post_id(); $raw_network_events = $wpdb->get_results("SELECT * FROM {$wpdb->base_prefix}{$pi_table} WHERE post_type='incsub_event' ORDER BY {$pi_published} DESC"); if (!$raw_network_events) { return $result; } foreach ($raw_network_events as $event) { if ($count == $limit) { break; } switch_to_blog($event->{$pi_blog_id}); $post = get_post($event->{$pi_post_id}); $tmp_event_instance = new Eab_EventModel($post); $tmp_event_instance->cache_data(); if ($tmp_event_instance->is_expired()) { continue; } $post->blog_id = $event->{$pi_blog_id}; $result[] = $post; $count++; restore_current_blog(); } return $result; }
function meta_box_part_status() { global $post; $event = new Eab_EventModel($post); $status = $event->get_status(); $status = $status ? $status : Eab_EventModel::STATUS_OPEN; $content = ''; $content .= '<div class="eab_meta_box">'; $content .= '<div class="eab_meta_column_box">' . __('Event status', self::TEXT_DOMAIN) . '</div>'; $content .= '<input type="hidden" name="incsub_event_status_meta" value="1" />'; $content .= '<div class="misc-eab-section"><label for="incsub_event_status" id="incsub_event_status_label">'; $content .= __('What is the event status? ', self::TEXT_DOMAIN) . ':</label> '; $content .= '<select name="incsub_event_status" id="incsub_event_status">'; $content .= ' <option value="open" ' . ($event->is_open() ? 'selected="selected"' : '') . ' >' . __('Open', self::TEXT_DOMAIN) . '</option>'; $content .= ' <option value="closed" ' . ($event->is_closed() ? 'selected="selected"' : '') . ' >' . __('Closed', self::TEXT_DOMAIN) . '</option>'; $content .= ' <option value="expired" ' . ($event->is_expired() ? 'selected="selected"' : '') . ' >' . __('Expired', self::TEXT_DOMAIN) . '</option>'; $content .= ' <option value="archived" ' . ($event->is_archived() ? 'selected="selected"' : '') . ' >' . __('Archived', self::TEXT_DOMAIN) . '</option>'; $content .= apply_filters('eab-event_meta-extra_event_status', '', $event); $content .= '</select>'; $content .= apply_filters('eab-event_meta-after_event_status', '', $event); $content .= '</div>'; $content .= '<div class="clear"></div>'; $content .= '</div>'; return $content; }