public function safeDown() { $this->dropTable(UserKey::tableName()); $this->dropTable(Profile::tableName()); $this->dropTable(User::tableName()); echo "m140908_144113_Init_DB has been returned.\n"; }
/** * Validate user status */ public function validateUserStatus() { // check for ban status $user = $this->getUser(); if ($user->ban_to && $user->ban_to > time()) { $this->addError("username", Yii::t("user", "User is banned - {banReason}", ["banReason" => $user->ban_reason])); } // check status and resend email if inactive if ($user->status == $user::INACTIVE) { $userKey = UserKey::generate($user->id, UserKey::EMAIL_ACTIVATE, $user->getModule()->confirmKeyDuration); $user->sendEmailConfirmation($userKey); $this->addError("username", Yii::t("user", "User is not active, confirmation email with ney key resent")); } }
public function actionIndex() { /** @var $user \dkeeper\yii2\user\models\User */ $user = Yii::$app->getModule("user")->model("user", ["scenario" => "register"]); if ($user->load(Yii::$app->request->post())) { // validate for ajax request if (Yii::$app->request->isAjax) { Yii::$app->response->format = Response::FORMAT_JSON; return ActiveForm::validate($user); } // validate for normal request if ($user->validate()) { $user->create_ip = Yii::$app->request->userIP; $user->setRegisterAttributes()->save(false); $profile = $user->getModule()->model('profile'); $profile->user_id = $user->id; $profile->save(); if (!$user->email_confirm) { $userKey = UserKey::generate($user->id, UserKey::EMAIL_ACTIVATE, $user->getModule()->confirmKeyDuration); $user->sendEmailConfirmation($userKey); } if (!$user->phone_confirm) { $userKey = UserKey::generate($user->id, UserKey::PHONE_ACTIVATE, $user->getModule()->confirmKeyDuration); $user->sendPhoneConfirmation($userKey); } // set flash // don't use $this->refresh() because user may automatically be logged in and get 403 forbidden $successText = Yii::t("user", "Successfully registered [ {displayName} ]", ["displayName" => $user->getDisplayName()]); $guestText = ""; if (Yii::$app->user->isGuest) { $guestText = Yii::t("user", " - Please check your email to confirm your account"); } Yii::$app->session->setFlash("Register-success", $successText . $guestText); } } return $this->render('index', ['user' => $user]); }
public function actionUpdate($id) { /** @var $user \dkeeper\yii2\user\models\User */ /** @var $profile \dkeeper\yii2\user\models\Profile */ $user = Yii::$app->getModule('user')->model('user'); $user = $user::findOne($id); $profile = $user->profile; if (Yii::$app->request->isAjax) { $user->load(Yii::$app->request->post()); $profile->load(Yii::$app->request->post()); Yii::$app->response->format = Response::FORMAT_JSON; return ActiveForm::validate($user, $profile); } if ($user->load(Yii::$app->request->post()) && $user->validate() && $profile->load(Yii::$app->request->post())) { $user->setRegisterAttributes()->save(false); $profile->user_id = $user->id; if ($profile->save()) { if (!$user->email_confirm) { $userKey = UserKey::generate($user->id, UserKey::EMAIL_ACTIVATE, $user->getModule()->confirmKeyDuration); $user->sendEmailConfirmation($userKey); } if (!$user->phone_confirm) { $userKey = UserKey::generate($user->id, UserKey::PHONE_ACTIVATE, $user->getModule()->confirmKeyDuration); $user->sendPhoneConfirmation($userKey); } $this->redirect('/user/admin'); } } return $this->render('update', ['user' => $user, 'profile' => $profile]); }