Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 /**
  *
  * @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;
 }