protected function init() { $locales = \Tbmt\Localizer::plain('common'); $this->textBrandName = $locales['brand_name']; $viewCommon = \Tbmt\Localizer::get('view.common'); $linkNames = $viewCommon['navigation_links']; $subLinkNames = $viewCommon['navigation_sublinks']; $this->navigationLinks = []; foreach (['projects', 'member', 'about', 'account'] as $linkName) { $locale = $linkNames[$linkName]; $sublinks = null; if (isset($subLinkNames[$linkName])) { $sublinks = []; foreach ($subLinkNames[$linkName] as $action => $name) { array_push($sublinks, [\Tbmt\Router::toModule($linkName, $action), $name, $action === CURRENT_MODULE_ACTION ? true : false]); } } array_push($this->navigationLinks, [\Tbmt\Router::toModule($linkName), $locale, $linkName === CURRENT_MODULE ? true : false, $sublinks]); } $this->isLoggedIn = \Tbmt\Session::isLoggedIn(); if (!$this->isLoggedIn) { $accountLinks =& $this->navigationLinks[count($this->navigationLinks) - 1]; $accountLinks[1] = $viewCommon['member_login']; unset($accountLinks[3]); } $this->baseUrl = \Tbmt\Router::toBase(); $this->locales = $viewCommon; }
protected function init() { $this->i18nView = \Tbmt\Localizer::get('view.common'); $this->textBrandName = $this->i18nView['brand_name']; $this->textBrandMail = \Tbmt\Config::get('brand.mail'); $linkNames = $this->i18nView['navigation_links']; $subLinkNames = $this->i18nView['navigation_sublinks']; $this->navigationLinks = []; foreach (['projects', 'member', 'about', 'impressum', 'account'] as $linkName) { $locale = $linkNames[$linkName]; $sublinks = null; if (isset($subLinkNames[$linkName])) { $sublinks = []; foreach ($subLinkNames[$linkName] as $action => $name) { $anchor = ''; if (is_array($name)) { $anchor = '#' . $name[2]; $action = $name[0]; $name = $name[1]; } array_push($sublinks, [\Tbmt\Router::toModule($linkName, $action) . $anchor, $name, defined('CURRENT_MODULE_ACTION') && $action === CURRENT_MODULE_ACTION ? true : false]); } } array_push($this->navigationLinks, [\Tbmt\Router::toModule($linkName), $locale, defined('CURRENT_MODULE') && $linkName === CURRENT_MODULE ? true : false, $sublinks]); } $this->isLoggedIn = \Tbmt\Session::isLoggedIn(); if (!$this->isLoggedIn) { $accountLinks =& $this->navigationLinks[count($this->navigationLinks) - 1]; $accountLinks[1] = $this->i18nView['member_login']; unset($accountLinks[3]); } $this->navigationIcons = ['road', 'lightbulb-o', 'envelope', 'legal', 'user']; $this->baseUrl = \Tbmt\Router::toBase(); $this->i18nView = $this->i18nView; }
public function action_allinvoices() { $members = \MemberQuery::create()->filterByDeletionDate(null, \Criteria::ISNULL)->filterByNum('101', \Criteria::NOT_EQUAL)->orderBy('num')->find(); $result = '<div class="container"><div class="row sheet"> <table class="table2Debug"> <tbody> <tr> <th>Member</th> <th>Total</th> <th>Reasons Total</th> <th>Quantity</th> <th>Reasons</th> </tr>'; $reasons = \Tbmt\Localizer::get('view.account.tabs.invoice.transaction_reasons'); foreach ($members as $member) { $result .= '<tr>'; $result .= '<td>' . $member->getNum() . ' - ' . $member->getFirstName() . ' - ' . $member->getLastName() . '</td>'; $result .= '<td>' . \Tbmt\view\Factory::currencyArrToString($member->getOutstandingTotal()) . '</td>'; $result .= '<td colspan="3"></td>'; $result .= '</tr>'; $transactions = \TransactionQuery::create()->join('Transfer')->useTransferQuery()->filterByMember($member)->endUse()->select(['Reason'])->withColumn('count(*)', 'Quantity')->withColumn('sum(Transaction.Amount)', 'Total')->groupBy('Transfer.Currency')->groupBy('Transaction.Reason')->find(); foreach ($transactions as $transaction) { $result .= '<tr>'; $result .= '<td colspan="2"></td>'; $result .= '<td>' . \Tbmt\Localizer::numFormat($transaction['Total']) . '</td>'; $result .= '<td>' . $transaction['Quantity'] . '</td>'; $result .= '<td>' . $reasons[$transaction['Reason']] . '</td>'; $result .= '</tr>'; } } $result .= '</tbody></table></div></div>'; return $result; }
public function render(array $params = array()) { $this->formLabels = $this->i18nView['form_labels']; $formParams = isset($params['formVal']) ? $params['formVal'] : $_REQUEST; $loginTry = !empty($formParams['num']) || !empty($formParams['pwd']); $this->formVal = \Tbmt\Arr::initMulti($formParams, ['num' => \Tbmt\TYPE_STRING]); $this->formVal['pwd'] = 'demo1234'; $this->formErrors = []; $this->loginError = $loginTry ? \Tbmt\Localizer::get('error.login') . '.' : null; return $this->renderFile(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'login.account.html', $params); }
public function render(array $params = array()) { if (!isset($params['member']) && !$params['member'] instanceof \Member) { throw new \Exception('Invalid param member for account index view.'); } $this->member = $params['member']; $this->formVal = \Invitation::initInvitationForm(isset($params['formVal']) ? $params['formVal'] : $_REQUEST); $this->formErrors = isset($params['formErrors']) ? $params['formErrors'] : []; $this->invitations = \InvitationQuery::create()->filterByMemberId($this->member->getId())->orderBy('AcceptedDate', \Criteria::DESC)->orderBy('CreationDate', \Criteria::DESC)->limit(100)->find(); $this->invitationDateFormat = \Tbmt\Localizer::get('datetime_format_php.long'); return $this->renderFile(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'tab.invitation.account.html', $params); }
public function render(array $params = array()) { if (!isset($params['member']) && !$params['member'] instanceof \Member) { throw new \Exception('Invalid param "member" for account index view.'); } $this->member = $params['member']; $query = \TransactionQuery::create()->join('Transfer')->useTransferQuery()->filterByMember($this->member)->endUse()->select(['Reason', 'Transfer.Currency'])->withColumn('count(*)', 'Quantity')->withColumn('sum(Transaction.Amount)', 'Total')->groupBy('Transfer.Currency')->groupBy('Transaction.Reason')->limit(100); $this->transactions = $query->find(); $this->transDateForm = \Tbmt\Localizer::get('datetime_format_php.long'); $this->allowTotalInvoice = $this->member->getType() >= \Member::TYPE_SALES_MANAGER; return $this->renderFile(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'tab.invoice.account.html', $params); }
public static function validatePasswordResetForm(array $data = array()) { $data = self::initPasswordResetForm($data); $res = \Tbmt\Validator::getErrors($data, self::$PASSWORD_RESET_FORM_FILTERS); if ($res !== false) { return [false, $res, null]; } $recipient = \MemberQuery::create()->filterByDeletionDate(null, \Criteria::ISNULL)->findOneByNum($data['num']); if ($recipient == null) { return [false, ['num' => \Tbmt\Localizer::get('error.member_num')], null]; } return [true, $data, $recipient]; }
public static function createPayPal($invoiceNumber, \PropelPDO $con) { $i18n = Localizer::get('payment'); // ### Payer // A resource representing a Payer that funds a payment // For direct credit card payments, set payment method // to 'credit_card' and add an array of funding instruments. $payer = new Payer(); $payer->setPaymentMethod("paypal"); // ### Itemized information // (Optional) Lets you specify item wise // information $item1 = new Item(); $item1->setName($i18n['item_name'])->setDescription($i18n['item_description'])->setCurrency(TransactionEntity::$BASE_CURRENCY)->setQuantity(1)->setTax(0)->setPrice(TransactionEntity::$MEMBER_FEE); $itemList = new ItemList(); $itemList->setItems(array($item1)); // ### Amount // Lets you specify a payment amount. // You can also specify additional details // such as shipping, tax. $amount = new Amount(); $amount->setCurrency(TransactionEntity::$BASE_CURRENCY)->setTotal(TransactionEntity::$MEMBER_FEE); // ### Transaction // A transaction defines the contract of a // payment - what is the payment for and who // is fulfilling it. $transaction = new Transaction(); $transaction->setAmount($amount)->setItemList($itemList)->setDescription($i18n['transaction_description'])->setInvoiceNumber($invoiceNumber); // ### Redirect urls // Set the urls that the buyer must be redirected to after // payment approval/ cancellation. $success = Router::toModule('account', 'index'); $failure = Router::toModule('guide', 'index', ['purchase_failed' => true]); $redirectUrls = new RedirectUrls(); $redirectUrls->setReturnUrl($success)->setCancelUrl($failure); // ### Payment // A Payment Resource; create one using // the above types and intent set to sale 'sale' $payment = new Payment(); $payment->setIntent("sale")->setPayer($payer)->setRedirectUrls($redirectUrls)->setExperienceProfileId(self::getPaymentExperienceProfileId())->setTransactions(array($transaction)); // ### Create Payment // Create a payment by calling the payment->create() method // with a valid ApiContext (See bootstrap.php for more on `ApiContext`) // The return object contains the state. $apiContext = self::getApiContext(); $payment->create($apiContext); return $payment; }
public static function validateBonusTransactionForm(array $data = array()) { $data = self::initBonusTransactionForm($data); $res = \Tbmt\Validator::getErrors($data, self::$BONUS_TRANSACTION_FORM_FILTERS); if ($res !== false) { return [false, $res, null]; } $recipient = \MemberQuery::create()->filterByDeletionDate(null, Criteria::ISNULL)->findOneByNum($data['recipient_num']); if ($recipient == null) { return [false, ['recipient_num' => \Tbmt\Localizer::get('error.member_num')], null]; } if (!$recipient->hadPaid()) { return [false, ['recipient_num' => \Tbmt\Localizer::get('error.member_num_unpaid')], null]; } return [true, $data, $recipient]; }
public function render(array $params = array()) { if (!isset($params['member']) && !$params['member'] instanceof \Member) { throw new \Exception('Invalid param member for account index view.'); } $this->member = $params['member']; $this->recipient = isset($params['recipient']) ? $params['recipient'] : null; $this->formVal = \Transaction::initBonusTransactionForm(isset($params['formVal']) ? $params['formVal'] : $_REQUEST); $this->formErrors = isset($params['formErrors']) ? $params['formErrors'] : []; $objBonusTransactions = \TransactionQuery::create()->filterByRelatedId($this->member->getId())->filterByReason(\Transaction::REASON_CUSTOM_BONUS)->join('Transaction.Transfer')->join('Transfer.Member')->select(['Member.Num', 'Transaction.Amount', 'Purpose', 'Transaction.Date'])->limit(100)->find(); $arrBonusTransactions = []; $dateFormat = \Tbmt\Localizer::get('datetime_format_php.long'); foreach ($objBonusTransactions as $bonusTransaction) { $arrBonusTransactions[] = [$bonusTransaction['Member.Num'], $bonusTransaction['Transaction.Amount'], $bonusTransaction['Purpose'], (new \DateTime($bonusTransaction['Transaction.Date']))->format($dateFormat)]; } $this->bonusTransactions = $arrBonusTransactions; return $this->renderFile(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'tab.bonus_payments.account.html', $params); }
public static function validateInvitationForm(array $data = array()) { $data = self::initInvitationForm($data); if ($data['type'] !== \Member::TYPE_SUB_PROMOTER) { $data['promoter_num'] = ''; } if ($data['type'] === \Member::TYPE_SUB_PROMOTER && !$data['promoter_num']) { return [false, ['promoter_num' => \Tbmt\Localizer::get('error.empty')], null]; } $recipient = \MemberQuery::create()->filterByDeletionDate(null, Criteria::ISNULL)->findOneByNum($data['promoter_num']); if ($recipient == null) { return [false, ['promoter_num' => \Tbmt\Localizer::get('error.member_num')], null]; } if ($recipient->getType() !== \Member::TYPE_PROMOTER) { return [false, ['promoter_num' => \Tbmt\Localizer::get('error.sub_promoter_to_promoter')], null]; } if (!$recipient->hadPaid()) { return [false, ['promoter_num' => \Tbmt\Localizer::get('error.member_num_unpaid')], null]; } return [true, $data, $recipient]; }
public function render(array $params = array()) { if (!isset($params['member']) && !$params['member'] instanceof \Member) { throw new \Exception('Invalid param member for account index view.'); } $this->member = $params['member']; $this->recipient = isset($params['recipient']) ? $params['recipient'] : null; $this->formVal = \Member::initBonusLevelForm(isset($params['formVal']) ? $params['formVal'] : $_REQUEST); $this->formErrors = isset($params['formErrors']) ? $params['formErrors'] : []; $this->successmsg = isset($params['successmsg']) ? true : false; $query = \MemberQuery::create()->joinActivity()->select(['Num', 'BonusLevel', 'Activity.Meta', 'Activity.Date'])->where('Activity.MemberId = ?', $this->member->getId())->orderBy('Activity.Date', \Criteria::DESC)->limit(100); $objBonusMembers = $query->find(); $arrBonusMembers = []; $currencySymbol = \Tbmt\Localizer::get('currency_symbol.' . \Transaction::$BASE_CURRENCY); $dateFormat = \Tbmt\Localizer::get('datetime_format_php.long'); foreach ($objBonusMembers as $bonusMembers) { $meta = json_decode($bonusMembers['Activity.Meta'], true); $amount = isset($meta[\Activity::MK_BONUS_PAYMENT_AMOUNT]) ? \Tbmt\Localizer::currencyFormat($meta[\Activity::MK_BONUS_PAYMENT_AMOUNT], $currencySymbol) : ' - '; $arrBonusMembers[] = [$bonusMembers['Num'], $amount, (new \DateTime($bonusMembers['Activity.Date']))->format($dateFormat)]; } $this->bonusMembers = $arrBonusMembers; return $this->renderFile(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'tab.bonus_levels.account.html', $params); }
protected function init() { if ($this->moduleName && $this->actioName) { $this->i18nView = \Tbmt\Localizer::get("view.{$this->moduleName}.{$this->actioName}"); } }
public function transferTransactionsToArray($transfer) { $i18nView = \Tbmt\Localizer::get('view.account.tabs.invoice'); $reasons = $i18nView['transaction_reasons']; $result = []; $transactions = $transfer->getTransactions(); foreach ($transactions as $trans) { $result[] = ['id' => $trans->getId(), 'amount' => $trans->getAmount(), 'reason' => $reasons[$trans->getReason()], 'related_id' => $trans->getRelatedId()]; } return $result; }
public function validateSignupForm(array $data = array()) { $data['referral_member_num'] = Session::hasValidToken(); $data = $this->initSignupForm($data); if ($data['password'] !== $data['password2']) { return [false, ['password' => \Tbmt\Localizer::get('error.password_unequal')], null, null]; } $res = \Tbmt\Validator::getErrors($data, $this->SIGNUP_FORM_FILTERS); if ($res !== false) { return [false, $res, null, null]; } // Validate member number exists $parentMember = \MemberQuery::create()->filterByDeletionDate(null, \Criteria::ISNULL)->filterByType(\Member::TYPE_SYSTEM, \Criteria::NOT_EQUAL)->findOneByHash($data['referral_member_num'])->findOneByIsExtended(1); if ($parentMember == null || $parentMember->getNum() == 0) { return [false, ['referral_member_num' => \Tbmt\Localizer::get('error.referral_member_num')], null, null]; } // else if ( $parentMember->hadPaid() ) { // return [false, ['referral_member_num' => \Tbmt\Localizer::get('error.referrer_paiment_outstanding')], null]; // } $invitation = null; if ($data['invitation_code'] !== '') { $invitation = \InvitationQuery::create()->findOneByHash($data['invitation_code']); if ($parentMember == null) { return [false, ['invitation_code' => \Tbmt\Localizer::get('error.invitation_code_inexisting')], null, null]; } if ($invitation->getMemberId() != $parentMember->getId()) { return [false, ['invitation_code' => \Tbmt\Localizer::get('error.invitation_code_invalid')], null, null]; } if ($invitation->getAcceptedMemberId()) { return [false, ['invitation_code' => \Tbmt\Localizer::get('error.invitation_code_used')], null, null]; } } if (!isset($data['email'])) { $data['email'] = ''; } return [true, $data, $parentMember, $invitation]; }
protected function init() { $this->i18nView = \Tbmt\Localizer::get('view.account.tabs.index'); $this->i18nCommon = \Tbmt\Localizer::plain('common'); }
/** * [buildPurchaseAgreements description] * @return [type] */ static function buildPurchaseAgreements() { return \Tbmt\Localizer::getInsert('common.purchase_agreemensts', ['terms' => '' . self::buildLink(\Tbmt\Localizer::get('common.terms'), \Tbmt\Router::toModule('about', 'terms'), '', 'target="_blank"'), 'privacy' => '' . self::buildLink(\Tbmt\Localizer::get('common.privacy'), \Tbmt\Router::toModule('about', 'privacy'), '', 'target="_blank"'), 'cancelation_right' => '' . self::buildLink(\Tbmt\Localizer::get('common.cancelation_right'), \Tbmt\Router::toModule('about', 'cancelation_right'), '', 'target="_blank"')], false); }
protected function init() { $this->i18nView = \Tbmt\Localizer::get('view.account.tabs.invoice'); }
protected function init() { $this->locales = \Tbmt\Localizer::get('view.account.tabs.tree'); }
protected function init() { $locales = \Tbmt\Localizer::get('view.home'); $this->textBlocks = $locales['text']; }