public function transferAction() { $transfer = new Money\Transfer(); $form = new Ui\ActiveForm($transfer, 'transfer'); $transferId = $form->checkRequest(); if ($transferId) { $transfer = Money\Transfer::get($transferId); $transfer->user_id = \Users\User::$cur->id; $transfer->code = Tools::randomString(); $transfer->save(); $wallets = $this->money->getUserWallets(); $text = 'Перевод средств для ' . $transfer->toUser->name(); $wallets[$transfer->currency_id]->diff(-$transfer->amount, $text); \App::$cur->users->AddUserActivity($transfer->user_id, 4, $text . '<br />' . (double) $transfer->amount . ' ' . $wallets[$transfer->currency_id]->currency->acronym()); $block = new Money\Wallet\Block(); $block->wallet_id = $wallets[$transfer->currency_id]->id; $block->amount = $transfer->amount; $block->comment = 'Заблокированно на перевод средств для ' . $transfer->toUser->name(); $block->data = 'Money\\Transfer:' . $transfer->id; $block->save(); $from = 'noreply@' . INJI_DOMAIN_NAME; $to = \Users\User::$cur->mail; $subject = 'Подтверждение перевода'; $text = 'Чтобы подтвержить перевод №' . $transfer->id . ' введите код <b>' . $transfer->code . '</b> на <a href = "http://' . INJI_DOMAIN_NAME . '/money/confirmTransfer/' . $transfer->id . '?code=' . $transfer->code . '">странице</a> перевода'; Tools::sendMail($from, $to, $subject, $text); Tools::redirect('/money/confirmTransfer/' . $transfer->id); } $this->view->setTitle('Перевод средств'); $this->view->page(['data' => compact('form')]); }
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(); } else { $wallets[$level->params['currency_id']->value]->diff($amount, $text); } \App::$cur->users->AddUserActivity($user->id, 4, $text . '<br />' . $amount . ' ' . $wallets[$level->params['currency_id']->value]->currency->acronym()); } return $amount; }];