public static function get_default_search($array_or_defaults = array(), $array = array()) { self::$context = EM_POST_TYPE_EVENT; $defaults = array('orderby' => get_option('dbem_events_default_orderby'), 'order' => get_option('dbem_events_default_order'), 'bookings' => false, 'status' => 1, 'format_header' => '', 'format_footer' => '', 'town' => false, 'state' => false, 'country' => false, 'region' => false, 'blog' => get_current_blog_id(), 'private' => current_user_can('read_private_events'), 'private_only' => false, 'post_id' => false); //sort out whether defaults were supplied or just the array of search values if (empty($array)) { $array = $array_or_defaults; } else { $defaults = array_merge($defaults, $array_or_defaults); } //specific functionality if (EM_MS_GLOBAL && (!is_admin() || defined('DOING_AJAX'))) { if (empty($array['blog']) && is_main_site() && get_site_option('dbem_ms_global_events')) { $array['blog'] = false; } } if (is_admin()) { //figure out default owning permissions $defaults['owner'] = !current_user_can('edit_others_events') ? get_current_user_id() : false; if (!array_key_exists('status', $array) && current_user_can('edit_others_events')) { $defaults['status'] = false; //by default, admins see pending and live events } } return apply_filters('em_events_get_default_search', parent::get_default_search($defaults, $array), $array, $defaults); }