public function actionIndex(User $user, Session $session) { $placeholders = []; if ($session->hasFlash($this->keySessionFlash)) { $placeholders['content'] = i18n::t('successActivate'); return $this->render('success', $placeholders); } elseif ($user->isGuest() && ($users = Users::activate(Request::get('token')))) { // auto-login $user->addMulti($users->toArray(['id', 'username', 'url'])); $user->login(); $session->setFlash($this->keySessionFlash); $this->response->redirect(Url::set()->removeAllArgs()->getAbsoluteUrl(true))->send(true); return null; } return $this->notPage('@frontend.views/layouts/notPage'); }
public function actionSignup(User $user, CSRF $CSRF, Session $session, Mail $mail) { if ($user->isLogged()) { $placeholders['content'] = $this->getMessageLogout($CSRF, 'signupLogout'); return $this->render('success', $placeholders); } if (($message = $session->getFlash($this->keySessionFlash)) && isset($message['email'])) { $placeholders['content'] = $this->template->getChunk('@common.views/elements/alert-success', ['output' => i18n::t($this->keySessionFlash, ['email' => $message['email']])]); return $this->render('success', $placeholders); } $model = new SignupForm(); // redirect Event::on($model, SignupForm::EVENT_AFTER_SIGNUP, function (ModelEvent $event) use($session, $mail, $model) { $this->sendMail($mail, $event->result, $model); $session->setFlash('successSignup', ['email' => $event->result->email]); $this->response->refresh()->send(true); }); $model->load($_POST); $placeholders['model'] = $model; return $this->render('index.php', $placeholders); }
/** * Writes a code to session. * @param string $code */ protected function writeSession($code) { $this->session->setFlash($this->sessionKey, $code, false); }
/** * Create session. */ public function createSession() { $this->session->setFlash($this->sessionName, $this->code, false); }