/**
 * 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');
 }
Example #3
0
 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);
 }
Example #4
0
 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;
 }
Example #5
0
 /**
  * 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);
 }