private function getPaidData(Gpf_Rpc_FilterCollection $filters) { $select = new Gpf_SqlBuilder_SelectBuilder(); $select->select->add("SUM(amount)", "paid"); $select->from->add(Pap_Db_Table_Payouts::getName(), "p"); $select->from->addInnerJoin(Pap_Db_Table_PayoutsHistory::getName(), "ph", "p.payouthistoryid = ph.payouthistoryid"); $filters->addTo($select->where); Gpf_Plugins_Engine::extensionPoint('AffiliateNetwork.modifyWhere', new Gpf_Common_SelectBuilderCompoundRecord($select, new Gpf_Data_Record(array('columnPrefix'), array('ph')))); $row = $select->getOneRow(); return $this->checkNullValue($row->get("paid")); }
/** * * @param $message * @param $simulation * @return Gpf_Rpc_Form */ private function action(Gpf_Rpc_Params $params, $message = '', $simulation = false) { $data = new Gpf_Rpc_Data($params); $filters = new Gpf_Rpc_FilterCollection($params); if ($filters->getFilterValue('reachedCondition') == Gpf::YES) { $data->setValue('message', $message); return $data; } $compressedCommissionProcesor = new Pap_Features_CompressedCommissionPlacementModel_Processor(); $output = $compressedCommissionProcesor->recalculate($params->get('filters'), $simulation); $data->setValue('message', $output); return $data; }
private function getSubaffiliatesCounts($ids) { $results = array(); $condition = ''; $rs = new Gpf_Data_RecordSet(); $selectBuilder = new Gpf_SqlBuilder_SelectBuilder(); $selectBuilder->select->add('count(u.'.Pap_Db_Table_Users::ID.')', 'count'); $selectBuilder->select->add('u.'.Pap_Db_Table_Users::PARENTUSERID, Pap_Db_Table_Users::PARENTUSERID); $selectBuilder->from->add(Pap_Db_Table_Users::getName(), 'u'); $selectBuilder->from->addInnerJoin(Gpf_Db_Table_Users::getName(), 'gu', 'u.'.Pap_Db_Table_Users::ACCOUNTUSERID.' = gu.'.Gpf_Db_Table_Users::ID); $selectBuilder->from->addInnerJoin(Gpf_Db_Table_AuthUsers::getName(), 'au', 'gu.'.Gpf_Db_Table_Users::AUTHID .' = au.'.Gpf_Db_Table_AuthUsers::ID); $selectBuilder->where->add('u.'.Pap_Db_Table_Users::PARENTUSERID, 'in', $ids); $selectBuilder->where->add('u.'.Pap_Db_Table_Users::DELETED, '=', Gpf::NO); $selectBuilder->where->add('gu.'.Gpf_Db_Table_Users::STATUS, 'in', array(Gpf_Db_User::APPROVED, Gpf_Db_User::PENDING)); $this->filterCollection->addTo($selectBuilder->where); $selectBuilder->groupBy->add('u.'.Pap_Db_Table_Users::PARENTUSERID); $rs->load($selectBuilder); foreach($rs as $record) { $results[$record->get(Pap_Db_Table_Users::PARENTUSERID)] = $record->get('count'); } return $results; }
/** * @return Gpf_SqlBuilder_SelectBuilder */ protected function createSelectBuilder() { $filters = new Gpf_Rpc_FilterCollection($this->params); $selectBuilder = new Gpf_SqlBuilder_SelectBuilder(); $selectBuilder->select->add('v.'.Gpf_Db_Table_Views::ID, self::ID); $selectBuilder->select->add('v.'.Gpf_Db_Table_Views::NAME, self::VALUE); $selectBuilder->from->add(Gpf_Db_Table_Views::getName(), 'v'); $whereCond = new Gpf_SqlBuilder_CompoundWhereCondition(); $whereCond->add('v.' . Gpf_Db_Table_Views::ACCOUNTUSERID, '=', Gpf_Session::getAuthUser()->getUserData()->get(Gpf_Db_Table_Users::ID)); $whereCond->add('v.' . Gpf_Db_Table_Views::ACCOUNTUSERID, '=', '', 'OR'); $selectBuilder->where->addCondition($whereCond); if ($filters->isFilter('viewtype')) { $selectBuilder->where->add('v.' . Gpf_Db_Table_Views::VIEWTYPE, '=', $filters->getFilterValue('viewtype')); } return $selectBuilder; }
/** * @param Gpf_SqlBuilder_SelectBuilder $select * @param Gpf_Rpc_FilterCollection $allFilters */ private function addOrderIdFilterToSelect(Gpf_SqlBuilder_SelectBuilder $select, Gpf_Rpc_FilterCollection $allFilters) { $filter = $this->getFirstElement($allFilters->getFilter('orderid')); if ($filter === null) { return; } $orderIds = preg_split("/[,;(\n)]/", $filter->getValue()); $condition = new Gpf_SqlBuilder_CompoundWhereCondition(); for ($i = 0; $i < count($orderIds); $i++) { if(trim($orderIds[$i]) != '') { $condition->add('orderid', 'LIKE', '%'.trim($orderIds[$i]).'%', 'OR'); } } $select->where->addCondition($condition); }
private function setActionAndCommissionId(Gpf_Rpc_FilterCollection $filters) { $this->action = $filters->getFilterValue('action'); $this->commTypeId = $filters->getFilterValue('commtypeid'); }
/** * @param Gpf_Rpc_Params $params * @return Pap_Stats_Params */ private function init(Gpf_Rpc_Params $params) { $filterCollection = new Gpf_Rpc_FilterCollection($params); $this->chartType = $filterCollection->getFilterValue("chartType"); $this->timeGroupBy = $filterCollection->getFilterValue("groupBy"); try { $this->dataType1 = $this->getDataType($filterCollection->getFilterValue("dataType1")); } catch (Gpf_Exception $e) { $this->dataType1 = $this->getDataType($this->getDefaultDataType()); } try { $this->dataType2 = $this->getDataType($filterCollection->getFilterValue("dataType2")); } catch (Gpf_Exception $e) { $this->dataType2 = null; } $this->initStatParams($filterCollection); }
/** * @service pay_affiliate read */ public function markTransactionsAsPaymentPending(Gpf_Rpc_Params $params) { $this->clearPaymentPendingMark(); $action = new Gpf_Rpc_Action($params); $userIds = $this->getUserIdsFromFilter($action); $filters = new Gpf_Rpc_FilterCollection($params); $filterIterator = $filters->getIterator(); while($filterIterator->valid()) { $filter = $filterIterator->current(); if(!substr_compare($filter->getCode(), Pap_Merchants_Payout_PayAffiliatesGrid::TANSACTIONS_TABLE_ALIAS.'.data', 0, strlen($filter->getCode())-1)) { $suffix = substr($filter->getCode(), strlen($filter->getCode())-1); $filter->setCode('data'.$suffix); } $filterIterator->next(); } $numRows = $this->updateSelectedRows($filters, $userIds); if ($numRows == 0) { $action->setErrorMessage($this->_('Nobody from selected affiliates have approved commissions. No commissions will be paid.')); $action->addError(); return $action; } $nonZeroUsersCount = $this->getNumberOfNonZeroPaidAffiliates($userIds); if ((count($userIds) - $nonZeroUsersCount) > 0) { $action->setErrorMessage($this->_('%s of selected affiliates have no approved or zero commissions. No commissions will be paid to them.', (count($userIds) - $nonZeroUsersCount))); $action->addError(); return $action; } $action->addOk(); return $action; }
/** * @param array $filtersArray * @return array */ private function getOrderIdsFromFilters($filtersArray = null) { if (is_null($filtersArray)) { return array(); } $filterCollection = new Gpf_Rpc_FilterCollection(); foreach ($filtersArray as $filter) { $filterCollection->add($filter); } $filters = $filterCollection->getFilter('orderid'); if (count($filters) == 0) { return array(); } $filter = $filters[0]; return array_map('trim', preg_split("/[,;(\n)]/", $filter->getValue())); }
private function removeAffiliateFilter() { $tempFilterCollection = new Gpf_Rpc_FilterCollection(); foreach ($this->filterCollection as $filter) { if ($filter->getCode() == 'affiliate' || $filter->getCode() == 'onlyTopAffiliates') { continue; } $tempFilterCollection->add(array($filter->getCode(), $filter->getRawOperator()->getCode(), $filter->getValue())); } $this->filterCollection = $tempFilterCollection; }