private function addCpmCommissionToCampaigns() { $campaign = new Pap_Db_Campaign(); $campaigns = $campaign->loadCollection(); foreach ($campaigns as $campaign) { $commissionType = new Pap_Db_CommissionType(); $commissionType->setCampaignId($campaign->getId()); $commissionType->setType(Pap_Common_Constants::TYPE_CPM); try { $commissionType->loadFromData(); } catch (Gpf_DbEngine_NoRowException $e) { $commissionType->setStatus(Pap_Db_CommissionType::STATUS_DISABLED); $commissionType->setRecurrencePresetId(Pap_Db_CommissionType::RECURRENCE_NONE); $commissionType->setApproval(Pap_Db_CommissionType::APPROVAL_AUTOMATIC); $commissionType->setZeroOrdersCommission(Gpf::NO); $commissionType->setSaveZeroCommission(Gpf::NO); $commissionType->insert(); } } }
public function insertCommissionType($type) { $commissionType = new Pap_Db_CommissionType(); $commissionType->setCampaignId($this->getId()); $commissionType->setType($type); $commissionType->setStatus(Pap_Db_CommissionType::STATUS_ENABLED); $commissionType->setApproval(Pap_Db_CommissionType::APPROVAL_AUTOMATIC); $commissionType->setRecurrencePresetId(Pap_Db_CommissionType::RECURRENCE_NONE); $commissionType->setZeroOrdersCommission(Gpf::NO); $commissionType->setSaveZeroCommission(Gpf::NO); $commissionType->insert(); return $commissionType->getId(); }
protected function insertCommissionType($campaignId, $recurringCommission, $recurringDateType, $pap4CommType) { $obj = new Pap_Db_CommissionType(); $obj->setType($pap4CommType); $obj->setStatus(Pap_Common_Constants::ESTATUS_ENABLED); // set commission type approval $pap3ApprovalStatus = ''; if($pap4CommType == Pap_Common_Constants::TYPE_CLICK) { $pap3ApprovalStatus = $this->getPap3Setting($campaignId, 'Aff_camp_clickapproval'); } else { $pap3ApprovalStatus = $this->getPap3Setting($campaignId, 'Aff_camp_saleapproval'); } if($pap3ApprovalStatus == 2) { $obj->setApproval(Pap_Db_CommissionType::APPROVAL_AUTOMATIC); } else { $obj->setApproval(Pap_Db_CommissionType::APPROVAL_MANUAL); } // set recurring type if($recurringCommission == 0 || $recurringDateType == 0) { $obj->setRecurrencePresetId(Pap_Db_CommissionType::RECURRENCE_NONE); } else { switch($recurringDateType) { case Pap3Compatibility_Migration_Pap3Constants::RECURRINGTYPE_WEEKLY: $obj->setRecurrencePresetId(Pap_Db_CommissionType::RECURRENCE_WEEKLY); break; case Pap3Compatibility_Migration_Pap3Constants::RECURRINGTYPE_MONTHLY: $obj->setRecurrencePresetId(Pap_Db_CommissionType::RECURRENCE_MONTHLY); break; case Pap3Compatibility_Migration_Pap3Constants::RECURRINGTYPE_QUARTERLY: $obj->setRecurrencePresetId(Pap_Db_CommissionType::RECURRENCE_QUARTERLY); break; case Pap3Compatibility_Migration_Pap3Constants::RECURRINGTYPE_BIANNUALLY: $obj->setRecurrencePresetId(Pap_Db_CommissionType::RECURRENCE_SEMIANNUALLY); break; case Pap3Compatibility_Migration_Pap3Constants::RECURRINGTYPE_YEARLY: $obj->setRecurrencePresetId(Pap_Db_CommissionType::RECURRENCE_YEARLY); break; default: $obj->setRecurrencePresetId(Pap_Db_CommissionType::RECURRENCE_NONE); } } $obj->setZeroOrdersCommission(Gpf::YES); $obj->setSaveZeroCommission(Gpf::YES); $obj->setCampaignId($campaignId); $obj->save(); $this->countCommTypes++; return $obj; }
private function createReferralCommissionType() { $commissionType = new Pap_Db_CommissionType(); $commissionType->setType(Pap_Common_Constants::TYPE_REFERRAL); $commissionType->setStatus(Pap_Db_CommissionType::STATUS_ENABLED); $commissionType->setApproval(Pap_Db_CommissionType::APPROVAL_AUTOMATIC); $commissionType->setZeroOrdersCommission(Gpf::NO); $commissionType->setSaveZeroCommission(Gpf::NO); $commissionType->insert(); }
private function getCommissionTypeAndValue($campaignId, $userId, $commissionTypeId, $tier = null) { if (is_null($tier) || $tier == '') { $tier = 1; } // getting user if($userId == '') { $this->errorMsg = $this->_("User is not valid!"); return false; } $user = new Pap_Common_User(); $user->setPrimaryKeyValue($userId); try { $user->load(); } catch (Gpf_DbEngine_NoRowException $e) { $this->errorMsg = $this->_("User is not valid!"); return false; } // getting campaign $campaign = new Pap_Common_Campaign(); $campaign->setId($campaignId); try { $campaign->load(); } catch (Gpf_DbEngine_NoRowException $e) { $this->errorMsg = $this->_("Campaign is not valid!"); return false; } // getting commission type try { $commissionType = new Pap_Db_CommissionType(); $commissionType->setId($commissionTypeId); $commissionType->setStatus(Pap_Db_CommissionType::STATUS_ENABLED); $commissionType->loadFromData(); } catch (Gpf_DbEngine_NoRowException $e) { $this->errorMsg = $this->_("Transaction type is not valid or doesn't exist in this campaign!"); return false; } $fixedcostType = $commissionType->getFixedcostType(); $fixedcostValue = $commissionType->getFixedcostValue(); // getting commission group $commGroupId = $campaign->getCommissionGroupForUser($userId); if($commGroupId == false) { $this->errorMsg = $this->_("Cannot recognize commission group for this user in campaign!"); return false; } $rsCommissions = $campaign->getCommissionsCollection($commGroupId, $commissionType->getId()); $commType = null; $commValue = null; foreach($rsCommissions as $record) { if($record->get('tier') == $tier && $record->get('subtype') == 'N') { $commType = $record->get('commissiontype'); $commValue = $record->get('commissionvalue'); break; } } if($commType == null) { $this->errorMsg = $this->_("Error getting commission settings!"); return false; } return array('type' => $commType, 'value' => $commValue, 'fixedcostValue' => $fixedcostValue, 'fixedcostType' => $fixedcostType); }