Example #1
0
 public function actionRegister()
 {
     $model = new User();
     $profile = new Profile();
     if ($model->load(Yii::$app->request->getBodyParams(), '') && $model->validate()) {
         if ($model->validate()) {
             $id = $model->register();
             $profile->createProfile($id);
             return ['success' => true];
         }
     } else {
         return $model;
     }
 }
 /**
  *
  */
 public function actionInit()
 {
     // assign roles
     $oAuthManager = \Yii::$app->authManager;
     $oAuthManager->removeAll();
     // role user
     $oRoleUser = $oAuthManager->createRole('user');
     $oRoleUser->description = 'Registered user';
     $oAuthManager->add($oRoleUser);
     // create default users
     $aDefaultUser = \Yii::$app->params['aDefaultUser'];
     $oSecurity = \Yii::$app->security;
     foreach ($aDefaultUser as $sUsername => $aUserData) {
         $mUser = User::findOne(['username' => $aUserData['username']]);
         if (!$mUser) {
             $mUser = new User();
             $mUser->username = $sUsername;
             $mUser->password = $oSecurity->generatePasswordHash($aUserData['password']);
             $mUser->email = $aUserData['email'];
             $mUser->authKey = $oSecurity->generateRandomString();
         }
         if ($mUser->validate()) {
             $mUser->save();
             // assign role to each
             $oAuthManager->assign($oAuthManager->getRole($aUserData['role']), $mUser->id);
         }
     }
 }
 /**
  * Creates a new Student model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $student = new Student();
     $user = new User();
     $person = new Person();
     if (Yii::$app->request->post()) {
         $params = Yii::$app->request->post();
         $person->load($params);
         $user->load($params);
         $user->password_hash = Yii::$app->getSecurity()->generatePasswordHash($params['User']['password_hash']);
         $student->load($params);
         if ($person->validate() && $user->validate() && $student->validate()) {
             $person->save(false);
             $user->person_id = $person->id;
             $user->register();
             $student->user_id = $user->id;
             $student->save();
             Yii::$app->session->setFlash('success', 'Se envío un correo de confirmación. Por favor verifique su correo electrónico');
             return $this->refresh();
         } else {
             Yii::$app->session->setFlash('danger', 'Ocurrió ff un error al guardar. Vuelve a intentar');
             return $this->refresh();
         }
     } else {
         return $this->render('create', ['student' => $student, 'user' => $user, 'person' => $person]);
     }
 }
 /**
  * Creates a new User model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $modelUser = new User();
     $modelProfile = new Profile();
     $roles = AuthItem::find()->all();
     $arrayRoles = ArrayHelper::map($roles, 'name', 'description');
     $regions = Region::find()->all();
     $arrayRegions = ArrayHelper::map($regions, 'id', 'name');
     if ($modelUser->load(Yii::$app->request->post())) {
         if ($modelUser->validate()) {
             $modelUser->setPassword($modelUser->password_hash);
             if ($modelUser->save(false)) {
                 $modelProfile->user_id = $modelUser->id;
                 $modelProfile->worker_name = $modelUser->worker_name;
                 $modelProfile->telephone = $modelUser->telephone;
                 $modelProfile->head_position = $modelUser->head_position;
                 $modelProfile->head_name = $modelUser->head_name;
                 $modelProfile->region_id = $modelUser->region;
                 if ($modelProfile->save(false)) {
                     $auth = Yii::$app->authManager;
                     $auth->revokeAll($modelUser->id);
                     $access = $auth->getRole($modelUser->access);
                     if ($auth->assign($access, $modelUser->id)) {
                         return $this->redirect(['view', 'id' => $modelUser->id]);
                     }
                 }
             }
         }
     }
     return $this->render('create', ['model' => $modelUser, 'arrayRoles' => $arrayRoles, 'arrayRegions' => $arrayRegions]);
 }
 public function actionSignup()
 {
     $post = Application::request()->post();
     $warning = '';
     if (sizeof($post) > 0) {
         $model = new User();
         $model->load($post);
         $validation = $model->validate();
         if ($validation) {
             $user_id = $model->save();
             if ($user_id) {
                 Application::Identity()->signin($user_id);
                 $this->redirect('/search');
             } else {
                 $warning = 'Error adding row to DB';
             }
         } else {
             $warning = 'Please enter correct fields values';
         }
     }
     if (!Application::Identity()->check()) {
         $this->render('signup.html', ['salt' => Helper::generateCode(15), 'warning' => $warning]);
     } else {
         $this->redirect('/search');
     }
 }
 private function _addOrUpdate($params)
 {
     if ($params['id']) {
         $user = User::findOne(['id' => $params['id']]);
         if (!$user) {
             return ['success' => 0, 'message' => 'No such user exist'];
         }
     } else {
         $user = new User();
     }
     $user->username = $params['username'];
     $user->email = $params['email'];
     $user->phone = $params['phone'];
     $user->password = $params['password'];
     if (!$user->validate()) {
         return ['success' => 0, 'message' => $user->getErrors()];
     }
     if (count($_FILES)) {
         $uploader = new FileUploader($_FILES['profile_picture']);
         $fileName = md5($user->email . Yii::$app->security->generateRandomString());
         $path = Yii::$app->basePath . '/web/images/profile/' . $fileName . '.' . $uploader->extension();
         $uploadStatus = $uploader->save($path);
         if (!$uploadStatus['success']) {
             return ['success' => 0, 'message' => $uploadStatus['error']];
         }
         $user->profile_picture = $file_name . '.' . $uploader->extension();
     }
     if (!$user->save()) {
         return ['success' => 0, 'message' => 'Some error occurred'];
     }
     return ['success' => 1, 'payload' => $user];
 }
Example #7
0
 /**
  * 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())) {
         if ($model->validate()) {
             $model->save();
             return $this->redirect(['view', 'id' => $model->id]);
         }
     }
     return $this->render('create', ['model' => $model]);
 }
Example #8
0
 public function testRegUser()
 {
     $user = new User();
     $user->email = '*****@*****.**';
     $user->name = 'test';
     $user->setPassword('password');
     $user->generateAuthKey();
     $this->assertTrue($user->validate());
     $this->assertTrue($user->save());
     $this->tester->seeInDatabase('users', ['email' => '*****@*****.**', 'name' => 'test']);
 }
 public function actionUser()
 {
     $model = new app\models\User();
     if ($model->load(Yii::$app->request->post())) {
         if ($model->validate()) {
             // form inputs are valid, do something here
             return;
         }
     }
     return $this->render('user', ['model' => $model]);
 }
 public function actionCreate()
 {
     //TODO: Check rights
     $user = new User();
     if ($user->load(\yii::$app->request->post()) && $user->validate()) {
         $user->password = \yii::$app->getSecurity()->generatePasswordHash($user->password);
         $user->save();
         \Yii::$app->response->setStatusCode(201);
         return $this->actionGet($user->id);
     }
     return $user->errors;
 }
Example #11
0
 public function actionCreate()
 {
     $model = new User();
     $model->setAction('admin-insert');
     if (isset($_POST['save'])) {
         $model->setAttributes($_POST['User']);
         if ($model->validate() && $model->adminCreate()) {
             Messages::get()->success("User created!");
             $this->getRequest()->goToPage('users', 'index');
         }
     }
     $this->assign('model', $model);
 }
 public function actionPost()
 {
     if ($userData = $this->container->request->post('User')) {
         $user = new User($this->container);
         $user->setModelData($userData);
         $user->pass = md5($user->pass);
         if ($user->validate() && $user->save()) {
             $this->redirect('/register/success');
         }
         $this->redirect('/register/error');
     }
     $this->redirect('/register');
 }
Example #13
0
 public function actionAdd()
 {
     $user = new User();
     $user->name = 'simon1';
     $user->mail = '*****@*****.**';
     $user->password = '******';
     //数据验证,在User类中添加rules()对数据进行校验
     $user->validate();
     if ($user->hasErrors()) {
         echo 'your data is error';
         die;
     }
     $user->save();
 }
Example #14
0
 public function login(LoginRequest $request)
 {
     if ($user = User::validate($request->input())) {
         $userId = $user->id;
         if ($token = AccessToken::createToken($userId)) {
             $message = $this->getMessage('success', ['user_id' => $userId, 'username' => $user->username, 'token' => $token]);
         } else {
             $message = $this->getMessage('error', [Request::ERROR_DATABASE_INTERNAL_ERROR]);
         }
     } else {
         $message = $this->getMessage('error', [Request::ERROR_VALIDATE_USER_CREDENTIAL]);
     }
     return json_encode($message);
 }
Example #15
0
 /**
  * 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())) {
         if ($model->validate()) {
             $model->salt = Str::random(10);
             $model->password = $model->generatePassword($model->password);
             if ($model->save(false)) {
                 Yii::$app->session->setFlash('create_user', '用户添加成功:您可以继续添加新用户,或返回用户列表。');
                 return $this->redirect(['create']);
             }
         }
     }
     return $this->render('create', ['model' => $model]);
 }
Example #16
0
 public function actionCreate()
 {
     $user = new User();
     $user->scenario = "insert";
     if ($user->load(Yii::$app->request->post()) && $user->validate()) {
         $password = $user->newPassword;
         $passwordHash = Yii::$app->security->generatePasswordHash($password);
         $user->password = $passwordHash;
         if ($user->save()) {
             Yii::$app->getSession()->setFlash("success", 'The record was saved.');
             return $this->redirect(["user/"]);
         }
     }
     return $this->render("create", ["models" => ["user" => $user]]);
 }
Example #17
0
 /**
  * Creates a new ConsoleUsers model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new User(['scenario' => 'create']);
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         $data = Yii::$app->request->post();
         $model->username = strtolower($data['User']['username']);
         $passwd = $data['User']['password'];
         $model->setPassword($passwd);
         $model->save(false);
         $model->setAuthAssignment($model->user_level, $model->id);
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
Example #18
0
 private function createAjax()
 {
     $data = Yii::$app->request->post();
     $model = new User();
     $model->scenario = User::SCENARIO_CREATE;
     foreach ($data['User'] as $key => $value) {
         $model->{$key} = $value;
     }
     if ($model->validate()) {
         $model->pass = PasswordHelper::hashPassword($model->pass);
         $model->pass_repeat = PasswordHelper::hashPassword($model->pass_repeat);
         return $model->save() ? true : ErrorHelper::errorsToString($model->errors);
     } else {
         return ErrorHelper::errorsToString($model->errors);
     }
 }
Example #19
0
 public function signup()
 {
     $validation = User::validate(Input::all());
     if ($validation->passes()) {
         $user = array('fname' => Input::get('fname'), 'lname' => Input::get('lname'), 'year' => Input::get('year'), 'email' => Input::get('email'), 'password' => \Hash::make(Input::get('password')));
         User::create($user);
         $user_sign = User::whereemail(Input::get('email'))->first();
         \Auth::login($user_sign);
         Session::put('user_name', $user['email']);
         $score = DB::table('users')->where('email', Session::get('user_name'))->pluck('points');
         Session::put('pts', $score);
         return Redirect::to('dashboard')->with('message', 'Successfully Registered! Now you are logged in!');
     } else {
         return Redirect::to('signup')->withErrors($validation->errors())->withInput();
     }
 }
Example #20
0
 public function actionSignup()
 {
     if (!\Yii::$app->user->isGuest) {
         return $this->goHome();
     }
     $model = new User();
     $model->generateConfirmToken();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         if ($model->validate()) {
             if (Mailer::send_confirmation($model)) {
                 Yii::$app->getSession()->setFlash('success', 'Your account has been created successfully,We sent you a confirmation mail, Please check your mail & create your password');
             }
             return $this->goHome();
         }
     }
     return $this->render('signup', ['model' => $model]);
 }
Example #21
0
 /**
  * Creates a new User model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @throws HttpException
  * @return string|\yii\web\Response
  */
 public function actionCreate()
 {
     $this->layout = 'middle.php';
     //        $model = new User(['scenario' => User::SCENARIO_REGISTER]);
     $model = new User();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         //            try {
         Yii::$app->user->createUser($model->attributes);
         return $this->redirect(['manage']);
         //            } catch (Exception $e) {
         //                throw new HttpException(500, $e->getMessage());
         //            }
     } else {
         //            var_dump($model->getErrors()); die;
         return $this->render('create', ['model' => $model]);
     }
 }
