protected function buildFrom() {
		$this->_selectBuilder->from->add(Pap_Db_Table_Rules::getName(), 'r');
		$this->_selectBuilder->from->addInnerJoin(Pap_Db_Table_Campaigns::getName(), 'c',
		  'c.'.Pap_Db_Table_Campaigns::ID.'=r.'.Pap_Db_Table_Rules::CAMPAIGN_ID);
		$this->_selectBuilder->from->addLeftJoin(Pap_Db_Table_CommissionGroups::getName(), 'cg',
          'r.'.Pap_Db_Table_Rules::COMMISSION_GROUP_ID.'=cg.'.Pap_Db_Table_CommissionGroups::ID);
	}
    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("&nbsp;&nbsp;Errror: ".$e->getMessage()."<br/>");
    	}

    	$time2 = microtime();
		Pap3Compatibility_Migration_OutputWriter::logDone($time1, $time2);
    }
 protected function buildFrom() {
     $this->_selectBuilder->from->add(Pap_Db_Table_UserInCommissionGroup::getName(), "uicg");
     $onCondition = "uicg.".Pap_Db_Table_UserInCommissionGroup::COMMISSION_GROUP_ID." = cg.".Pap_Db_Table_CommissionGroups::ID;
     $this->_selectBuilder->from->addInnerJoin(Pap_Db_Table_CommissionGroups::getName(), "cg", $onCondition);
     $onCondition = "cg.".Pap_Db_Table_CommissionGroups::CAMPAIGN_ID. " = c." .Pap_Db_Table_Campaigns::ID;
     $this->_selectBuilder->from->addInnerJoin(Pap_Db_Table_Campaigns::getName(), "c", $onCondition);
 }
	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) {
		}
	}
	private function removeCommissionGroups() {
		$delete = new Gpf_SqlBuilder_DeleteBuilder();
		$delete->delete->add('cg');
		$delete->from->add(Pap_Db_Table_UserInCommissionGroup::getName(), 'ucg');
		$delete->from->addRightJoin(Pap_Db_Table_CommissionGroups::getName(), 'cg',
           'ucg.'.Pap_Db_Table_UserInCommissionGroup::COMMISSION_GROUP_ID.'=cg.'.Pap_Db_Table_CommissionGroups::ID);
		$delete->from->addInnerJoin(Pap_Db_Table_Campaigns::getName(), 'c',
           'cg.'.Pap_Db_Table_CommissionGroups::CAMPAIGN_ID.'=c.'.Pap_Db_Table_Campaigns::ID);
		$delete->where->add('cg.'.Pap_Db_Table_CommissionGroups::IS_DEFAULT, '=', Gpf::NO);
		$delete->delete();
	}
 protected function buildFrom() {
 	$this->_selectBuilder->from->add(Pap_Db_Table_UserInCommissionGroup::getName(), 'ucg');
 	$this->_selectBuilder->from->addInnerJoin(Pap_Db_Table_CommissionGroups::getName(), 'cg',
 	    'cg.'.Pap_Db_Table_CommissionGroups::ID.'=ucg.'.Pap_Db_Table_UserInCommissionGroup::COMMISSION_GROUP_ID);
     $this->_selectBuilder->from->addInnerJoin(Pap_Db_Table_Users::getName(), 
         'u', 'ucg.userid=u.userid');
     $this->_selectBuilder->from->addInnerJoin(Gpf_Db_Table_Users::getName(), 
         'gu', 'u.accountuserid=gu.accountuserid');
     $this->_selectBuilder->from->addInnerJoin(Gpf_Db_Table_AuthUsers::getName(), 
         'au', 'au.authid=gu.authid');
 }
 /**
  * @return Gpf_SqlBuilder_SelectBuilder
  */
 protected function createSelectBuilder() {
 	$select = new Gpf_SqlBuilder_SelectBuilder();
     $select->select->add("cg.".Pap_Db_Table_CommissionGroups::ID, self::ID);
     $select->select->add("cg.".Pap_Db_Table_CommissionGroups::NAME, self::VALUE);
     $select->from->add(Pap_Db_Table_CommissionGroups::getName(), 'cg');
     if ($this->params->exists('campaignid')) {
         $select->where->add('cg.'.Pap_Db_Table_CommissionGroups::CAMPAIGN_ID, '=', $this->params->get('campaignid'));
     }
   
     return $select;
 }
    private function createApproveDeclineTask(Gpf_Tasks_QuickTaskGroup $quickTaskGroup, $newStatus) {               
        $actionRequest = new Gpf_Rpc_ActionRequest('Pap_Features_Common_AffiliateGroupForm', 'changeStatus');
       
        $commissionGroup = Pap_Db_Table_CommissionGroups::getInstance();

        $userInCommissionGroupId = $commissionGroup->getUserInCommissionGroup($this->campaign->getId(), $this->user->getId());

        $actionRequest->addParam('status', $newStatus);
        $actionRequest->addParam('ids', new Gpf_Rpc_Array(array($userInCommissionGroupId)));   
        
        $quickTask = new Gpf_Tasks_QuickTask($actionRequest);
        $quickTaskGroup->add($quickTask);
        return $quickTask->getUrl();
    }
 /**
  * @service commission read
  * 
  * @param $campaignid
  * @return Gpf_Data_RecordSet <commissiongroupid, name, isdefault>
  */
 public function loadCommissionGroups(Gpf_Rpc_Params $params) {
     $campaignId = $params->get("campaignid"); 
     if($campaignId == "") {
       throw new Gpf_Exception($this->_("loadCommissionGroups: campaignId is empty"));
     }
     
     $commissionsGroupTable = Pap_Db_Table_CommissionGroups::getInstance();
     $groups = $commissionsGroupTable->getAllCommissionGroups($campaignId);
     
     if($groups->getSize() == 0) {
       $this->insertDefaultCommissionGroup($campaignId);
       $groups = $commissionsGroupTable->getAllCommissionGroups($campaignId);
     }
     
     return $groups;
 }
 private function saveCommissionGroup($campaignId, $userId, $newCommissionGroupId) {
 	$cgTable = Pap_Db_Table_CommissionGroups::getInstance();
 	$oldCommissionGroupId = $cgTable->getUserCommissionGroup($campaignId, $userId);
 	$status = Pap_Common_Constants::STATUS_APPROVED;
 	
     if ($oldCommissionGroupId != null) {
         try {
             $status = Pap_Db_Table_UserInCommissionGroup::getStatus($campaignId, $userId);
         } catch (Gpf_DbEngine_NoRowException $e) {
             Gpf_Log::debug('Row in userincommissiongroup should exist for userId: '.$userId.' and campaignId: '.$campaignId);
         }
     	$this->deleteUserInCommissionGroups($oldCommissionGroupId, $userId);
     }
     
     $commissionGroup = new Pap_Db_CommissionGroup();
     $commissionGroup->setPrimaryKeyValue($newCommissionGroupId);
     $commissionGroup->load();
     
     if ($commissionGroup->getIsDefault() != Gpf::YES) {
     	$this->addUserInCommissionGroup($newCommissionGroupId, $userId, $status);
     }
 }
 /**
  *
  * @param $campaignId
  * @param $commissionType
  * @param $affiliateId
  * @return Gpf_Data_RecordSet
  */
 public function getAllUserCommissionTypes($campaignId = null, $commissionType = null, $affiliateId = null) {
     $selectBuilder = $this->getAllCommissionTypesSelect($campaignId, $commissionType);
     $selectBuilder->select->add(Pap_Db_Table_Campaigns::NAME, 'campaignname', 'c'); 
     $selectBuilder->from->addInnerJoin(Pap_Db_Table_Campaigns::getName(), 'c', 'ct.'.self::CAMPAIGNID.'=c.'.Pap_Db_Table_Campaigns::ID);
     if (Gpf_Session::getAuthUser()->getAccountId() != Gpf_Db_Account::DEFAULT_ACCOUNT_ID) {
         $selectBuilder->where->add(Pap_Db_Table_Campaigns::ACCOUNTID, '=', Gpf_Session::getAuthUser()->getAccountId());
     }
     if ($affiliateId !== null && $affiliateId !== '') {
         $selectBuilder->from->addLeftJoin(Pap_Db_Table_CommissionGroups::getName(), 'cg',
             'ct.'.self::CAMPAIGNID.'=cg.'.Pap_Db_Table_CommissionGroups::CAMPAIGN_ID);
         $selectBuilder->from->addLeftJoin(Pap_Db_Table_UserInCommissionGroup::getName(), 'uicg',
             'cg.'.Pap_Db_Table_CommissionGroups::ID.'=uicg.'.Pap_Db_Table_UserInCommissionGroup::COMMISSION_GROUP_ID);
         $condition = new Gpf_SqlBuilder_CompoundWhereCondition();
             $subCondition = new Gpf_SqlBuilder_CompoundWhereCondition();
             $subCondition->add('uicg.'.Pap_Db_Table_UserInCommissionGroup::USER_ID, '=', $affiliateId);
             $subCondition->add('uicg.'.Pap_Db_Table_UserInCommissionGroup::STATUS, '=', 'A');
         $condition->addCondition($subCondition,  'OR');
         $condition->add('c.'.Pap_Db_Table_Campaigns::TYPE, '=', 'P', 'OR');
         $selectBuilder->where->addCondition($condition);
         $selectBuilder->groupBy->add('ct.'.self::ID);
     }
     return $selectBuilder->getAllRows();
 }
 function init() {
     $this->setTable(Pap_Db_Table_CommissionGroups::getInstance());
     parent::init();
 }
    private function getCommissionGroupsSelect($campaignId = null) {
        $select = new Gpf_SqlBuilder_SelectBuilder();
        $select->select->add('ca.'.Pap_Db_Table_Campaigns::ID);
        $select->select->add('cg.'.Pap_Db_Table_CommissionGroups::ID);
        $select->select->add('cg.'.Pap_Db_Table_CommissionGroups::NAME);
        $select->from->add(Pap_Db_Table_Campaigns::getName(), 'ca');
        $select->from->addInnerJoin(Pap_Db_Table_CommissionGroups::getName(), 'cg',
           'ca.'.Pap_Db_Table_Campaigns::ID.'=cg.'.Pap_Db_Table_CommissionGroups::CAMPAIGN_ID);
        if ($campaignId != null) {
            $select->where->add('cg.'.Pap_Db_Table_CommissionGroups::CAMPAIGN_ID, '=', $campaignId);
        }

        return $select;
    }
    private function getCommissionGroups() {
        $selectBuilder = new Gpf_SqlBuilder_SelectBuilder();
        $selectBuilder->select->add(Pap_Db_Table_CommissionGroups::ID, Pap_Db_Table_CommissionGroups::ID);
        $selectBuilder->select->add(Pap_Db_Table_CommissionGroups::IS_DEFAULT, Pap_Db_Table_CommissionGroups::IS_DEFAULT);
        $selectBuilder->select->add(Pap_Db_Table_CommissionGroups::NAME, Pap_Db_Table_CommissionGroups::NAME);
        $selectBuilder->select->add(Pap_Db_Table_CommissionGroups::CAMPAIGN_ID, Pap_Db_Table_CommissionGroups::CAMPAIGN_ID);
        $selectBuilder->from->add(Pap_Db_Table_CommissionGroups::getName());

        return $selectBuilder;
    }
