* @license GPL-2.0+ * @link https://arlo.co * @copyright 2018 Arlo */ require_once 'class-arlo-for-wordpress-lists.php'; class Arlo_For_Wordpress_Venues extends Arlo_For_Wordpress_Lists { const TABLENAME = 'arlo_venues'; public function __construct() { $this->singular = __( 'Venue', 'arlo-for-wordpress' ); $this->plural = __( 'Venues', 'arlo-for-wordpress' ); parent::__construct(); } public function set_table_name() { $this->table_name = $this->wpdb->prefix . self::TABLENAME . ' AS v'; } public function get_title() { $title = parent::get_title(); $v_e_id = filter_input(INPUT_GET, 'v_e_id', FILTER_SANITIZE_STRING); if (!empty($v_e_id) && !empty(self::$filter_column_mapping['v_e_id']) && intval($v_e_id > 0) && !empty($this->items[0]->e_name)) { $title .= ' for event: ' . $this->items[0]->e_name; } return $title; } public function get_columns() { return $columns = [ 'v_name' => __( 'Venue name', 'arlo-for-wordpress' ), 'address' => __( 'Address', 'arlo-for-wordpress' ), 'v_physicaladdresscity' => __( 'City', 'arlo-for-wordpress' ), 'v_physicaladdresspostcode' => __( 'Postcode', 'arlo-for-wordpress' ), 'v_physicaladdresscountry' => __( 'Country', 'arlo-for-wordpress' ), 'v_facilityinfodirections' => __( 'Directions', 'arlo-for-wordpress' ), 'v_facilityinfoparking' => __( 'Parking', 'arlo-for-wordpress' ), ]; } public function get_hidden_columns() { return array(); } public function get_sortable_columns() { return array( 'v_name' => array( 'name', true ), 'v_physicaladdresscity' => array( 'city', false ), 'v_physicaladdressstate' => array( 'state', false ), 'v_physicaladdresspostcode' => array( 'postcode', false ), 'v_physicaladdresscountry' => array( 'country', false ) ); } public function column_default($item, $column_name) { switch ($column_name) { case 'v_name': case 'v_physicaladdressstate': case 'v_physicaladdresspostcode': case 'v_physicaladdresscountry': case 'v_physicaladdresscity': return esc_html($item->$column_name); case 'address': $address = []; for($i = 1; $i<5; $i++) { $key = 'v_physicaladdressline' . $i; if (!empty($item->$key)) { $address[] = esc_html($item->$key); } } return implode(', ', $address); case 'v_facilityinfodirections': case 'v_facilityinfoparking': if (!empty($item->$column_name)) return '