Example #22
0
 /**
  * Creates a new Ad model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Ad();
     $imagesModel = new UploadImage();
     $userModel;
     if (Yii::$app->user->isGuest) {
         $userModel = new User();
     } else {
         $userModel = Yii::$app->user->getIdentity();
     }
     if ($model->load(Yii::$app->request->post())) {
         $imagesModel->image_files = UploadedFile::getInstances($imagesModel, 'image_files');
         if (empty($imagesModel->image_files) || ($model->uploadedImages = $imagesModel->upload(\app\models\AdImage::IMAGES_PATH))) {
             $userData = Yii::$app->request->post('User');
             if (Yii::$app->user->isGuest) {
                 $user = User::findOne(['email' => $userData['email']]);
                 if (is_null($user)) {
                     $user = new User();
                     $user->load(Yii::$app->request->post());
                     $password = yii\helpers\BaseStringHelper::truncate($userData['first_name'], 18);
                     $user->password = $password;
                     $user->password_repeat = $password;
                     $user->validate();
                     $model->user_id = $user->id;
                 } else {
                     return $this->redirect(['user/login']);
                 }
                 exit;
             } else {
                 $model->user_id = Yii::$app->user->id;
             }
             $model->date_created = date('Y-m-d H:i');
             $model->date_expired = date('Y-m-d H:i');
             if ($model->save()) {
                 Yii::$app->session->setFlash('success', "Ad <strong>{$model->title}</strong> created.");
             } else {
                 Yii::$app->session->setFlash('danger', "Could not create new Ad.");
             }
         } else {
             Yii::$app->session->setFlash('danger', "Could not create new Ad.");
         }
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model, 'imagesModel' => $imagesModel, 'userModel' => $userModel]);
     }
 }
Example #23
0
 public function actionLogin()
 {
     $model = new User();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         // 验证 $model 收到的数据
         // $model = $model->findIdentity(1);
         // 做些有意义的事 ...
         $request = Yii::$app->request;
         $username = $request->post('username');
         $password = $request->post('password');
         $identity = $model->findOne(['username' => $username, 'password' => $password]);
         var_dump($identity);
         //return $this->render('login', ['identity' => $identity]);
     } else {
         // 无论是初始化显示还是数据验证错误
         return $this->render('login', ['model' => $model]);
     }
 }
 public function actionAdd()
 {
     $data = \Yii::$app->request->post('user');
     if (isset($data)) {
         $user = new User();
         $user->attributes = $data;
         $created = new \DateTime('now');
         $user->created_on = date("Y-m-d H:i:s");
         $user->ip_address = \Yii::$app->request->userIP;
         $user->password = md5($data['password']);
         if ($user->validate()) {
             $user->save();
             return $user;
         } else {
             $ex = new ValidationException();
             $ex->setData($user->errors);
             throw $ex;
         }
     }
     throw new BadRequestHttpException("Missing required parameters");
 }
Example #25
0
 public function actionPost($name, $surname)
 {
     $user = new User();
     $user->name = $name;
     $user->surname = $surname;
     if (!$user->validate()) {
         throw new Exception('Invalid data provided');
     }
     $transaction = Yii::$app->db->beginTransaction();
     try {
         if (!$user->save()) {
             throw new DbException('Could not create user');
         }
         $transaction->commit();
     } catch (Exception $exception) {
         $transaction->rollBack();
         throw $exception;
     }
     $userSummary = $user->jsonSummary;
     return $userSummary;
 }
Example #26
0
 /**
  * Store user
  *
  * @param array $data            
  * @throws NotFoundException, ValidationException
  * @return \App\Models\UserModel
  */
 public function store($data)
 {
     if (!array_get($data, 'password')) {
         unset($data['password']);
     }
     try {
         if (array_get($data, 'id')) {
             $user = UserModel::findOrFail((int) array_get($data, 'id'));
             // if this user's email is the same as what the data, then it's ok; otherwise, it has to be unique
             if (array_get($data, 'email') && $user->email == array_get($data, 'email')) {
                 $user->removeRule('email');
             }
             $user->fill($data);
         } else {
             $user = new UserModel();
             $user->fill($data);
         }
     } catch (Exception $e) {
         throw new NotFoundException(trans('app.notFound'));
     }
     if (!array_get($data, 'password')) {
         $user->removeRule('password');
     }
     if (!$user->validate()) {
         throw new ValidationException(trans('app.correctErrors'), $user->errors()->toArray());
     }
     if (array_get($data, 'password')) {
         $user->password = bcrypt($data['password']);
     }
     unset($user->password_confirmation);
     try {
         $user->save();
     } catch (Exception $e) {
         throw $e;
     }
     return $user;
 }
