public function formatSelect($select, $params = array()) { if (!isset($params['queryTextColumn_text']) || !$params['queryTextColumn_text']) { return $select; } $params['query'] = $params['queryTextColumn_text']; if (!empty($params['queryTextColumn_column'])) { $queryFieldsBefore = $this->getQueryFields(); $this->setQueryFields(array($params['queryTextColumn_column'])); $ret = parent::formatSelect($select, $params); $this->setQueryFields($queryFieldsBefore); } else { $ret = parent::formatSelect($select, $params); } return $ret; }
public function testTextFilter() { $model = new Kwf_Model_FnF(array('data' => array(array('id' => 1, 'value' => 'foo'), array('id' => 2, 'value' => 'foobar'), array('id' => 3, 'value' => 'bar')))); $filter = new Kwf_Controller_Action_Auto_Filter_Text(); $filter->setModel($model); $filter->setQueryFields(array('value')); $select = $filter->formatSelect($model->select()); $this->assertEquals(3, $model->countRows($select)); $select = $filter->formatSelect($model->select(), array('query' => 'foo')); $this->assertEquals(2, $model->countRows($select)); $select = $filter->formatSelect($model->select(), array('query' => 'foobar')); $this->assertEquals(1, $model->countRows($select)); $select = $filter->formatSelect($model->select(), array('query' => 'foo bar')); $this->assertEquals(1, $model->countRows($select)); $select = $filter->formatSelect($model->select(), array('query' => 'xxx yyy')); $this->assertEquals(0, $model->countRows($select)); $select = $filter->formatSelect($model->select(), array('query' => 'value:foo')); $this->assertEquals(2, $model->countRows($select)); $select = $filter->formatSelect($model->select(), array('query' => 'value: foo')); $this->assertEquals(2, $model->countRows($select)); $select = $filter->formatSelect($model->select(), array('query' => 'id:2')); $this->assertEquals(1, $model->countRows($select)); $this->assertEquals(2, $model->getRows($select)->current()->id); }