/** * This function is a singleton method used to instantiate the EEM_Attendee object * * @access public * @return EEM_Question_Group instance */ public static function instance() { // check if instance of EEM_Attendee already exists if (self::$_instance === NULL) { // instantiate Espresso_model self::$_instance = new self(); } // EEM_Attendee object return self::$_instance; }
/** * posts_join_for_orderby * usage: $SQL .= EEH_Event_Query::posts_join_for_orderby( $orderby_params ); * * @access public * @param array $orderby_params * @return string */ public static function posts_join_for_orderby($orderby_params = array()) { $SQL = ''; global $wpdb; foreach ((array) $orderby_params as $orderby) { switch ($orderby) { case 'ticket_start': case 'ticket_end': $SQL .= ' LEFT JOIN ' . EEM_Datetime_Ticket::instance()->table() . ' ON (' . EEM_Datetime::instance()->table() . '.DTT_ID = ' . EEM_Datetime_Ticket::instance()->table() . '.DTT_ID )'; $SQL .= ' LEFT JOIN ' . EEM_Ticket::instance()->table() . ' ON (' . EEM_Datetime_Ticket::instance()->table() . '.TKT_ID = ' . EEM_Ticket::instance()->table() . '.TKT_ID )'; break; case 'venue_title': case 'city': $SQL .= ' LEFT JOIN ' . EEM_Event_Venue::instance()->table() . ' ON (' . $wpdb->posts . '.ID = ' . EEM_Event_Venue::instance()->table() . '.EVT_ID )'; $SQL .= ' LEFT JOIN ' . EEM_Venue::instance()->table() . ' ON (' . EEM_Event_Venue::instance()->table() . '.VNU_ID = ' . EEM_Venue::instance()->table() . '.VNU_ID )'; break; case 'state': $SQL .= ' LEFT JOIN ' . EEM_Event_Venue::instance()->table() . ' ON (' . $wpdb->posts . '.ID = ' . EEM_Event_Venue::instance()->table() . '.EVT_ID )'; $SQL .= ' LEFT JOIN ' . EEM_Event_Venue::instance()->second_table() . ' ON (' . EEM_Event_Venue::instance()->table() . '.VNU_ID = ' . EEM_Event_Venue::instance()->second_table() . '.VNU_ID )'; break; break; } } return $SQL; }
/** * _posts_join_for_event_venue * * @access protected * @param string $SQL * @return string */ protected static function _posts_join_for_event_venue($SQL = '') { // Event Venue table name $event_venue_table = EEM_Event_Venue::instance()->table(); // generate conditions for: Event <=> Event Venue JOIN clause $event_to_event_venue_join = EEM_Event::instance()->table() . '.ID = ' . $event_venue_table . '.' . EEM_Event::instance()->primary_key_name(); // don't add joins if they have already been added if (strpos($SQL, $event_to_event_venue_join) === FALSE) { // Venue table name $venue_table = EEM_Venue::instance()->table(); // Venue table pk $venue_table_pk = EEM_Venue::instance()->primary_key_name(); // Venue Meta table name $venue_meta_table = EEM_Venue::instance()->second_table(); // generate JOIN clause for: Event <=> Event Venue $venue_SQL = " LEFT JOIN {$event_venue_table} ON ( {$event_to_event_venue_join} )"; // generate JOIN clause for: Event Venue <=> Venue $venue_SQL .= " LEFT JOIN {$venue_table} as Venue ON ( {$event_venue_table}.{$venue_table_pk} = Venue.ID )"; // generate JOIN clause for: Venue <=> Venue Meta $venue_SQL .= " LEFT JOIN {$venue_meta_table} ON ( Venue.ID = {$venue_meta_table}.{$venue_table_pk} )"; unset($event_venue_table, $event_to_event_venue_join, $venue_table, $venue_table_pk, $venue_meta_table); return $venue_SQL; } unset($event_venue_table, $event_to_event_venue_join); return ''; }