public static function build_sql_conditions($args = array()) { self::$context = EM_POST_TYPE_EVENT; $conditions = parent::build_sql_conditions($args); if (!empty($args['search'])) { $like_search = array('event_name', EM_EVENTS_TABLE . '.post_content', 'location_name', 'location_address', 'location_town', 'location_postcode', 'location_state', 'location_country', 'location_region'); $conditions['search'] = "(" . implode(" LIKE '%{$args['search']}%' OR ", $like_search) . " LIKE '%{$args['search']}%')"; } $conditions['status'] = "(`event_status` >= 0 )"; //shows pending & published if not defined if (array_key_exists('status', $args)) { if (is_numeric($args['status'])) { $conditions['status'] = "(`event_status`={$args['status']})"; //pending or published } elseif ($args['status'] == 'pending') { $conditions['status'] = "(`event_status`=0)"; //pending } elseif ($args['status'] == 'publish') { $conditions['status'] = "(`event_status`=1)"; //published } elseif ($args['status'] === null || $args['status'] == 'draft') { $conditions['status'] = "(`event_status` IS NULL )"; //show draft items } elseif ($args['status'] == 'trash') { $conditions['status'] = "(`event_status` = -1 )"; //show trashed items } elseif ($args['status'] == 'all') { $conditions['status'] = "(`event_status` >= 0 OR `event_status` IS NULL)"; //search all statuses that aren't trashed } elseif ($args['status'] == 'everything') { unset($conditions['status']); //search all statuses } } //private events if (empty($args['private'])) { $conditions['private'] = "(`event_private`=0)"; } elseif (!empty($args['private_only'])) { $conditions['private_only'] = "(`event_private`=1)"; } if (EM_MS_GLOBAL && !empty($args['blog'])) { if (is_numeric($args['blog'])) { if (is_main_site($args['blog'])) { $conditions['blog'] = "(" . EM_EVENTS_TABLE . ".blog_id={$args['blog']} OR " . EM_EVENTS_TABLE . ".blog_id IS NULL)"; } else { $conditions['blog'] = "(" . EM_EVENTS_TABLE . ".blog_id={$args['blog']})"; } } else { if (!is_array($args['blog']) && preg_match('/^([\\-0-9],?)+$/', $args['blog'])) { $conditions['blog'] = "(" . EM_EVENTS_TABLE . ".blog_id IN ({$args['blog']}) )"; } elseif (is_array($args['blog']) && self::array_is_numeric($args['blog'])) { $conditions['blog'] = "(" . EM_EVENTS_TABLE . ".blog_id IN (" . implode(',', $args['blog']) . ") )"; } } } if ($args['bookings'] === 'user' && is_user_logged_in()) { //get bookings of user $EM_Person = new EM_Person(get_current_user_id()); $booking_ids = $EM_Person->get_bookings(true); if (count($booking_ids) > 0) { $conditions['bookings'] = "(event_id IN (SELECT event_id FROM " . EM_BOOKINGS_TABLE . " WHERE booking_id IN (" . implode(',', $booking_ids) . ")))"; } else { $conditions['bookings'] = "(event_id = 0)"; } } //post search if (!empty($args['post_id'])) { if (is_array($args['post_id'])) { $conditions['post_id'] = "(" . EM_EVENTS_TABLE . ".post_id IN (" . implode(',', $args['post_id']) . "))"; } else { $conditions['post_id'] = "(" . EM_EVENTS_TABLE . ".post_id={$args['post_id']})"; } } return apply_filters('em_events_build_sql_conditions', $conditions, $args); }
function build_sql_conditions($args = array()) { $conditions = apply_filters('em_bookings_build_sql_conditions', parent::build_sql_conditions($args), $args); if (is_numeric($args['status'])) { $conditions['status'] = 'booking_status=' . $args['status']; } elseif (is_array($args['status']) && count($args['status']) > 0) { $conditions['status'] = 'booking_status IN (' . implode(',', $args['status']) . ')'; } elseif (!is_array($args['status']) && preg_match('/^([0-9],?)+$/', $args['status'])) { $conditions['status'] = 'booking_status IN (' . $args['status'] . ')'; } if (is_numeric($args['person']) && current_user_can('manage_others_bookings')) { $conditions['person'] = EM_BOOKINGS_TABLE . '.person_id=' . $args['person']; } if (EM_MS_GLOBAL && !empty($args['blog']) && is_numeric($args['blog'])) { if (is_main_site($args['blog'])) { $conditions['blog'] = "(" . EM_EVENTS_TABLE . ".blog_id={$args['blog']} OR " . EM_EVENTS_TABLE . ".blog_id IS NULL)"; } else { $conditions['blog'] = "(" . EM_EVENTS_TABLE . ".blog_id={$args['blog']})"; } } if (is_numeric($args['ticket_id'])) { $EM_Ticket = new EM_Ticket($args['ticket_id']); if ($EM_Ticket->can_manage()) { $conditions['ticket'] = EM_BOOKINGS_TABLE . '.booking_id IN (SELECT booking_id FROM ' . EM_TICKETS_BOOKINGS_TABLE . " WHERE ticket_id='{$args['ticket_id']}')"; } } return apply_filters('em_bookings_build_sql_conditions', $conditions, $args); }
/** * Builds an array of SQL query conditions based on regularly used arguments * @param array $args * @return array */ public static function build_sql_conditions($args = array(), $count = false) { self::$context = EM_POST_TYPE_LOCATION; global $wpdb; $events_table = EM_EVENTS_TABLE; $locations_table = EM_LOCATIONS_TABLE; $conditions = parent::build_sql_conditions($args); //search locations if (!empty($args['search'])) { $like_search = array($locations_table . '.post_content', 'location_name', 'location_address', 'location_town', 'location_postcode', 'location_state', 'location_region', 'location_country'); $conditions['search'] = "(" . implode(" LIKE '%{$args['search']}%' OR ", $like_search) . " LIKE '%{$args['search']}%')"; } //eventful locations if (true == $args['eventful']) { $conditions['eventful'] = "{$events_table}.event_id IS NOT NULL AND event_status=1"; } elseif (true == $args['eventless']) { $conditions['eventless'] = "{$events_table}.event_id IS NULL"; if (!empty($conditions['scope'])) { unset($conditions['scope']); } //scope condition would render all queries return no results } //owner lookup if (!empty($args['owner']) && is_numeric($args['owner'])) { $conditions['owner'] = "location_owner=" . $args['owner']; } elseif (!empty($args['owner']) && $args['owner'] == 'me' && is_user_logged_in()) { $conditions['owner'] = 'location_owner=' . get_current_user_id(); } elseif (self::array_is_numeric($args['owner'])) { $conditions['owner'] = 'location_owner IN (' . implode(',', $args['owner']) . ')'; } //blog id in events table if (EM_MS_GLOBAL && !empty($args['blog'])) { if (is_numeric($args['blog'])) { if (is_main_site($args['blog'])) { $conditions['blog'] = "(" . $locations_table . ".blog_id={$args['blog']} OR " . $locations_table . ".blog_id IS NULL)"; } else { $conditions['blog'] = "(" . $locations_table . ".blog_id={$args['blog']})"; } } else { if (!is_array($args['blog']) && preg_match('/^([\\-0-9],?)+$/', $args['blog'])) { $conditions['blog'] = "(" . $locations_table . ".blog_id IN ({$args['blog']}) )"; } elseif (is_array($args['blog']) && self::array_is_numeric($args['blog'])) { $conditions['blog'] = "(" . $locations_table . ".blog_id IN (" . implode(',', $args['blog']) . ") )"; } } } //status $conditions['status'] = "(`location_status` >= 0)"; //pending and published if status is not explicitly defined (Default is 1) if (array_key_exists('status', $args)) { if (is_numeric($args['status'])) { $conditions['status'] = "(`location_status`={$args['status']} )"; //trash (-1), pending, (0) or published (1) } elseif ($args['status'] == 'pending') { $conditions['status'] = "(`location_status`=0)"; //pending } elseif ($args['status'] == 'publish') { $conditions['status'] = "(`location_status`=1)"; //published } elseif ($args['status'] === null || $args['status'] == 'draft') { $conditions['status'] = "(`location_status` IS NULL )"; //show draft items } elseif ($args['status'] == 'trash') { $conditions['status'] = "(`location_status` = -1 )"; //show trashed items } elseif ($args['status'] == 'all') { $conditions['status'] = "(`location_status` >= 0 OR `location_status` IS NULL)"; //search all statuses that aren't trashed } elseif ($args['status'] == 'everything') { unset($conditions['status']); //search all statuses } } //private locations if (empty($args['private'])) { $conditions['private'] = "(`location_private`=0 AND `event_private`=0)"; } elseif (!empty($args['private_only'])) { $conditions['private_only'] = "(`location_private`=1 OR `event_private`=1)"; } //post search if (!empty($args['post_id'])) { if (is_array($args['post_id'])) { $conditions['post_id'] = "({$locations_table}.post_id IN (" . implode(',', $args['post_id']) . "))"; } else { $conditions['post_id'] = "({$locations_table}.post_id={$args['post_id']})"; } } return apply_filters('em_locations_build_sql_conditions', $conditions, $args); }
function build_sql_conditions($args = array()) { $conditions = parent::build_sql_conditions($args); if (!empty($args['search'])) { $like_search = array('event_name', EM_EVENTS_TABLE . '.post_content', 'location_name', 'location_address', 'location_town', 'location_postcode', 'location_state', 'location_country'); $conditions['search'] = "(" . implode(" LIKE '%{$args['search']}%' OR ", $like_search) . " LIKE '%{$args['search']}%')"; } if (array_key_exists('status', $args) && is_numeric($args['status'])) { $null = $args['status'] == 0 ? ' OR `event_status` = 0' : ''; $conditions['status'] = "(`event_status`={$args['status']}{$null} )"; } elseif (empty($args['status']) || $args['status'] != 'all') { $conditions['status'] = "(`event_status` IS NOT NULL )"; //by default, we don't ever show deleted items } //private events if (empty($args['private'])) { $conditions['private'] = "(`event_private`=0)"; } elseif (!empty($args['private_only'])) { $conditions['private_only'] = "(`event_private`=1)"; } if (EM_MS_GLOBAL && !empty($args['blog'])) { if (is_numeric($args['blog'])) { if (is_main_site($args['blog'])) { $conditions['blog'] = "(" . EM_EVENTS_TABLE . ".blog_id={$args['blog']} OR " . EM_EVENTS_TABLE . ".blog_id IS NULL)"; } else { $conditions['blog'] = "(" . EM_EVENTS_TABLE . ".blog_id={$args['blog']})"; } } else { if (!is_array($args['blog']) && preg_match('/^([\\-0-9],?)+$/', $args['blog'])) { $conditions['blog'] = "(" . EM_EVENTS_TABLE . ".blog_id IN ({$args['blog']}) )"; } elseif (is_array($args['blog']) && $this->array_is_numeric($args['blog'])) { $conditions['blog'] = "(" . EM_EVENTS_TABLE . ".blog_id IN (" . implode(',', $args['blog']) . ") )"; } } } if ($args['bookings'] === 'user' && is_user_logged_in()) { //get bookings of user $EM_Person = new EM_Person(get_current_user_id()); $booking_ids = $EM_Person->get_bookings(true); if (count($booking_ids) > 0) { $conditions['bookings'] = "(event_id IN (SELECT event_id FROM " . EM_BOOKINGS_TABLE . " WHERE booking_id IN (" . implode(',', $booking_ids) . ")))"; } else { $conditions['bookings'] = "(event_id = 0)"; } } //post search if (!empty($args['post_id'])) { if (is_array($args['post_id'])) { $conditions['post_id'] = "(" . EM_EVENTS_TABLE . ".post_id IN (" . implode(',', $args['post_id']) . "))"; } else { $conditions['post_id'] = "(" . EM_EVENTS_TABLE . ".post_id={$args['post_id']})"; } } return apply_filters('em_events_build_sql_conditions', $conditions, $args); }
/** * Builds an array of SQL query conditions based on regularly used arguments * @param array $args * @return array */ function build_sql_conditions($args = array(), $count = false) { global $wpdb; $events_table = EM_EVENTS_TABLE; $locations_table = EM_LOCATIONS_TABLE; $conditions = parent::build_sql_conditions($args); //eventful locations if (true == $args['eventful']) { $conditions['eventful'] = "{$events_table}.event_id IS NOT NULL"; } elseif (true == $args['eventless']) { $conditions['eventless'] = "{$events_table}.event_id IS NULL"; } //owner lookup if (!empty($args['owner']) && is_numeric($args['owner'])) { $conditions['owner'] = "location_owner=" . $args['owner']; } elseif (!empty($args['owner']) && $args['owner'] == 'me' && is_user_logged_in()) { $conditions['owner'] = 'location_owner=' . get_current_user_id(); } //blog id in events table if (EM_MS_GLOBAL && !empty($args['blog'])) { if (is_numeric($args['blog'])) { if (is_main_site($args['blog'])) { $conditions['blog'] = "(" . $locations_table . ".blog_id={$args['blog']} OR " . $locations_table . ".blog_id IS NULL)"; } else { $conditions['blog'] = "(" . $locations_table . ".blog_id={$args['blog']})"; } } else { if (!is_array($args['blog']) && preg_match('/^([\\-0-9],?)+$/', $args['blog'])) { $conditions['blog'] = "(" . $locations_table . ".blog_id IN ({$args['blog']}) )"; } elseif (is_array($args['blog']) && $this->array_is_numeric($args['blog'])) { $conditions['blog'] = "(" . $locations_table . ".blog_id IN (" . implode(',', $args['blog']) . ") )"; } } } //status if (array_key_exists('status', $args) && is_numeric($args['status'])) { $null = $args['status'] == 0 ? ' OR `location_status` = 0' : ''; $conditions['status'] = "(`location_status`={$args['status']}{$null} )"; } else { $conditions['status'] = "(`location_status` IS NOT NULL)"; } //private locations if (empty($args['private'])) { $conditions['private'] = "(`location_private`=0)"; } elseif (!empty($args['private_only'])) { $conditions['private_only'] = "(`location_private`=1)"; } //post search if (!empty($args['post_id'])) { if (is_array($args['post_id'])) { $conditions['post_id'] = "({$locations_table}.post_id IN (" . implode(',', $args['post_id']) . "))"; } else { $conditions['post_id'] = "({$locations_table}.post_id={$args['post_id']})"; } } return apply_filters('em_locations_build_sql_conditions', $conditions, $args); }
function build_sql_conditions($args = array()) { $conditions = parent::build_sql_conditions($args); if (!empty($args['search'])) { $like_search = array('event_name', 'event_notes', 'location_name', 'location_address', 'location_town', 'location_postcode', 'location_state', 'location_country'); $conditions['search'] = "(" . implode(" LIKE '%{$args['search']}%' OR ", $like_search) . " LIKE '%{$args['search']}%')"; } if (array_key_exists('status', $args) && is_numeric($args['status'])) { $conditions['status'] = "(`event_status`={$args['status']})"; } if (is_multisite() && array_key_exists('blog', $args) && is_numeric($args['blog'])) { if (is_main_site($args['blog'])) { $conditions['blog'] = "(`blog_id`={$args['blog']} OR blog_id IS NULL)"; } else { $conditions['blog'] = "(`blog_id`={$args['blog']})"; } } return apply_filters('em_events_build_sql_conditions', $conditions, $args); }
function build_sql_conditions($args = array()) { $conditions = apply_filters('em_bookings_build_sql_conditions', parent::build_sql_conditions($args), $args); if (is_numeric($args['status'])) { $conditions['status'] = 'booking_status=' . $args['status']; } return apply_filters('em_bookings_build_sql_conditions', $conditions, $args); }
/** * Builds an array of SQL query conditions based on regularly used arguments * @param array $args * @return array */ function build_sql_conditions($args = array()) { global $wpdb; $events_table = $wpdb->prefix . EM_EVENTS_TABLE; $locations_table = $wpdb->prefix . EM_LOCATIONS_TABLE; $conditions = parent::build_sql_conditions($args); //eventful locations if (true == $args['eventful']) { $conditions['eventful'] = "{$events_table}.event_id IS NOT NULL"; } elseif (true == $args['eventless']) { $conditions['eventless'] = "{$events_table}.event_id IS NULL"; } //owner lookup if (!empty($args['owner'])) { if (get_option('dbem_permissions_locations') < 1 && !em_verify_admin()) { $conditions['owner'] = "location_owner=" . get_current_user_id(); } } return apply_filters('em_locations_build_sql_conditions', $conditions, $args); }
function build_sql_conditions($args = array()) { global $wpdb; $events_table = EM_EVENTS_TABLE; $locations_table = EM_LOCATIONS_TABLE; $temp_conditions = parent::build_sql_conditions($args); $conditions = array(); if (!empty($temp_conditions['category'])) { $conditions['category'] = $temp_conditions['category']; } return apply_filters('em_categories_build_sql_conditions', $conditions, $args); }
/** * Builds an array of SQL query conditions based on regularly used arguments * @param array $args * @return array */ function build_sql_conditions($args = array()) { global $wpdb; $events_table = EM_EVENTS_TABLE; $locations_table = EM_LOCATIONS_TABLE; $conditions = parent::build_sql_conditions($args); //eventful locations if (true == $args['eventful']) { $conditions['eventful'] = "{$events_table}.event_id IS NOT NULL"; } elseif (true == $args['eventless']) { $conditions['eventless'] = "{$events_table}.event_id IS NULL"; } //owner lookup if (!empty($args['owner'])) { $conditions['owner'] = "location_owner=" . $args['owner']; } //blog id in events table if (is_multisite() && array_key_exists('blog', $args) && is_numeric($args['blog'])) { if (is_main_site($args['blog'])) { $conditions['blog'] = "(`blog_id`={$args['blog']} OR blog_id IS NULL)"; } else { $conditions['blog'] = "(`blog_id`={$args['blog']})"; } } return apply_filters('em_locations_build_sql_conditions', $conditions, $args); }
function build_sql_conditions($args = array()) { return apply_filters('em_events_build_sql_conditions', parent::build_sql_conditions($args), $args); }
function build_sql_conditions($args = array()) { $conditions = apply_filters('em_bookings_build_sql_conditions', parent::build_sql_conditions($args), $args); if (is_numeric($args['status'])) { $conditions['status'] = 'booking_status=' . $args['status']; } elseif (is_array($args['status']) && count($args['status']) > 0) { $conditions['status'] = 'booking_status IN (' . implode(',', $args['status']) . ')'; } elseif (!is_array($args['status']) && preg_match('/^([0-9],?)+$/', $args['status'])) { $conditions['status'] = 'booking_status IN (' . $args['status'] . ')'; } if (is_numeric($args['person']) && current_user_can('manage_others_bookings')) { $conditions['person'] = EM_BOOKINGS_TABLE . '.person_id=' . $args['person']; } return apply_filters('em_bookings_build_sql_conditions', $conditions, $args); }