Esempio n. 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')]);
 }