bp_ps_Fields
Setup BuddyBoss profile search fields.
Description
Source
File: bp-core/profile-search/bps-fields.php
class bp_ps_Fields { private static $display = array ( 'text' => array ('contains' => 'textbox', '' => 'textbox', 'like' => 'textbox'), 'integer' => array ('' => 'number', 'range' => 'range'), 'decimal' => array ('' => 'textbox', 'range' => 'range'), 'date' => array ('date_range' => 'date_range'), 'location' => array ('distance' => 'distance', 'contains' => 'textbox', '' => 'textbox', 'like' => 'textbox'), 'text/e' => array ('' => array ('selectbox', 'radio'), 'one_of' => array ('checkbox', 'multiselectbox')), 'decimal/e' => array ('' => array ('selectbox', 'radio'), 'range' => 'range'), 'set/e' => array ('match_any' => array ('checkbox', 'multiselectbox'), 'match_all' => array ('checkbox', 'multiselectbox')), ); public static function get_filters ($f) { $labels = array ( 'contains' => __('contains', 'buddyboss'), '' => __('is', 'buddyboss'), 'like' => __('is like', 'buddyboss'), 'range' => __('range', 'buddyboss'), 'date_range' => __('date range', 'buddyboss'), 'distance' => __('distance', 'buddyboss'), 'one_of' => __('is one of', 'buddyboss'), 'match_any' => __('match any', 'buddyboss'), 'match_all' => __('match all', 'buddyboss'), ); $filters = array (); foreach ($f->filters as $filter) $filters[$filter] = $labels[$filter]; return $filters; } public static function set_filters ($f) { $format = isset ($f->format)? $f->format: 'none'; $enum = (isset ($f->options) && is_array ($f->options))? count ($f->options): 0; $selector = $format. ($enum? '/e': ''); if (!isset (self::$display[$selector])) return false; $f->filters = array_keys (self::$display[$selector]); return true; } public static function is_filter ($f, $filter) { return in_array ($filter, $f->filters); } public static function valid_filter ($f, $filter) { return in_array ($filter, $f->filters)? $filter: $f->filters[0]; } public static function set_display ($f, $filter) { $format = isset ($f->format)? $f->format: 'none'; $enum = (isset ($f->options) && is_array ($f->options))? count ($f->options): 0; $selector = $format. ($enum? '/e': ''); if (!isset (self::$display[$selector][$filter])) return false; $display = self::$display[$selector][$filter]; if (is_string ($display)) { $f->display = $display; } else { $default = (isset ($f->type) && in_array ($f->type, $display))? $f->type: $display[0]; $choice = apply_filters ('bp_ps_field_display', $default, $f); $f->display = in_array ($choice, $display)? $choice: $default; } return true; } }
Changelog
Version | Description |
---|---|
BuddyBoss 1.0.0 | Introduced. |
Methods
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.