/** * @return array */ public function getChildren(Pap_Common_User $parent, $offset = '', $limit = '') { $children = array(); $selectBuilder = new Gpf_SqlBuilder_SelectBuilder(); $selectBuilder->select->addAll(Pap_Db_Table_Users::getInstance(), 'pu'); $selectBuilder->select->addAll(Gpf_Db_Table_AuthUsers::getInstance(), 'au'); $selectBuilder->from->add(Pap_Db_Table_Users::getName(), 'pu'); $selectBuilder->from->addInnerJoin(Gpf_Db_Table_Users::getName(), 'gu', 'pu.accountuserid = gu.accountuserid'); $selectBuilder->from->addInnerJoin(Gpf_Db_Table_AuthUsers::getName(), 'au', 'gu.authid = au.authid'); $selectBuilder->where->add(Pap_Db_Table_Users::PARENTUSERID, '=', $parent->getId()); $selectBuilder->where->add(Gpf_Db_Table_Users::STATUS, 'IN', array(Pap_Common_Constants::STATUS_APPROVED, Pap_Common_Constants::STATUS_PENDING)); $selectBuilder->orderBy->add(Pap_Db_Table_Users::DATEINSERTED); $selectBuilder->limit->set($offset, $limit); foreach ($selectBuilder->getAllRowsIterator() as $userRecord) { $user = new Pap_Common_User(); $user->fillFromRecord($userRecord); $children[] = $user; } return $children; }
private function sendMail($templateId, Gpf_Data_Record $userRecord) { $user = new Pap_Common_User(); $user->fillFromRecord($userRecord); $user->setPassword($userRecord->get('password')); $template = new Pap_Mail_MassMailTemplate(); $template->setTemplateId($templateId); $template->setUser($user); $template->addRecipient($user->getEmail()); $template->send(); }
private function sendMail($templateId, Gpf_Data_Record $userRecord, $filterId, $affiliateId) { $user = new Pap_Common_User(); $user->fillFromRecord($userRecord); if ($userRecord->contains(Pap_Mail_MassMailAffiliatesGrid::COLUMN_PASSWORD)) { $user->setPassword($userRecord->get(Pap_Mail_MassMailAffiliatesGrid::COLUMN_PASSWORD)); } else if ($userRecord->contains(Gpf_Db_Table_AuthUsers::PASSWORD)) { $user->setPassword($userRecord->get(Gpf_Db_Table_AuthUsers::PASSWORD)); } $template = new Pap_Mail_MassMailTemplate(); if ($affiliateId != null && $affiliateId != '') { $this->setFromEmailAndName($template, $affiliateId); } $template->setTemplateId($templateId); $template->setUser($user); $template->addRecipient($user->getEmail()); $template->send(); }
/** * @service pay_affiliate write * @return Gpf_Rpc_Form */ public function payAffiliates(Gpf_Rpc_Params $params) { $form = new Gpf_Rpc_Form($params); $this->saveNotificationSettings($form); $currency = Pap_Common_Utils_CurrencyUtils::getDefaultCurrency(); $payoutHistory = $this->createPayoutHistoryItem($form); foreach ($this->getAffiliatesToPaySelect()->getAllRowsIterator() as $row) { $user = new Pap_Common_User(); $user->fillFromRecord($row); $payout = new Pap_Common_Payout($user, $currency, $row->get('amountRaw'), $this->generateInvoiceNumber()); $payout->setPayoutHistory($payoutHistory); $payout->generateInvoice(); try { $payout->save(); } catch (Gpf_DbEngine_Row_ConstraintException $e) { $form->setErrorMessage($this->_('Failed to pay affiliates %s', $e->getMessage())); continue; } $this->markTransactionsAsPaid($payout); $this->sendEmails($payout); Gpf_Plugins_Engine::extensionPoint('PostAffiliate.Pap_Merchants_Payout_PayAffiliatesForm.payAffiliates', $user); } $form->setInfoMessage($this->_('Affiliates successfully paid')); return $form; }