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