array( 'columns' => array( 'service_display_name', 'host_display_name' ), 'order' => self::SORT_ASC ), 'service_severity' => array( 'columns' => array( 'service_severity', 'service_last_state_change DESC', 'service_display_name ASC', 'host_display_name ASC' ), 'order' => self::SORT_DESC ), 'host_severity' => array( 'columns' => array( 'host_severity', 'host_last_state_change DESC', 'host_display_name ASC', 'service_display_name ASC' ), 'order' => self::SORT_DESC ), 'host_display_name' => array( 'columns' => array( 'host_display_name', 'service_display_name' ), 'order' => self::SORT_ASC ), 'host_address' => array( 'columns' => array( 'host_ipv4', 'service_display_name' ), 'order' => self::SORT_ASC ) ); } public function getFilterColumns() { return array( 'host', 'hostgroup', 'hostgroup_alias', 'hostgroup_name', 'service', 'service_host', 'servicegroup', 'servicegroup_alias', 'servicegroup_name' ); } public function isValidFilterTarget($column) { if ($column[0] === '_' && preg_match('/^_(?:host|service)_/', $column) ) { return true; } return parent::isValidFilterTarget($column); } /** * {@inheritdoc} */ public function getSearchColumns() { return array('host_display_name', 'service_display_name'); } }