app\controllers\SiteController::actionSignup PHP Метод

actionSignup() публичный Метод

User signup
public actionSignup ( )
    public function actionSignup()
    {
        $userDriver = isset(\Yii::$app->params['user_driver']) == true && empty(\Yii::$app->params['user_driver']) == false ? \Yii::$app->params['user_driver'] : 'local';
        if ($userDriver != 'local') {
            throw new BadRequestHttpException(Yii::t('walle', 'the login type does not provide registration', array('loginType' => $userDriver)));
        }
        $user = new User(['scenario' => 'signup']);
        if ($user->load(Yii::$app->request->post())) {
            $user->status = User::STATUS_ACTIVE;
            if ($user->save()) {
                Yii::$app->mail->compose('confirmEmail', ['user' => $user])->setFrom(Yii::$app->mail->messageConfig['from'])->setTo($user->email)->setSubject('瓦力平台 - ' . $user->realname)->send();
                Yii::$app->session->setFlash('user-signed-up');
                return $this->refresh();
            }
        }
        if (Yii::$app->session->hasFlash('user-signed-up')) {
            return $this->render('signedUp');
        }
        return $this->render('signup', ['model' => $user]);
    }

Usage Example

Пример #1
0
 public function run()
 {
     $site = new SiteController();
     switch ($_SERVER["REQUEST_URI"]) {
         case '/':
         case '/home':
             return $site->actionIndex();
             break;
         case '/profile':
             return $site->actionProfile();
             break;
         case '/login':
             return $site->actionLogin();
             break;
         case '/signup':
             return $site->actionSignup();
             break;
         case '/email-unique':
             return $site->actionEmailUnique();
             break;
         case '/verify-password':
             return $site->actionVerifyPassword();
             break;
         case '/logout':
             return $site->actionLogout();
             break;
         case '/400':
             $error = new ErrorController(400);
             return $error->actionIndex();
             break;
         case '/403':
             $error = new ErrorController(403);
             return $error->actionIndex();
             break;
         default:
             $error = new ErrorController(404);
             return $error->actionIndex();
             break;
     }
 }