protected function buildFilter() { if ($this->filterId && $this->filterId != 'custom') { $sql = new Gpf_SqlBuilder_SelectBuilder(); $sql->select->addAll(Gpf_Db_Table_FilterConditions::getInstance()); $sql->from->add(Gpf_Db_Table_FilterConditions::getName()); $sql->where->add('filterid', '=', $this->filterId); $conditions = $sql->getAllRows(); foreach ($conditions as $condition) { $filterArray = array( Gpf_SqlBuilder_Filter::FILTER_CODE => $condition->get('code'), Gpf_SqlBuilder_Filter::FILTER_OPERATOR => $condition->get('operator'), Gpf_SqlBuilder_Filter::FILTER_VALUE => $condition->get('value')); $filter = new Gpf_SqlBuilder_Filter($filterArray); if (array_key_exists($filter->getCode(), $this->dataColumns)) { $dataColumn = $this->dataColumns[$filter->getCode()]; $filter->setCode($dataColumn->getName()); $filter->addTo($this->_selectBuilder->where); } else { $this->addFilter($filter); } } } if (!empty($this->recipients)) { $condition = new Gpf_SqlBuilder_CompoundWhereCondition(); $condition->add('au.'.Gpf_Db_Table_AuthUsers::NOTIFICATION_EMAIL, 'IN', $this->recipients, 'OR'); $condition->add('au.username', 'IN', $this->recipients, 'OR'); $this->_selectBuilder->where->addCondition($condition); } }