Пример #1
0
 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;
 }
Пример #2
0
 public static function sendPasswordResetLink(\Member $member)
 {
     $email = $member->getEmail();
     $locale = Localizer::get('mail.password_reset');
     $num = $member->getNum();
     $now = time();
     $email = $member->getEmail();
     $href = Router::toModule('manage', 'do_reset_password', ['num' => $num, 'exp' => time(), 'hash' => Cryption::getPasswordResetToken($num, $now, $email)]);
     return self::send($email, \Tbmt\view\Factory::buildMemberFullNameString($member), $locale['subject'], Localizer::insert($locale['body'], ['link' => $href], false));
 }