cgView->viewPath = APP_DIR . "/modules/tgbot/views/tgbot/main/"; $this->cgView->layout = "main.php"; $this->cgView->layoutPath = APP_DIR . "/modules/tgbot/views/tgbot/layout/"; $this->cgView->addVarToLayout("resources", "/resources/main"); } public function actionMain(): void { $this->cgView->render("index.php"); } public function actionNews(): void { $news = TagService::getEntityByTagSlug("novosti", Post::class); $this->cgView->render("news.php", ['news' => $news]); } public function actionPromo(): void { $news = TagService::getEntityByTagSlug("akcii", Post::class); $this->cgView->render("news.php", ['news' => $news]); } public function actionScanner(): void { $this->cgView->render("scanner.php"); } public function actionCardActionStep1(int $cardId): void { $card = Card::where("id", $cardId)->first(); $this->cgView->render("card_action_step_1.php", ['card' => $card]); } public function actionCardActionStep2(): void { $params = new CardActionStep2Form(); $request = new Request(); $params->load($request->get()); $this->cgView->render("card_action_step_2.php", ['params' => $params]); } public function actionCardActionStep3(): void { $params = new CardActionStep2Form(); $request = new Request(); $params->load($request->post()); $card = CardService::getCardById($params->getItem("card_id")); if ($params->getItem('type') === 'add_money'){ Flash::setMessage("success", "Баланс пополнен на " . $params->getItem('amount')); $transaction = CardService::addMoneyToCard($card, (int)$params->getItem('amount')); } if ($params->getItem('type') === 'withdraw'){ Flash::setMessage("success", "С карты списано " . $params->getItem('amount')); $transaction = CardService::withdrawMoneyFromCard($card, (int)$params->getItem('amount')); } if ($params->getItem('type') === 'add_purchase'){ // Flash::setMessage("success", "С карты списано " . $params->getItem('amount')); // CardService::withdrawMoneyFromCard($card, (int)$params->getItem('amount')); $cashback = new CashbackCondition(); $transaction = $cashback->handler($card, (int)$params->getItem('amount')); Flash::setMessage("success", "Начислено кешбэк " . $transaction->amount); } $card = $card->fresh(); $this->cgView->render("card_action_step_3.php", ['card' => $card, 'transaction' => $transaction ?? null]); } }