/** * @param Gpf_Data_Record $campaign * @return boolean */ private function isAffiliateInCampaign(Gpf_Data_Record $campaign) { try { Pap_Db_Table_UserInCommissionGroup::getStatus($campaign->get($this->campaignIDColumnName), $this->affiliateID); } catch (Gpf_DbEngine_NoRowException $e) { if ($campaign->get(Pap_Db_Table_Campaigns::TYPE) == Pap_Db_Campaign::CAMPAIGN_TYPE_ON_INVITATION) { return false; } } return true; }
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); } }
public function getCommissionGroup(Pap_Contexts_Tracking $context) { if ($context->getCampaignObject()->getCampaignType() != Pap_Db_Campaign::CAMPAIGN_TYPE_PUBLIC) { try { $status = Pap_Db_Table_UserInCommissionGroup::getStatus($context->getCampaignObject()->getId(), $context->getUserObject()->getId()); if ($status != Pap_Features_PerformanceRewards_Condition::STATUS_APPROVED && $status != Pap_Features_PerformanceRewards_Condition::STATUS_FIXED) { throw new Gpf_Exception(''); } } catch (Gpf_Exception $e) { $context->debug(' STOPPING, User is not approved in this campaign!'); $context->setDoCommissionsSave(false); $context->setDoTrackerSave(false); } } }