예제 #1
0
 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);
 }