/** * posts_join_for_orderby * usage: $SQL .= EEH_Event_Query::posts_join_for_orderby( $orderby_params ); * * @access public * @param string $SQL * @param array $orderby_params * @return string */ public static function posts_join_for_orderby($SQL = '', $orderby_params = array()) { foreach ((array) $orderby_params as $orderby) { switch ($orderby) { case 'ticket_start': case 'ticket_end': $SQL .= EEH_Event_Query::_posts_join_for_datetime($SQL, EEM_Datetime_Ticket::instance()->table() . '.' . EEM_Datetime::instance()->primary_key_name()); $SQL .= ' LEFT JOIN ' . EEM_Ticket::instance()->table() . ' ON (' . EEM_Datetime_Ticket::instance()->table() . '.' . EEM_Ticket::instance()->primary_key_name() . ' = ' . EEM_Ticket::instance()->table() . '.' . EEM_Ticket::instance()->primary_key_name() . ' )'; break; case 'venue_title': case 'city': $SQL .= EEH_Event_Query::_posts_join_for_event_venue($SQL); break; case 'state': $SQL .= EEH_Event_Query::_posts_join_for_event_venue($SQL); $SQL .= EEH_Event_Query::_posts_join_for_venue_state($SQL); break; case 'start_date': default: $SQL .= EEH_Event_Query::_posts_join_for_datetime($SQL, EEM_Event::instance()->table() . '.ID'); break; } } return $SQL; }