Example #1
0
 public function __construct($affiliateId)
 {
     parent::__construct();
     $form = new OCSAFFILIATES_CLASS_RegisterPayoutForm('register_payout', $affiliateId);
     $form->getElement('affiliateId')->setValue($affiliateId);
     $assoc = OCSAFFILIATES_BOL_Service::getInstance()->getAffiliateAssocUser($affiliateId);
     $this->assign('assocUser', $assoc);
     $creditsOption = OW::getPluginManager()->isPluginActive('usercredits') && $assoc;
     $this->assign('creditsOption', $creditsOption);
     $this->addForm($form);
 }
Example #2
0
 public function registerPayout()
 {
     if (!OW::getRequest()->isAjax()) {
         exit(json_encode(array('result' => false)));
     }
     $service = OCSAFFILIATES_BOL_Service::getInstance();
     $lang = OW::getLanguage();
     $form = new OCSAFFILIATES_CLASS_RegisterPayoutForm('register_payout');
     if (!$form->isValid($_POST)) {
         exit(json_encode(array('result' => false, 'error' => $lang->text('ocsaffiliates', 'fill_required_fields'))));
     }
     $values = $form->getValues();
     $affiliateId = (int) $values['affiliateId'];
     $affiliate = $service->findAffiliateById($affiliateId);
     if (!$affiliate) {
         exit(json_encode(array('result' => false)));
     }
     if (!OW::getUser()->isAdmin()) {
         exit(json_encode(array('result' => false)));
     }
     $payout = new OCSAFFILIATES_BOL_Payout();
     $payout->affiliateId = $affiliateId;
     $payout->amount = abs(floatval($values['amount']));
     $payout->paymentDate = time();
     $payout->method = 'currency';
     if ($values['byCredits']) {
         $assoc = OCSAFFILIATES_BOL_Service::getInstance()->getAffiliateAssocUser($affiliateId);
         if (OW::getPluginManager()->isPluginActive('usercredits') && $assoc) {
             $payout->method = 'credits';
             USERCREDITS_BOL_CreditsService::getInstance()->increaseBalance($assoc['id'], $payout->amount);
         }
     }
     $service->registerPayout($payout);
     OW::getFeedback()->info($lang->text('ocsaffiliates', 'payout_registered'));
     exit(json_encode(array('result' => true)));
 }