/**
  * 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]);
     }
 }
示例#2
0
 /**
  * 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;
 }
示例#3
0
 /**
  * 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;
 }
示例#4
0
 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());
         }
     }
 }