コード例 #1
0
 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');
 }
コード例 #2
0
 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);
 }
コード例 #3
0
ファイル: Common.php プロジェクト: romeoz/rock-captcha
 /**
  * Writes a code to session.
  * @param string $code
  */
 protected function writeSession($code)
 {
     $this->session->setFlash($this->sessionKey, $code, false);
 }
コード例 #4
0
ファイル: Captcha.php プロジェクト: romeoz/rock
 /**
  * Create session.
  */
 public function createSession()
 {
     $this->session->setFlash($this->sessionName, $this->code, false);
 }