/**
  * 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>&nbsp;';
     $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;
 }