public function filterRow(Gpf_Data_Row $row) { $row->add('commissionsexist', Gpf::NO); if ($this->commissionsTable->findCampaignInCommExistsRecords($row->get("id"), $this->commissions)) { $row->set('commissionsexist', Gpf::YES); } $row->add('commissionsdetails', $this->commissionsTable->getCommissionsDescription($row->get("id"), $this->commissions, $this->getCommissionGroupId($row))); $row->set('name', $this->_localize($row->get('name'))); return parent::filterRow($row); }
public function run() { $time1 = microtime(); Pap3Compatibility_Migration_OutputWriter::logOnce("Deleting migrated data from existing PAP4 tables<br/>"); try { $this->deleteTable(Pap_Db_Table_Campaigns::getName()); $this->deleteTable(Pap_Db_Table_CommissionGroups::getName()); $this->deleteTable(Pap_Db_Table_CommissionTypes::getName()); $this->deleteTable(Pap_Db_Table_Commissions::getName()); $this->deleteTable(Pap_Db_Table_UserInCommissionGroup::getName()); $this->deleteTable(Gpf_Db_Table_FormFields::getName()); $this->deleteTable(Gpf_Db_Table_FieldGroups::getName()); $this->deleteTable(Pap_Db_Table_Transactions::getName()); $this->deleteTable(Pap_Db_Table_Clicks::getName()); $this->deleteTable(Pap_Db_Table_RawClicks::getName()); $this->deleteTable(Pap_Db_Table_Impressions::getName()); $this->deleteTable(Pap_Db_Table_Banners::getName()); $this->deleteTable(Gpf_Db_Table_FieldGroups::getName()); $this->deleteTable(Pap_Db_Table_PayoutsHistory::getName()); $this->deleteTable(Pap_Db_Table_Payouts::getName()); $this->deleteTable(Gpf_Db_Table_Currencies::getName()); $this->deleteTable(Gpf_Db_Table_MailAccounts::getName()); } catch(Exception $e) { Pap3Compatibility_Migration_OutputWriter::log(" Errror: ".$e->getMessage()."<br/>"); } $time2 = microtime(); Pap3Compatibility_Migration_OutputWriter::logDone($time1, $time2); }
private function setCommissionGroupId(Gpf_Data_Row $row) { if (!is_null(($commissionGroupId = $this->commissionsGroupTable->getUserCommissionGroup($row->get(Pap_Db_Table_Campaigns::ID), $this->getUserID())))) { $row->set('commissiongroupid', $commissionGroupId); return; } try { $row->set('commissiongroupid', $this->commissionsTable->getDefaultCommissionGroup($row->get(Pap_Db_Table_Campaigns::ID))); } catch (Gpf_DbEngine_NoRowException $e) { } }
/** * returns all commission types for a campaign * * @service commission read * @param $fields */ public function loadAllCommissionSettings(Gpf_Rpc_Params $params) { $commissionGroupId = $params->get("commissiongroupid"); $campaignId = $params->get("campaignid"); $rtype = $params->get("rtype"); if($campaignId != '') { if($commissionGroupId == '') { $commissionGroupId = $this->getDefaultCommissionGroupId($campaignId); } return Pap_Db_Table_Commissions::getInstance()->getAllCommissions('', $commissionGroupId); } if($rtype != '') { return Pap_Db_Table_Commissions::getInstance()->getAllCommissions('', $commissionGroupId); } throw new Exception($this->_("Campaign ID cannot be empty!")); }
private function addCommissions(Gpf_Data_RecordSet $rs ) { $cTable = Pap_Db_Table_Commissions::getInstance(); $rsCommissions = $cTable->getAllCommissionsInCampaign('', ''); $rs->addColumn('commissions', 'N'); $newRs = new Gpf_Data_RecordSet(); $newRs->setHeader($rs->getHeader()); foreach ($rs as $record) { if($cTable->findCampaignInCommExistsRecords($record->get("id"), $rsCommissions)) { $record->set('commissions', $this->getCommissionsDescription($record->get("id"), $rsCommissions)); $newRs->addRecord($record); } } return $newRs; }
/** * * @param Gpf_Data_RecordSet $inputResult * @return Gpf_Data_RecordSet */ protected function afterExecute(Gpf_Data_RecordSet $inputResult) { $inputResult->addColumn('commissionOverview', 'N'); $cTable = Pap_Db_Table_Commissions::getInstance(); $rsCommissions = $cTable->getAllCommissionsInCampaign(); foreach ($inputResult as $record) { if($cTable->findCampaignInCommExistsRecords($record->get(Pap_Db_Table_Campaigns::ID), $rsCommissions)) { $record->set('commissionOverview', $cTable->getCommissionsDescription($record->get(Pap_Db_Table_Campaigns::ID), $rsCommissions, $record->get('id'))); } } return $inputResult; }
/** * @return Gpf_Data_RecordSet */ public function getAffiliateCampaigns() { $cTable = Pap_Db_Table_Commissions::getInstance(); $rsCommissions = $cTable->getAllCommissionsInCampaign('', ''); foreach ($this->campaigns as $campaign) { $status = $campaign->get(Pap_Db_Table_Campaigns::STATUS); if(!in_array($status, Pap_Affiliates_Promo_Campaigns::getCampaignAllowedStatuses())) { continue; } if ($cTable->findCampaignInCommExistsRecords($campaign->get($this->campaignIDColumnName), $rsCommissions)) { if ($this->isAffiliateInCampaign($campaign)) { $this->affiliateCampaigns->addRecord($campaign); } } } return $this->affiliateCampaigns; }
/** * function checks if for this campaigns some commission types are set * and if they have some commissions defined. * If not, it returns N, if yes it returns Y. * */ public function getCommissionStatus() { $cTable = Pap_Db_Table_Commissions::getInstance(); $commissionsExist = $cTable->checkCommissionsExistInCampaign($this->getId()); if($commissionsExist) { return self::CAMPAIGN_COMMISSION_STATUS_DEFINED; } return self::CAMPAIGN_COMMISSION_STATUS_NOTDEFINED; }
/** * @service user_comm_group add * * @param Gpf_Rpc_Params $params * @return Gpf_Rpc_Action */ public function addUser(Gpf_Rpc_Params $params) { $action = new Gpf_Rpc_Action($params); $action->setInfoMessage($this->_('%s successfully add', $this->getRowName())); $campaignId = $action->getParam('campaignId'); $cTable = Pap_Db_Table_Commissions::getInstance(); $commissionGroup = $cTable->getDefaultCommissionGroup($campaignId); $this->addUserNoRpc($action, $campaignId, Gpf_Session::getAuthUser()->getPapUserId(), $commissionGroup, 'P', $action->getParam('sendNotification') == Gpf::YES); return $action; }
/** * @return Gpf_Data_RecordSet */ public function getReferralCommissions() { $select = new Gpf_SqlBuilder_SelectBuilder(); $select->select->add('c.'.Pap_Db_Table_Commissions::ID, Pap_Db_Table_Commissions::ID); $select->select->add('c.'.Pap_Db_Table_Commissions::TIER, Pap_Db_Table_Commissions::TIER); $select->select->add('c.'.Pap_Db_Table_Commissions::SUBTYPE, Pap_Db_Table_Commissions::SUBTYPE); $select->select->add('c.'.Pap_Db_Table_Commissions::TYPE, 'commissiontype'); $select->select->add('c.'.Pap_Db_Table_Commissions::VALUE, 'commissionvalue'); $select->select->add('c.'.Pap_Db_Table_Commissions::TYPE_ID, 'commtypeid'); $select->from->add(Pap_Db_Table_Commissions::getName(), 'c'); $select->from->addInnerJoin(Pap_Db_Table_CommissionTypes::getName(), 'ct', 'c.'.Pap_Db_Table_Commissions::TYPE_ID.'=ct.'.Pap_Db_Table_CommissionTypes::ID); $select->where->add(Pap_Db_Table_CommissionTypes::TYPE, '=', Pap_Db_Transaction::TYPE_REFERRAL); $select->orderBy->add(Pap_Db_Table_Commissions::TIER); return $select->getAllRows(); }
protected function addReferralCommissions(Pap_Affiliates_User $affiliate) { try { $commissionType = Pap_Db_Table_CommissionTypes::getReferralCommissionType(); } catch (Gpf_Exception $e) { return; } $referralCommissions = Pap_Db_Table_Commissions::getReferralCommissions(); if ($commissionType->getStatus() == 'D' || $referralCommissions->getSize() < 1) { return; } if ($commissionType->getApproval() == Pap_Db_CommissionType::APPROVAL_MANUAL) { $status = 'P'; } else { $status = $affiliate->getStatus(); } $saveZeroCommissions = $commissionType->getSaveZeroCommissions(); $iterator = $referralCommissions->getIterator(); while (($affiliate = $affiliate->getParentUser()) !== null) { if ($iterator->valid()) { $commission = $iterator->current(); $this->addTransaction($affiliate->getId(), Pap_Db_Transaction::TYPE_REFERRAL, $commission->get(Pap_Db_Table_Commissions::VALUE), $status, $commission,$saveZeroCommissions); $iterator->next(); } else { break; } } }
private function getAffiliateCommissionGroupId($campaignID) { $campaign = new Pap_Db_Campaign(); $campaign->setId($campaignID); $commissionGroupId = $campaign->checkUserIsInCampaign(Gpf_Session::getAuthUser()->getPapUserId()); if ($commissionGroupId != false) { return $commissionGroupId; } return Pap_Db_Table_Commissions::getInstance()->getDefaultCommissionGroup($campaignID); }
protected function initTransactionSql(Gpf_SqlBuilder_SelectBuilder $transactionsSql) { $transactionsSql->from->add(Pap_Db_Table_Transactions::getName(), 't'); $transactionsSql->from->addInnerJoin(Pap_Db_Table_Commissions::getName(), 'c', 'c.'.Pap_Db_Table_Commissions::TYPE_ID.'=t.'. Pap_Db_Table_Transactions::COMMISSIONTYPEID.' AND c.'.Pap_Db_Table_Commissions::TIER.'=t.'.Pap_Db_Table_Transactions::TIER); $transactionsSql->where->add('c.'.Pap_Db_Table_Commissions::GROUP_ID, '=',$this->rule->getCommissionGroupId()); $transactionsSql->where->add('t.'.Pap_Db_Table_Transactions::R_STATUS, '!=', Pap_Common_Constants::STATUS_DECLINED); $transactionsSql->where->add('t.'.Pap_Db_Table_Transactions::COMMISSIONTYPEID, '!=', null); $transactionsSql->where->add('t.'.Pap_Db_Table_Transactions::PAYOUT_STATUS, '=', Pap_Common_Constants::PSTATUS_UNPAID); $transactionsSql->where->add('t.'.Pap_Db_Table_Transactions::R_TYPE, 'NOT IN', array(Pap_Db_Transaction::TYPE_REFUND, Pap_Db_Transaction::TYPE_CHARGE_BACK)); }
/** * deletes tier commission * if deleteType == exact, it will delete only given tier * if deleteType == above, it will delete given tier and all above * * @param unknown_type $fromTier * @param unknown_type $subType * @param unknown_type $commGroupId * @param unknown_type $commTypeId * @param unknown_type $deleteType */ public function deleteUnusedCommissions($fromTier, $subType, $commGroupId, $commTypeId, $deleteType = 'extact') { $deleteBuilder = new Gpf_SqlBuilder_DeleteBuilder(); $deleteBuilder->from->add(Pap_Db_Table_Commissions::getName()); $deleteBuilder->where->add('subtype', '=', $subType); if($deleteType == 'above') { $deleteBuilder->where->add('tier', '>', $fromTier); } else { $deleteBuilder->where->add('tier', '=', $fromTier); } $deleteBuilder->where->add('commtypeid', '=', $commTypeId); $deleteBuilder->where->add('commissiongroupid', '=', $commGroupId); $deleteBuilder->delete(); }
private function getCommission() { $selectBuilder = new Gpf_SqlBuilder_SelectBuilder(); $selectBuilder->select->add(Pap_Db_Table_Commissions::ID, Pap_Db_Table_Commissions::ID); $selectBuilder->select->add(Pap_Db_Table_Commissions::TIER, Pap_Db_Table_Commissions::TIER); $selectBuilder->select->add(Pap_Db_Table_Commissions::SUBTYPE, Pap_Db_Table_Commissions::SUBTYPE); $selectBuilder->select->add(Pap_Db_Table_Commissions::TYPE, Pap_Db_Table_Commissions::TYPE); $selectBuilder->select->add(Pap_Db_Table_Commissions::VALUE, Pap_Db_Table_Commissions::VALUE); $selectBuilder->select->add(Pap_Db_Table_Commissions::TYPE_ID, Pap_Db_Table_Commissions::TYPE_ID); $selectBuilder->select->add(Pap_Db_Table_Commissions::GROUP_ID, Pap_Db_Table_Commissions::GROUP_ID); $selectBuilder->from->add(Pap_Db_Table_Commissions::getName()); return $selectBuilder; }
/** * @service commission_group read * * @param Gpf_Rpc_Params $params * @return Gpf_Rpc_Form */ public function getAllCommissionGroupsForCampaign(Gpf_Rpc_Params $params) { $form = new Gpf_Rpc_Form($params); $select = $this->getCommissionGroupsSelect($params->get('campaignid')); try { $commissionGroupsData = $select->getAllRows(); } catch (Gpf_DbEngine_NoRowException $e) { return $form; } $cTable = Pap_Db_Table_Commissions::getInstance(); $rsCommissions = $cTable->getAllCommissionsInCampaign(); $commissionGroups = new Gpf_Data_RecordSet(); $commissionGroups->setHeader(array('id', 'name', 'commissiongroupvalue')); foreach ($commissionGroupsData as $commissionGroupData) { $commissionGroups->add(array($commissionGroupData->get(Pap_Db_Table_CommissionGroups::ID), Pap_Db_Table_CommissionGroups::NAME, $commissionGroupData->set('commissiongroupvalue', $cTable->getCommissionsDescription($commissionGroupData->get(Pap_Db_Table_Campaigns::ID), $rsCommissions, $commissionGroupData->get(Pap_Db_Table_CommissionGroups::ID))))); } $form->setField('commissionGroups', '', $commissionGroupsData->toObject()); return $form; }
private function addCampaignDetails(Gpf_Data_RecordSet $inputResult) { $inputResult->addColumn('campaigndetails'); $commissionsTable = Pap_Db_Table_Commissions::getInstance(); $allCommissions = $commissionsTable->getAllCommissionsInCampaign(); $campaignCommissions = array(); foreach ($inputResult as $record) { $campaignId = $record->get('campaignid'); if (!array_key_exists($campaignId, $campaignCommissions)) { $campaign = new Pap_Db_Campaign(); $campaign->setId($campaignId); $commissionGroupId = $campaign->checkUserIsInCampaign(Gpf_Session::getAuthUser()->getPapUserId()); if ($commissionGroupId == false) { $commissionGroupId = null; } $campaignCommissions[$campaignId] = $commissionsTable->getCommissionsDescription($campaignId,$allCommissions,$commissionGroupId); } $record->set('campaigndetails', $campaignCommissions[$campaignId]); } return $inputResult; }
/** * @service campaign read * * @param Gpf_Rpc_Params $params */ public function getPrivateAndManualCampaigns(Gpf_Rpc_Params $params) { $selectBuilder = $this->getCampaignsSelect(); $selectBuilder->select->add(self::TYPE, 'type'); $selectBuilder->where->add(self::TYPE, 'IN', array(Pap_Db_Campaign::CAMPAIGN_TYPE_ON_INVITATION, Pap_Db_Campaign::CAMPAIGN_TYPE_PUBLIC_MANUAL)); $selectBuilder->orderBy->add(self::NAME); $campaigns = $selectBuilder->getAllRows(); $cTable = Pap_Db_Table_Commissions::getInstance(); $rsCommissions = $cTable->getAllCommissionsInCampaign(); $campaigns->addColumn('commissions', ''); foreach ($campaigns as $campaign) { $campaign->set('type', Pap_Common_Constants::getCampaignTypeAsText($campaign->get('type'))); if ($cTable->findCampaignInCommExistsRecords($campaign->get('id'), $rsCommissions)) { $campaign->set('commissions', $cTable->getCommissionsDescription($campaign->get('id'), $rsCommissions)); } } return $campaigns; }
private function disableRecurringCommissionInCampaigns() { Pap_Db_Table_Commissions::getInstance()->deleteAllSubtypeCommissions(Pap_Db_Table_Commissions::SUBTYPE_RECURRING); }