/** * Function used to load the the Filters View addon. * * @since 3.4 * @author PaulHughes01 * * @return void */ function TribeEventsFilterViewsLoad() { tribe_init_filterbar_autoloading(); $classes_exist = class_exists('Tribe__Events__Main') && class_exists('Tribe__Events__Filterbar__View'); $version_ok = $classes_exist && version_compare(Tribe__Events__Main::VERSION, Tribe__Events__Filterbar__View::REQUIRED_TEC_VERSION, '>='); if (!($classes_exist && $version_ok)) { add_action('admin_notices', 'tribe_events_filter_view_show_fail_message'); return; } add_filter('tribe_tec_addons', array('Tribe__Events__Filterbar__View', 'initAddon')); Tribe__Events__Filterbar__View::init(__FILE__); new Tribe__Events__Filterbar__PUE(__FILE__); }
public function render_active_filters_box() { $filters = Tribe__Events__Filterbar__View::instance()->get_registered_filters(); $sorted_filters = array(); foreach (Tribe__Events__Filterbar__View::instance()->get_active_filters() as $slug) { if (isset($filters[$slug])) { $sorted_filters[$slug] = $filters[$slug]; unset($filters[$slug]); } } $filters = array_merge($sorted_filters, $filters); include Tribe__Events__Filterbar__View::plugin_path('src/admin-views/settings-field-active-filters.php'); }
protected function get_priority() { $current_active_slugs = Tribe__Events__Filterbar__View::instance()->get_active_filters(); $priority = array_search($this->slug, $current_active_slugs); if ($priority !== false) { $priority = ++$priority; } else { $priority = 0; } return apply_filters('tribe_events_filter_priority', $priority, $this->slug); }
protected function free_logic() { $settings = Tribe__Events__Filterbar__View::instance()->get_filter_settings(); $this->free = isset($settings[$this->slug]['free']) && self::EXPLICITLY_FREE === $settings[$this->slug]['free'] ? self::EXPLICITLY_FREE : self::IMPLICITLY_FREE; }
/** * The class constructor. * * @author PaulHughes01 * @since 3.4 * @return void */ public function __construct() { $this->pluginPath = trailingslashit(dirname(dirname(dirname(__FILE__)))); $this->pluginDir = trailingslashit(basename($this->pluginPath)); $this->pluginUrl = trailingslashit(plugins_url() . '/' . $this->pluginDir); $this->sidebarDisplayed = false; add_action('wp', array($this, 'setSidebarDisplayed')); add_action('parse_query', array($this, 'maybe_initialize_filters_for_query'), 10, 1); add_action('current_screen', array($this, 'maybe_initialize_filters_for_screen'), 10, 0); add_filter('body_class', array($this, 'addBodyClass')); add_filter('tribe_events_template_paths', array($this, 'template_paths')); add_action('wp_enqueue_scripts', array($this, 'enqueueStylesAndScripts'), 11); add_action('admin_enqueue_scripts', array($this, 'enqueueAdminScripts')); $settings_page = new Tribe__Events__Filterbar__Settings(); $settings_page->set_hooks(); add_action('init', array($this, 'loadTextDomain')); // Load multisite defaults if (is_multisite()) { $tribe_events_filters_default_mu_filters = array(); if (file_exists(WP_CONTENT_DIR . '/tribe-events-mu-defaults.php')) { include WP_CONTENT_DIR . '/tribe-events-mu-defaults.php'; } self::$defaultMuFilters = apply_filters('tribe_events_mu_filters_default_filters', $tribe_events_filters_default_mu_filters); } }
/** * Return the logic setting ("and"|"or"). * * @return string */ protected function get_logic() { $current_active_filters = Tribe__Events__Filterbar__View::instance()->get_filter_settings(); $logic = isset($current_active_filters[$this->slug]['logic']) ? $current_active_filters[$this->slug]['logic'] : $this->logic; return apply_filters('tribe_events_filter_additional_field_logic', $logic, $this->slug); }