Пример #1
0
	/**
	 * 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!"));
	}
    /**
     *
     * @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;
    }
Пример #3
0
	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;		
	}
	/**
	 * @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;
	}
Пример #5
0
    /**
     * @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;
    }
Пример #6
0
    /**
     * 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;
    }
Пример #8
0
 private function disableRecurringCommissionInCampaigns() {
     Pap_Db_Table_Commissions::getInstance()->deleteAllSubtypeCommissions(Pap_Db_Table_Commissions::SUBTYPE_RECURRING);
 }
	protected function loadResultData() {
		$this->commissionsGroupTable = Pap_Db_Table_CommissionGroups::getInstance();
		$this->commissionsTable = Pap_Db_Table_Commissions::getInstance();
		return parent::loadResultData();
	}
Пример #10
0
 public function init() {
     $this->setTable(Pap_Db_Table_Commissions::getInstance());
     parent::init();
 }
    /**
     * @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;
    }
Пример #12
0
    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;
    }
	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);
	}
Пример #14
0
 public function __construct() {
     parent::__construct();
     $this->commissionsTable = Pap_Db_Table_Commissions::getInstance();
     $this->commissions = $this->commissionsTable->getAllCommissionsInCampaign();
 }