public function getFilters() { if (is_array($this->filters)) { // set from cache! (for export) return $this->filters; } $filters = []; $optionsRenderer = $this->getOptionsRenderer(); $parameterNames = $optionsRenderer['parameterNames']; $request = $this->getRequest(); $isSearch = $request->getPost($parameterNames['isSearch']); if ('true' == $isSearch) { // User filtering foreach ($this->getColumns() as $column) { /* @var $column \ZfcDatagrid\Column\AbstractColumn */ if ($request->getPost($column->getUniqueId()) != '') { $value = $request->getPost($column->getUniqueId()); $filter = new \ZfcDatagrid\Filter(); $filter->setFromColumn($column, $value); $filters[] = $filter; $column->setFilterActive($filter->getDisplayColumnValue()); } } } if (count($filters) === 0) { // No user sorting -> get default sorting $filters = $this->getFiltersDefault(); } $this->filters = $filters; return $this->filters; }
/** * * @todo Make parameter config * * @see \ZfcDatagrid\Renderer\AbstractRenderer::getFilters() */ public function getFilters() { if (is_array($this->filters)) { return $this->filters; } $request = $this->getRequest(); $filters = []; if (($request->isPost() === true || $request->isGet() === true) && $request->getPost('toolbarFilters', $request->getQuery('toolbarFilters')) !== null) { foreach ($request->getPost('toolbarFilters', $request->getQuery('toolbarFilters')) as $uniqueId => $value) { if ($value != '') { foreach ($this->getColumns() as $column) { /* @var $column \ZfcDatagrid\Column\AbstractColumn */ if ($column->getUniqueId() == $uniqueId) { $filter = new \ZfcDatagrid\Filter(); $filter->setFromColumn($column, $value); $filters[] = $filter; $column->setFilterActive($filter->getDisplayColumnValue()); } } } } } if (!empty($filters)) { $this->filters = $filters; } else { // No user sorting -> get default sorting $this->filters = $this->getFiltersDefault(); } return $this->filters; }