/** * Creates a new User model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new User(); if ($model->load(Yii::$app->request->post())) { $model->setPassword($model->password); $model->generateAuthKey(); $model->photoFile = UploadedFile::getInstance($model, 'photoFile'); if ($model->photoFile && !$model->upload()) { Yii::$app->session->setFlash('error', Yii::t('app', 'Image not upload')); return $this->render('create', ['model' => $model]); } if ($model->save()) { // change role if (!$model->role) { $model->role = User::ROLE_USER; } User::changeRole($model->role, $model->getId()); // create profile $profile = new UserProfile(); $profile->user_id = $model->id; $profile->save(false); } return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', ['model' => $model]); } }
/** * Signs user up. * * @return User|null the saved model or null if saving fails */ public function signup() { if ($this->validate()) { $user = new User(); $user->username = $this->username; $user->email = $this->email; $user->setPassword($this->password); $user->generateAuthKey(); $user->save(); // $this->sendEmail($user); return $user; } return null; }
/** * Signs user up. * * @return User|null the saved model or null if saving fails */ public function signup() { if ($this->validate()) { $user = new User(); $user->username = $this->username; $user->email = $this->email; $user->setPassword($this->password); $user->generateAuthKey(); // start transaction $transaction = $user->getDb()->beginTransaction(); if ($user->save()) { // create empty profile $profile = new UserProfile(['user_id' => $user->getId()]); $profile->save(); // assign disable user role ROLE_DISABLE $authManager = Yii::$app->authManager; $authManager->assign($authManager->getRole(User::ROLE_DISABLE), $user->getId()); // end transaction $transaction->commit(); return $user; } } return null; }
public static function createSuperAdmin() { if (!self::findByUsername(Yii::$app->params['admin.Username'])) { $user = new User(); $user->password_reset_token = ''; $user->username = Yii::$app->params['admin.Username']; $user->email = Yii::$app->params['admin.Email']; $user->setPassword(Yii::$app->params['admin.Password']); $user->generateAuthKey(); if ($user->save()) { // Assign role admin to root user $auth = Yii::$app->authManager; $auth->assign($auth->getRole(User::ROLE_ADMIN), $user->getId()); } } }