Example #15
0
 private function addCampaignFilterToSelect(Gpf_Common_SelectBuilderCompoundRecord $selectRecord, $campaignId){
     $select = $selectRecord->getSelectBuilder();
     $select->where->add('cg.campaignid','=',$campaignId);
     $select->from->addLeftJoin(Pap_Db_Table_UserInCommissionGroup::getName(),'uic','uic.userid=u.userid');
     $select->from->addLeftJoin(Pap_Db_Table_CommissionGroups::getName(),'cg','cg.commissiongroupid=uic.commissiongroupid');
     $select->groupBy->add('u.userid');
 }
 protected function buildFrom(){
     $this->_selectBuilder->from->add(Pap_Db_Table_CommissionGroups::getName(), 'cg');
 }
 public static function getStatus($campaignId, $userId) {
     $select = new Gpf_SqlBuilder_SelectBuilder();
     $select->select->add(Pap_Db_Table_UserInCommissionGroup::STATUS);
     $select->from->add(Pap_Db_Table_CommissionGroups::getName(), 'cg');
     $select->from->addInnerJoin(Pap_Db_Table_UserInCommissionGroup::getName(), 'ucg',
         'cg.'.Pap_Db_Table_CommissionGroups::ID.'=ucg.'.Pap_Db_Table_UserInCommissionGroup::COMMISSION_GROUP_ID);
     $select->where->add('cg.'.Pap_Db_Table_CommissionGroups::CAMPAIGN_ID, '=', $campaignId);
     $select->where->add('ucg.'.Pap_Db_Table_UserInCommissionGroup::USER_ID, '=', $userId);
     $row = $select->getOneRow();
     
     return $row->get(Pap_Db_Table_UserInCommissionGroup::STATUS);
 }
 protected function getAffiliateID($offset) {
     $selectBuilder = new Gpf_SqlBuilder_SelectBuilder();
     $selectBuilder->select->add(Pap_Db_Table_Users::ID, '', 'pu');
     if ($this->campaignType != Pap_Db_Campaign::CAMPAIGN_TYPE_PUBLIC) {
         $selectBuilder->from->add(Pap_Db_Table_UserInCommissionGroup::getName(), 'ucg');
         $selectBuilder->from->addInnerJoin(Pap_Db_Table_CommissionGroups::getName(), 'cg',
              'cg.'.Pap_Db_Table_CommissionGroups::ID.'=ucg.'.Pap_Db_Table_UserInCommissionGroup::COMMISSION_GROUP_ID);
         $selectBuilder->from->addInnerJoin(Pap_Db_Table_Users::getName(), 'pu',
              'pu.'.Pap_Db_Table_Users::ID.'=ucg.'.Pap_Db_Table_UserInCommissionGroup::USER_ID);
         $selectBuilder->from->addInnerJoin(Gpf_Db_Table_Users::getName(), 'u',
              'u.'.Gpf_Db_Table_Users::ID.'=pu.'.Pap_Db_Table_Users::ACCOUNTUSERID);
         $selectBuilder->where->add('cg.'.Pap_Db_Table_CommissionGroups::CAMPAIGN_ID, '=', $this->campaignId);
     } else {
         $selectBuilder->from->add(Pap_Db_Table_Users::getName(), 'pu');
         $selectBuilder->from->addInnerJoin(Gpf_Db_Table_Users::getName(), 'u',
              'u.'.Gpf_Db_Table_Users::ID.'=pu.'.Pap_Db_Table_Users::ACCOUNTUSERID);
         $selectBuilder->where->add('pu.' . Pap_Db_Table_Users::TYPE, '=', Pap_Application::ROLETYPE_AFFILIATE);
         $selectBuilder->where->add('u.'.Gpf_Db_Table_Users::STATUS, '=', Gpf_Db_User::APPROVED);
         $selectBuilder->where->add('pu.'.Pap_Db_Table_Users::DELETED, '=', Gpf::NO);
     }
     $selectBuilder->where->add('pu.' . Pap_Db_Table_Users::TYPE, '=', Pap_Application::ROLETYPE_AFFILIATE);
     $selectBuilder->where->add('u.'.Gpf_Db_Table_Users::STATUS, '=', Gpf_Db_User::APPROVED);
     $selectBuilder->where->add('pu.'.Pap_Db_Table_Users::DELETED, '=', Gpf::NO);
     $selectBuilder->limit->set($offset, 1);
     return $selectBuilder->getOneRow()->get(Pap_Db_Table_Users::ID);
 }