public function actionUser() { if (!User::find()->All() == null) { $this->redirect(Yii::$app->createAbsoluteUrl('site/login')); Yii::$app->end(); } //user $model = new User(); $model->scenario = 'create'; if ($model->load(Yii::$app->request->post())) { if ($model->save()) { $this->redirect(array('company/admin')); } } return $this->render('user', array('model' => $model)); }
public function onAuthSuccess($client) { $attributes = $client->getUserAttributes(); /** @var Auth $auth */ $auth = Auth::find()->where(['source' => $client->getId(), 'source_id' => $attributes['id']])->one(); if (Yii::$app->user->isGuest) { if ($auth) { // login $user = $auth->user; Yii::$app->user->login($user); } else { // signup if (isset($attributes['email']) && isset($attributes['username']) && User::find()->where(['email' => $attributes['email']])->exists()) { Yii::$app->getSession()->setFlash('error', [Yii::t('app', "User with the same email as in {client} account already exists but isn't linked to it. Login using email first to link it.", ['client' => $client->getTitle()])]); } else { $password = Yii::$app->security->generateRandomString(6); $user = new User(['username' => $attributes['login'], 'email' => $attributes['email'], 'password' => $password]); $user->generateAuthKey(); $user->generatePasswordResetToken(); $transaction = $user->getDb()->beginTransaction(); /* if ($user->save()) { $auth = new Auth([ 'user_id' => $user->id, 'source' => $client->getId(), 'source_id' => (string)$attributes['id'], ]); if ($auth->save()) { $transaction->commit(); Yii::$app->user->login($user); } else { print_r($auth->getErrors()); } } else { print_r($user->getErrors()); } */ } } } else { // user already logged in if (!$auth) { // add auth provider $auth = new Auth(['user_id' => Yii::$app->user->id, 'source' => $client->getId(), 'source_id' => $attributes['id']]); $auth->save(); } } }
public function actionThanks($id) { $user = User::find()->where(['id' => $id])->one(); return $this->render('thanks', ['user' => $user]); }