/** * Finds user by either username or email * * @param string $emailOrUsername * * @return \abhimanyu\user\models\UserIdentity|null */ public static function findByUsernameOrEmail($emailOrUsername) { if (filter_var($emailOrUsername, FILTER_VALIDATE_EMAIL)) { return UserIdentity::findByEmail($emailOrUsername); } return UserIdentity::findByUsername($emailOrUsername); }
/** * Finds user by [[username]] * * @return User|null */ public function getUser() { if ($this->_user === FALSE) { if (UserModule::$loginType == User::LOGIN_TYPE_EMAIL) { $this->_user = UserIdentity::findByEmail($this->username); } elseif (UserModule::$loginType == User::LOGIN_TYPE_USERNAME) { $this->_user = UserIdentity::findByUsername($this->username); } elseif (UserModule::$loginType == User::LOGIN_TYPE_BOTH) { $this->_user = UserIdentity::findByUsernameOrEmail($this->username); } } return $this->_user; }
/** * Confirms user's account. * * @param integer $id User Id * @param string $code Activation Token * * @return string * @throws \yii\web\NotFoundHttpException */ public function actionConfirm($id, $code) { $user = UserIdentity::findByActivationToken($id, $code); if ($user == NULL) { throw new NotFoundHttpException(); } if (!empty($user)) { $user->activation_token = NULL; $user->status = User::STATUS_ACTIVE; $user->save(FALSE); Yii::$app->session->setFlash('success', Yii::t('user', 'Account ' . $user->email . ' has successfully been activated')); } else { Yii::$app->session->setFlash('error', Yii::t('user', 'Account ' . $user->email . ' could not been activated. Please contact the Administrator')); } return $this->render('confirm', ['user' => $user]); }
public function actionEmail() { $user = UserIdentity::findByUsername(Yii::$app->user->identity->username); return $this->render('email', ['user' => $user]); }
<?php return ['vendorPath' => dirname(dirname(__DIR__)) . '/vendor', 'modules' => ['user' => ['class' => \abhimanyu\user\UserModule::className(), 'layout' => '@backend/views/layouts/admin'], 'installer' => ['class' => \abhimanyu\installer\InstallerModule::className()], 'gridview' => ['class' => \kartik\grid\Module::className()]], 'components' => ['db' => ['class' => \yii\db\Connection::className(), 'dsn' => 'mysql:host=localhost;dbname='], 'user' => ['identityClass' => \abhimanyu\user\models\UserIdentity::className(), 'loginUrl' => ['/user/auth/login']], 'config' => ['class' => \abhimanyu\config\components\Config::className()], 'urlManager' => ['enablePrettyUrl' => TRUE, 'showScriptName' => FALSE]], 'params' => ['installed' => FALSE]];