Exemple #1
0
 public function confirmTransferAction($transferId = 0)
 {
     $transfer = Money\Transfer::get((int) $transferId);
     if (!$transfer || $transfer->user_id != \Users\User::$cur->id || $transfer->complete || $transfer->canceled) {
         Tools::redirect('/', 'Такой перевод не найден');
     }
     if (!empty($_POST['code'])) {
         if ($transfer->code != $_POST['code']) {
             Msg::add('Код не совпадает', 'danger');
         } else {
             $transfer->complete = 1;
             $block = Money\Wallet\Block::get('Money\\Transfer:' . $transfer->id, 'data');
             $block->delete();
             $wallets = $this->money->getUserWallets($transfer->to_user_id);
             $text = 'Перевод средств от ' . $transfer->user->name() . '.' . ($transfer->comment ? ' Комментарий:' . $transfer->comment : '');
             $wallets[$transfer->currency_id]->diff($transfer->amount, $text);
             \App::$cur->users->AddUserActivity($transfer->to_user_id, 4, $text . '<br />' . (double) $transfer->amount . ' ' . $wallets[$transfer->currency_id]->currency->acronym());
             $transfer->save();
             Tools::redirect('/users/cabinet', 'Перевод был успешно завершен', 'success');
         }
     }
     $this->view->setTitle('Подтверждение перевода средств');
     $this->view->page(['data' => compact('transfer')]);
 }
Exemple #2
0
             default:
                 $amount = $finalSum / 100 * (double) $level->params['amount']->value;
         }
         break;
     case 'amount':
         $amount = (double) $level->params['amount']->value;
 }
 if (!$amount) {
     return 0;
 }
 $text = 'Вознаграждение по программе "' . $reward->name . '"';
 if ($rootUser->id != $user->id) {
     $text .= ' от ' . $rootUser->name();
 }
 if (!$rewardGet && $reward->block) {
     $block = new \Money\Wallet\Block();
     $block->wallet_id = $wallets[$level->params['currency_id']->value]->id;
     $block->amount = $amount;
     $block->comment = $text;
     $block->data = 'reward:' . $reward->id;
     $dateGenerators = \App::$cur->money->getSnippets('expiredDateGenerator');
     if ($reward->block_date_expired && !empty($dateGenerators[$reward->block_date_expired])) {
         $date = $dateGenerators[$reward->block_date_expired]($reward, $user);
         if (!empty($date['date'])) {
             $block->date_expired = $date['date'];
         }
         if (!empty($date['type'])) {
             $block->expired_type = $date['type'];
         }
     }
     $block->save();