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')]); }
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();