Example #27
0
 /**
  * create account for user
  * image uploading through User::beforeSave() that provides to upload file safely
  */
 public function actionCreateAccountProcess()
 {
     $request = \Yii::$app->request;
     if ($request->isPost) {
         $user = new User();
         if ($user->load($request->post())) {
             if ($user->validate()) {
                 $user->name = $request->post('User')['name'];
                 $user->lastname = $request->post('User')['lastname'];
                 $user->date_register = date('Y-m-d');
                 $user->username = $request->post('User')['username'];
                 $user->email = $request->post('User')['email'];
                 $user->generateAuthKey();
                 $user->setPassword($request->post('User')['password']);
                 $logged = $user->save();
                 if ($logged) {
                     \Yii::$app->user->login($user);
                     $this->redirect('/' . $user->username);
                 } else {
                 }
             }
         }
     }
 }
Example #28
0
 public function testUsersOnly()
 {
     $obj = new User(['email' => '*****@*****.**', 'role' => User::ROLE_ADMIN]);
     $this->assertFalse($obj->validate());
 }
 /**
  * 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();
     $profile = new Profile();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         $password = $model->password;
         $model->auth_key = Yii::$app->security->generateRandomKey();
         $model->access_token = Yii::$app->security->generateRandomKey(64);
         $model->started = date('Y-m-d h:i');
         $model->parent_id = Yii::$app->user->id;
         $model->save();
         \Yii::$app->notification->sendMail($model->identity, 1, ['{{name}}' => $model->fullname, '{{admin}}' => $model->parent->fullname, '{{username}}' => $model->identity, '{{password}}' => $password, '{{link}}' => Html::a('Activation URL', Yii::$app->urlManager->createAbsoluteUrl(['admin/activate/', 'token' => base64_encode($user->access_token)]))]);
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model, 'profile' => $profile]);
     }
 }
Example #30
0
 /**
  * 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();
     $model->scenario = 'create';
     if ($model->load(Yii::$app->request->post())) {
         if ($model->validate()) {
             $password = $model->password;
             $model->password = $model->encryptPassword();
             $model->createdAt = Yii::$app->util->getUtcDateTime();
             $model->createdById = Yii::$app->user->identity->id;
             $model->status = User::ACTIVE;
             try {
                 if ($model->save(false)) {
                     Yii::$app->session->setFlash('success', Yii::t('app', 'User created'));
                     Yii::$app->appLog->writeLog("System user created.", [$model->attributes]);
                     return $this->redirect(['index']);
                 } else {
                     Yii::$app->appLog->writeLog("System user create failed.", [$model->attributes]);
                     Yii::$app->session->setFlash('error', Yii::t('app', 'User create failed'));
                 }
             } catch (Exception $e) {
                 Yii::$app->appLog->writeLog("System user create failed.", [$e->getMessage(), $model->attributes]);
                 Yii::$app->session->setFlash('error', Yii::t('app', 'User create failed'));
             }
             $model->password = $password;
         } else {
             Yii::$app->appLog->writeLog("System user create. Validation failed.", [$model->errors]);
         }
     }
     return $this->render('create', ['model' => $model]);
 }