private function createDefaultCommissionSettings(Pap_Common_Campaign $campaign) {
        $commissionGroupId = $campaign->getDefaultCommissionGroup();

        $clickCommTypeId = $campaign->insertCommissionType(Pap_Common_Constants::TYPE_CLICK);
        self::createCommission($commissionGroupId, $clickCommTypeId, 1, '$', 0.5);

        $saleCommTypeId = $campaign->insertCommissionType(Pap_Common_Constants::TYPE_SALE);
        self::createCommission($commissionGroupId, $saleCommTypeId, 1, '%', 30);
        self::createCommission($commissionGroupId, $saleCommTypeId, 2, '%', 10);
    }
    /**
     * @service user_comm_group add
     *
     * @param Gpf_Rpc_Params $params
     * @return Gpf_Rpc_Action
     */
    public function addUsers(Gpf_Rpc_Params $params) {
        $action = new Gpf_Rpc_Action($params);
        $action->setErrorMessage($this->_('Failed to invite %s %s', '%s', $this->getRowName()));
        $action->setInfoMessage($this->_('%s %s successfully invited', '%s', $this->getRowName()));

        $campaign = new Pap_Common_Campaign();
        $campaign->setId($action->getParam('campaignId'));
        try {
            $campaign->load();
            if ($campaign->getCampaignType() == Pap_Common_Campaign::CAMPAIGN_TYPE_PUBLIC) {
                $action->setErrorMessage($this->_('Campaign is not private or public with manual approval'));
                $action->addError();
                return $action;
            }
        } catch (Gpf_DbEngine_NoRowException $e) {
            $action->setErrorMessage($this->_('Campaign not exist'));
            $action->addError();
            return $action;
        }
        $commissionGroup = $campaign->getDefaultCommissionGroup();

        foreach ($action->getIds() as $id) {
            $this->addUserNoRpc($action, $action->getParam('campaignId'), $id, $commissionGroup, 'A', $action->getParam('sendNotification') == Gpf::YES);
        }
        return $action;
    }
	/**
	 * Returns default commission group in campaign.
	 * If it doesn't exist, function will create & return
	 * new default commission group record.
	 * @param $campaignId
	 */
	public function getDefaultCommissionGroupId($campaignId) {
		if ($campaignId == "") {
			throw new Exception($this->_("Campaign ID cannot be empty!"));
		}
		$campaign = new Pap_Common_Campaign();
		$campaign->setId($campaignId);
		return $campaign->getDefaultCommissionGroup();
	}
    protected function insertCampaignObject($id, $accountId, $name, $description, $dateIns, $status, $productid, $campaignId) {
        $obj = new Pap_Common_Campaign();
        $obj->setId($id);
        $obj->setAccountId($accountId);
        $obj->setName($name);
        $obj->set('description', $description);
        $obj->set('dateinserted', $dateIns);
        $obj->setCampaignStatus($status);

        $publicStatus = $this->getPap3Setting($campaignId, 'Aff_camp_status');

        $obj->setCampaignType(($publicStatus == 1 ? Pap_Db_Campaign::CAMPAIGN_TYPE_PUBLIC : Pap_Db_Campaign::CAMPAIGN_TYPE_ON_INVITATION));
        $obj->set('productid', $productid);
        $obj->resetOverwriteCookieToDefault();
        $obj->save();

        $commGrp = new Pap_Db_CommissionGroup();
        $commGrp->setId($obj->getDefaultCommissionGroup());
        $commGrp->load();
        $commGrp->delete();
    }
Exemple #5
0
 protected function signUserToCampaign($userId, $campaignId, Gpf_Rpc_Form $form) {
     $campaign = new Pap_Common_Campaign();
     $campaign->setId($campaignId);
     try {
         $campaign->load();
     } catch (Gpf_Exception $e) {
         Gpf_Log::debug('SignupToCampaignPlugin: Invalid campaign '.$campaignId);
         return false;
     }
     if ($campaign->getCampaignType() == Pap_Common_Campaign::CAMPAIGN_TYPE_PUBLIC) {
         return false;
     }
     $userInCommGroup = new Pap_Db_UserInCommissionGroup();
     
     $user = new pap_common_user();
     $user->setId($userId);
     $user->load();
     if($user->getStatus() == Pap_Common_Constants::STATUS_PENDING){
         $userInCommGroup->addUserToGroup($campaign->getId(), $userId,
         $campaign->getDefaultCommissionGroup(), Pap_Common_Constants::STATUS_APPROVED);
         return true;
     }
     $userInCommGroup->addUserToGroupAndSendNotification($campaign->getId(), $userId,
     $campaign->getDefaultCommissionGroup(), Pap_Common_Constants::STATUS_APPROVED);
     return true;
 }