/** * @service campaign read * @return Gpf_Data_RecordSet */ public function getActionTypes(Gpf_Rpc_Params $params) { $actionTypesHeader = array(Pap_Db_Table_CommissionTypes::TYPE, Pap_Db_Table_CommissionTypes::NAME, Pap_Db_Table_CommissionTypes::ID, 'campaignName'); $data = new Gpf_Rpc_Data($params); $filters = $data->getFilters(); $statsParams = new Pap_Stats_Params(); $statsParams->setCampaignId($filters->getFilterValue('campaignid')); $statsParams->setBannerId($filters->getFilterValue('bannerid')); $transactionTypeStats = new Pap_Stats_TransactionTypeStats($statsParams); $transactionTypes = $transactionTypeStats->getTypes(); $actionTypesRecordSet = new Gpf_Data_RecordSet(); $actionTypesRecordSet->setHeader($actionTypesHeader); $this->initActionCampaignNames(); foreach ($transactionTypes as $transactionType) { if ($transactionType->getType() != Pap_Common_Constants::TYPE_SALE && $transactionType->getType() !=Pap_Common_Constants::TYPE_ACTION && $transactionType->getType() != Pap_Common_Constants::TYPE_RECURRING) { continue; } $actionTypesRecordSet->add(new Gpf_Data_Record($actionTypesHeader, array($transactionType->getType(), $transactionType->getName(), $transactionType->getCommissionTypeId(), $this->getActionCampaignName($transactionType->getCommissionTypeId())))); } return $actionTypesRecordSet; }