protected function addFilter(Gpf_SqlBuilder_Filter $filter) {
     switch ($filter->getCode()) {
         case "search":
             $this->addSearch($filter);
             break;
     }
 }
  protected function addFilter(Gpf_SqlBuilder_Filter $filter) {
     switch ($filter->getCode()) {
         case "search":
             $this->addSearch($filter);
             break;
         case "orderId":
             $this->addOrderId($filter);
             break;
         case "channelValue":
         	$this->addChannel($filter);
     }
     
     $context = new Gpf_Plugins_ValueContext('');
     $context->setArray(array(
             'filter' => $filter,
             'whereClause' => $this->_selectBuilder->where
     ));
     Gpf_Plugins_Engine::extensionPoint('PostAffiliate.Pap_Common_Reports_TransactionsGridBase.addFilter', $context);
 }
    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);
        }
    }
 protected function addFilter(Gpf_SqlBuilder_Filter $filter) {
     if ($filter->getCode() == "search") {
         $this->addSearch($filter);
     }
 }
 protected function getFilterValue(Gpf_Rpc_Params $params, $code) {
     $filters = $params->get('filters');
     if (is_array($filters)) {
         foreach ($filters as $filterArray) {
             $filter = new Gpf_SqlBuilder_Filter($filterArray);
             if ($filter->getCode() == $code) {
                 return $filter->getValue();
             }
         }
     }
     throw new Gpf_Exception($this->_('Can not create field'));
 }
 protected function addFilter(Gpf_SqlBuilder_Filter $filter) {
     switch ($filter->getCode()) {
         case "countrycode":
             $this->findCountryCode($filter);
             break;
     }
     parent::addFilter($filter);
 }
 private function addTimeFilter(Gpf_SqlBuilder_Filter $filter, Gpf_SqlBuilder_CompoundWhereCondition $timeFilterCompoundWhere, $firtsTimeFilter = null) {
     $logicOperator = 'AND';
     if (!is_null($firtsTimeFilter) && Gpf_Common_DateUtils::getServerHours($firtsTimeFilter->getValue()) > Gpf_Common_DateUtils::getServerHours($filter->getValue())) {
         $logicOperator = 'OR';
     }
     $operator = $filter->getRawOperator();
     $timeFilterCompoundWhere->add("HOUR(".$filter->getCode().")", $operator->getSqlCode(), Gpf_Common_DateUtils::getServerHours($filter->getValue()), $logicOperator, $operator->getDoQuote());
 }
	protected function addFilter(Gpf_SqlBuilder_Filter $filter) {
		switch ($filter->getCode()) {
			case "search":
				$this->addSearch($filter);
				break;
			case "reachedMinPayout":
				$this->addReachedMinPayout($filter);
				break;
			case "methods":
				$this->addPayoutMethods($filter);
				break;
            case "campaignid":
                $filter->addTo($this->subselect->where);
                break;
            case self::SUBSELECT_TANSACTIONS_TABLE_ALIAS.".data1":
            case self::SUBSELECT_TANSACTIONS_TABLE_ALIAS.".data2":
            case self::SUBSELECT_TANSACTIONS_TABLE_ALIAS.".data3":
            case self::SUBSELECT_TANSACTIONS_TABLE_ALIAS.".data4":
            case self::SUBSELECT_TANSACTIONS_TABLE_ALIAS.".data5":
            case self::SUBSELECT_TANSACTIONS_TABLE_ALIAS.'.'.Pap_Db_Table_Transactions::R_TYPE:
                $this->addTransactionDataFilter($filter);
                break;
		}
	}
    private function getChannel() {
        $filters = $this->getParam("filters");

        if($filters != null && $filters != false) {
            if (is_array($filters)) {
                foreach ($filters as $filterArray) {
                    $filter = new Gpf_SqlBuilder_Filter($filterArray);
                    $filterCode = $filter->getCode();
                    if($filterCode == 'channel') {
                        return $this->loadChannelFromId($filter->getValue());
                    }
                }
            }
        }

        return null;
    }