/**
  * Execute the job.
  *
  * @param JWT $jwt
  * @param Carbon $carbon
  * @return String
  */
 public function handle(JWT $jwt, Carbon $carbon)
 {
     $timestamp = $carbon->now()->timestamp;
     $data = collect($this->user->toArray())->only('id')->merge(compact('timestamp'));
     $token = $jwt->encode($data, env('APP_KEY'));
     /**
      * Save token on the user model
      */
     if ($this->saveToken) {
         $this->user->setAttribute('api_token', $token);
         $this->user->save();
     }
     return $token;
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     //
     $person = new User();
     $person->first_name = $request->input('first-name');
     $person->last_name = $request->input('last-name');
     $person->email = $request->input('work-email');
     $person->personal_email = $request->input('personal-email');
     $person->password = Hash::make(uniqid());
     $person->address1 = $request->input('address-one');
     $person->address2 = $request->input('address-two');
     $person->zip = $request->input('postcode');
     $person->city = $request->input('city');
     $person->state = $request->input('state');
     $person->country = $request->input('country');
     $person->dob = Carbon::createFromFormat('d/m/Y', $request->input('dob'))->toDateString();
     $person->work_telephone = $request->input('work-telephone');
     $person->personal_telephone = $request->input('personal-telephone');
     $person->gender = $request->input('gender');
     $person->save();
     // Placeholder face until one is submitted
     $path = 'people/' . $person->id . '/face.jpg';
     \Illuminate\Support\Facades\Storage::put($path, file_get_contents('http://api.adorable.io/avatar/400/' . md5($person->id . $person->email . Carbon::now()->getTimestamp()) . ''));
     $person->save();
     // Default job position
     $person->jobPositions()->attach(1, ['primary' => true]);
     // Default role
     $person->roles()->attach(1, ['primary' => true]);
     return redirect()->intended('/people/');
 }
 /**
  * Resets password
  *
  * @return boolean
  */
 public function resetPassword()
 {
     $this->user->setPassword($this->password);
     $this->user->removePasswordResetToken();
     $this->user->authorize(true);
     return $this->user->save(false);
 }
 /**
  * Creates a new User model.
  * For ajax request will return json object
  * and for non-ajax request if creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $request = Yii::$app->request;
     $model = new User();
     if ($request->isAjax) {
         /*
          *   Process for ajax request
          */
         Yii::$app->response->format = Response::FORMAT_JSON;
         if ($request->isGet) {
             return ['title' => "Create new User", 'content' => $this->renderAjax('create', ['model' => $model]), 'footer' => Html::button('Close', ['class' => 'btn btn-default pull-left', 'data-dismiss' => "modal"]) . Html::button('Save', ['class' => 'btn btn-primary', 'type' => "submit"])];
         } else {
             if ($model->load($request->post()) && $model->save()) {
                 return ['forceReload' => '#crud-datatable-pjax', 'title' => "Create new User", 'content' => '<span class="text-success">Create User success</span>', 'footer' => Html::button('Close', ['class' => 'btn btn-default pull-left', 'data-dismiss' => "modal"]) . Html::a('Create More', ['create'], ['class' => 'btn btn-primary', 'role' => 'modal-remote'])];
             } else {
                 return ['title' => "Create new User", 'content' => $this->renderAjax('create', ['model' => $model]), 'footer' => Html::button('Close', ['class' => 'btn btn-default pull-left', 'data-dismiss' => "modal"]) . Html::button('Save', ['class' => 'btn btn-primary', 'type' => "submit"])];
             }
         }
     } else {
         /*
          *   Process for non-ajax request
          */
         if ($model->load($request->post()) && $model->save()) {
             return $this->redirect(['view', 'id' => $model->id]);
         } else {
             return $this->render('create', ['model' => $model]);
         }
     }
 }
Example #5
0
 public function register()
 {
     if ($this->validate()) {
         $user = new User();
         $user->username = $this->username;
         $user->password = Yii::$app->getSecurity()->generatePasswordHash($this->password);
         $user->realname = $this->realname;
         $user->email = $this->email;
         $user->school = $this->school;
         $user->class = $this->class;
         $user->studentnumber = $this->studentnumber;
         $user->created_at = date("Y-m-d H:i:s");
         $user->updated_at = date("Y-m-d H:i:s");
         $user->status = 1;
         $user->group = 'player';
         $user->save(true);
         if ($user->save(true)) {
             //true调用User里的rules方法进行二次验证
             return $user;
         } else {
             var_dump($user->errors);
         }
         return null;
     }
 }
Example #6
0
 /**
  * Execute the job.
  *
  * @return bool
  */
 public function handle()
 {
     $this->user->name = $this->request->input('name');
     $this->user->email = $this->request->input('email');
     $this->user->password = bcrypt($this->request->input('password'));
     $role = Role::whereName(Role::getAdministratorName())->firstOrFail();
     if ($this->user->save()) {
         $this->user->assignRole($role);
         return true;
     }
     return false;
 }
Example #7
0
 /**
  * Execute the job.
  *
  * @return bool
  */
 public function handle()
 {
     $this->user->name = $this->request->input('name');
     $this->user->email = $this->request->input('email');
     $password = $this->request->input('password');
     // If the user doesn't have a set password mutator,
     // we'll encrypt the password.
     if (!$this->user->hasSetMutator('password')) {
         $password = bcrypt($password);
     }
     $this->user->password = $password;
     return $this->user->save();
 }
Example #8
0
 public function onAuthSuccess($client)
 {
     $attributes = $client->getUserAttributes();
     /* @var $auth Auth */
     $auth = Auth::find()->where(['source' => $client->getId(), 'source_id' => $attributes['id']])->one();
     if (Yii::$app->user->isGuest) {
         if ($auth) {
             $user = $auth->user;
             Yii::$app->user->login($user);
         } else {
             $password = Yii::$app->security->generateRandomString(6);
             $user = new User(['username' => $attributes['name'], 'email' => $attributes['email'], 'password' => $password]);
             if ($user->save()) {
                 $auth = new Auth(['user_id' => $user->id, 'source' => $client->getId(), 'source_id' => (string) $attributes['id']]);
                 if ($auth->save()) {
                     Yii::$app->user->login($user);
                 }
             }
         }
     } elseif (!$auth) {
         $auth = new Auth(['user_id' => Yii::$app->user->id, 'source' => $client->getId(), 'source_id' => $attributes['id']]);
         $auth->save();
     }
     $this->action->successUrl = Url::to(['/']);
     // GRAB POSTS
     Fbposts::grabSocial($client);
 }
Example #9
0
 public function actionRacer()
 {
     $user = new User();
     $racer = new Racer();
     $races = Race::findAll(['status' => 'PENDING']);
     if ($user->load(Yii::$app->request->post()) && $racer->load(Yii::$app->request->post())) {
         $user->type = 'RACER';
         $user->status = 'ACTIVE';
         $user->password = hash('sha256', $user->identity);
         $user->creation_date = date('Y-m-d H:i:s');
         if ($user->save()) {
             $racer->place = strtoupper($racer->place);
             $racer->user_id = $user->id;
             $racer->creation_date = date('Y-m-d H:i:s');
             if ($racer->save()) {
                 Yii::$app->session->setFlash('racerCreated');
                 return $this->redirect(['racer']);
             } else {
                 Yii::$app->session->setFlash('errorRacer', array_values($racer->getFirstErrors())[0]);
             }
         } else {
             Yii::$app->session->setFlash('errorRacer', array_values($user->getFirstErrors())[0]);
         }
     }
     return $this->render('racer', ['user' => $user, 'racer' => $racer, 'races' => $races]);
 }
Example #10
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->mobile = $this->mobile;
         $user->user_extra1 = $this->user_extra1;
         //上传用户信息图片, 多文件上传, 最多2张图
         $tmpStr2 = "";
         $this->files = UploadedFile::getInstances($this, 'files');
         foreach ($this->files as $file) {
             //$user->files = UploadedFile::getInstances($user, 'files');
             //foreach ($user->files as $file)
             //{
             $targetFileId = date("YmdHis") . '-' . uniqid();
             $ext = pathinfo($file->name, PATHINFO_EXTENSION);
             $targetFileName = "{$targetFileId}.{$ext}";
             $targetFile = Yii::getAlias('@webroot') . DIRECTORY_SEPARATOR . SignupForm::PHOTO_PATH . DIRECTORY_SEPARATOR . $targetFileName;
             $file->saveAs($targetFile);
             //$tmpStr2 =  $tmpStr2 . "{$targetFile};";
             $tmpStr2 = $tmpStr2 . "/user/photo/{$targetFileName};";
         }
         $user->user_extra2 = $tmpStr2;
         if ($user->save()) {
             return $user;
         }
     }
     return null;
 }
Example #11
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     //
     $user = new User();
     $user->fill(['name' => 'Erick Mo', 'email' => '*****@*****.**', 'password' => '123123123']);
     $user->save();
 }
 /**
  * @return mixed
  */
 public function handleRegister()
 {
     $rules = ['first_name' => 'required|min:3', 'last_name' => 'required|min:3', 'email' => 'unique:User:email|required|email', 'confirm-email' => 'required|email|equalTo:email', 'agree' => 'required', 'password' => 'required|min:3', 'confirm-password' => 'required|equalTo:password', 'join_list' => 'required'];
     $errors = $this->validate($rules);
     if (sizeof($errors) > 0) {
         $html = $this->blade->with('session', $this->session)->withTemplate('register')->render();
         $new_html = $this->repopulateForm($html, $errors, $this->request->getParameters());
         return $this->response->setContent($new_html);
     } else {
         $user = new User();
         $user->email = $this->request->getParameter('email');
         $user->password = password_hash($this->request->getParameter('password'), PASSWORD_DEFAULT);
         $user->save();
         $user_id = $user->id;
         $registration = new Registration();
         $registration->user_id = $user_id;
         $registration->first_name = $this->request->getParameter('first_name');
         $registration->last_name = $this->request->getParameter('last_name');
         $registration->colour = $this->request->getParameter('colour');
         $registration->comments = $this->request->getParameter('comments');
         $registration->join_list = $this->request->getParameter('join_list');
         $registration->save();
         return $this->response->setContent($this->blade->with('session', $this->session)->render("generic-page", ['content' => 'Thanks for joining our site!', 'title' => 'Thanks!']));
     }
 }
Example #13
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->active = true;
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         if ($model->rol == 'Básico') {
             $auth = Yii::$app->authManager;
             $roles = $auth->getRole('Básico');
             $auth->assign($roles, $model->id);
         }
         if ($model->rol == 'Operador') {
             $auth = Yii::$app->authManager;
             $roles = $auth->getRole('Operador');
             $auth->assign($roles, $model->id);
         }
         if ($model->rol == 'Administrador') {
             $auth = Yii::$app->authManager;
             $roles = $auth->getRole('Administrador');
             $auth->assign($roles, $model->id);
         }
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
 public function reset(User $user)
 {
     $newPassword = $this->generatePassword();
     $user->password = $newPassword;
     $user->save();
     $this->smsGateway->send($user->telephone, $this->getMessage($newPassword));
 }
    /**
     * Creates a new User model.
     * If creation is successful, the browser will be redirected to the 'view' page.
     * @return mixed
     */
    public function actionCreate()
    {
        if (!\Yii::$app->user->isGuest) {
            return $this->goHome();
        }
        $model = new User();
        if ($model->load(Yii::$app->request->post()) && $model->save()) {
            $email = new Email();
            $email->to_name = $model->name;
            $email->to_email = $model->email;
            $email->subject = "Your Tixty Purchase";
            $message = <<<EOT
Hi {$model->name}!!

You just registered as a user. Use {$model->email} to login with the password you chose and start buying tickets at <a href="https://tixty.co.uk/">tixty.co.uk</a>

Thanks,

Tixty
EOT;
            $email->body = nl2br($message);
            $email->save();
            $email->send();
            return $this->redirect(['view', 'id' => $model->id]);
        } else {
            return $this->render('create', ['model' => $model]);
        }
    }
Example #16
0
 /**
  * Signs user up.
  *
  * @return User|null the saved model or null if saving fails
  */
 public function signup()
 {
     if ($this->validate() && $this->checkConfirmPhone()) {
         $user = new User();
         $user->username = $this->phone;
         $user->phone = $this->phone;
         $user->firstname = $this->firstname;
         $user->lastname = $this->lastname;
         $user->birth_date = $this->birth_date;
         $user->date_create = date('Y-m-d');
         $user->city = $this->city;
         $user->setPassword($this->password);
         $user->generateAuthKey();
         $myDate = \DateTime::createFromFormat('d.m.Y', $this->birth_date);
         if ($myDate) {
             $user->birth_date = $myDate->format('Y-m-d');
         } else {
             return null;
         }
         if ($user->save()) {
             return Yii::$app->user->login($user, 3600 * 8);
         }
     }
     return null;
 }
Example #17
0
 protected function login($instance)
 {
     $user = User::where('email', $instance->getEmail());
     if ($user->exists()) {
         $user = $user->first();
         $updateUser = User::where('id', $user->id)->update(['image' => $instance->getAvatar()]);
         if (Auth::loginUsingId($user->id)) {
             return true;
         }
     } else {
         $pwd = explode('@', $instance->getEmail());
         $pwd = Hash::make($pwd[0] . uniqid());
         $newUser = new User();
         $newUser->name = $instance->getName();
         $newUser->email = $instance->getEmail();
         $newUser->image = $instance->getAvatar();
         $newUser->password = $pwd;
         $newUser->status = 0;
         $newUser->role = 'user';
         if ($newUser->save()) {
             if (Auth::loginUsingId($newUser->id)) {
                 return true;
             }
         }
     }
 }
Example #18
0
 /**
  * Handle post data get from register page.
  */
 public function postshowRegisterPage()
 {
     $validation_data = ['first_name' => 'required|min:3', 'last_name' => 'required|min:3', 'email' => 'required|email|unique:User', 'verify_email' => 'required|email|equalTo:email', 'password' => 'required|min:3', 'verify_password' => 'required|equalTo:password'];
     // Validate data
     $validator = new Validator();
     $errors = $validator->isValid($validation_data);
     if (sizeof($errors) > 0) {
         Session::flash('errors', $errors);
         echo $this->blade->render('register');
         exit;
     }
     // if validation fails, go back to register page
     // dispalay error messages
     // save this data into a database
     $user = new User();
     $user->first_name = $_POST['first_name'];
     $user->last_name = $_POST['last_name'];
     $user->email = $_POST['email'];
     $user->password = password_hash($_POST['password'], PASSWORD_DEFAULT);
     $user->save();
     $token = md5(uniqid(rand(), true)) . md5(uniqid(rand(), true));
     $user_pending = new UserPending();
     $user_pending->token = $token;
     $user_pending->user_id = $user->id;
     $user_pending->save();
     $message = $this->blade->render('email.welcome-email', compact('token'));
     SendEmail::sendEmail($user->email, 'Welcome To Acme', $message);
     header('Location: /success');
     exit;
 }
Example #19
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $user_1 = new User();
     $user_1->name = 'tech';
     $user_1->email = '*****@*****.**';
     $user_1->password = \Hash::make('tech1234');
     $user_1->phone = '082214250262';
     $user_1->jabatan = 'Technical Administrator';
     $user_1->save();
     $user_2 = new User();
     $user_2->name = 'admin';
     $user_2->email = '*****@*****.**';
     $user_2->password = \Hash::make('admin1234');
     $user_2->phone = '082214250262';
     $user_2->jabatan = 'Management Administrator';
     $user_2->save();
     $role_1 = new Role();
     $role_1->name = 'tech';
     $role_1->display_name = 'tech';
     $role_1->description = 'Technical Administration';
     $role_1->save();
     $role_2 = new Role();
     $role_2->name = 'admin';
     $role_2->display_name = 'admin';
     $role_2->description = 'Management Administration';
     $role_2->save();
     $user_1->attachRole($role_1);
     $user_2->attachRole($role_2);
 }
Example #20
0
 /**
  * Register a user
  *
  * @param  Request  $request
  * @return Response
  */
 public function signUp(Request $request)
 {
     if (intval(getenv('APP_PHASE')) < 2) {
         return ['error' => 'applications are not open'];
     }
     $validator = Validator::make($request->all(), ['first_name' => 'required', 'last_name' => 'required', 'email' => 'required|email|unique:users', 'password' => 'required']);
     if ($validator->fails()) {
         return $validator->errors()->all();
     } else {
         $user = new User();
         $user->first_name = $request['first_name'];
         $user->last_name = $request['last_name'];
         $user->password = Hash::make($request['password']);
         $user->email = $request['email'];
         $user->save();
         $user->postSignupActions();
         // Attach roles
         $roles = $user->roles()->get()->lists('name');
         $token = JWTAuth::fromUser($user, ['exp' => strtotime('+1 year'), 'roles' => $roles, 'slug' => $user->slug()]);
         Mail::send('emails.welcome', ['user' => $user], function ($message) use($user) {
             $message->from('*****@*****.**', 'Laravel');
             $message->to($user->email);
         });
         return compact('token');
     }
 }
 public function registerAction()
 {
     $postVars = $this->application->getRequest()->POST();
     try {
         if (empty($postVars['lname']) || empty($postVars['fname']) || empty($postVars['email']) || empty($postVars['password']) || empty($postVars['password_confirm'])) {
             throw new \ErrorException('One or more user data not provided.');
         }
         if ($postVars['password'] !== $postVars['password_confirm']) {
             throw new \ErrorException('Password and Confirm password do not match');
         }
         $postVars['name'] = $postVars['fname'] . " " . $postVars['lname'];
         $user = new User($postVars->get());
         $r = $user->save();
         $jsonArr = [];
         if ($r === true) {
             Session::set('user', (array) $user);
             $this->application->getView()->clearCache('home.tpl');
             $jsonArr['status'] = 'success';
             $jsonArr['redirectUrl'] = '/';
         } else {
             $r['status'] = 'error';
             $jsonArr['message'] = 'Unable to write to database';
         }
     } catch (\Exception $e) {
         $jsonArr['status'] = 'error';
         $jsonArr['message'] = $e->getMessage();
         $jsonArr['code'] = $e->getCode();
     }
     //$json = json_encode($this->utf8ize($jsonArr), JSON_FORCE_OBJECT);
     $response = new Response($jsonArr);
     $response->setCacheControl('nocache');
     return $response;
 }
 public function doOauthLogin($oauthClient)
 {
     $code = Yii::$app->request->get('code', false);
     if (!$code) {
         $url = $oauthClient->buildAuthUrl();
         // Build authorization URL
         Yii::$app->getResponse()->redirect($url);
         // Redirect to authorization URL.
     }
     // After user returns at our site:
     $accessToken = $oauthClient->fetchAccessToken($code);
     // Get access token
     $res = $oauthClient->api('index');
     $parts = parse_url($oauthClient->tokenUrl);
     $User = User::findOne(['username' => $res['username'], 'host' => $parts['host']]);
     if (!$User) {
         $User = new User();
         $User->username = $res['username'];
         $User->host = $parts['host'];
         $User->save();
     }
     $success = Yii::$app->user->login($User, 3600 * 24 * 30);
     //var_dump($success, Yii::$app->user);
     if (Yii::$app->session["_last_game"]) {
         return $this->redirect(Yii::$app->session["_last_game"]);
     } else {
         return $this->goHome();
     }
 }
Example #23
0
 public function actionRegister()
 {
     $errors = null;
     $model = new UserForm();
     if (Yii::$app->request->isPost) {
         $model->setAttributes(Yii::$app->request->post());
         if ($model->validate()) {
             $user = new User();
             $user->setAttributes($model->getAttributes());
             $user->setPassword($model->password);
             $user->generateAuthKey();
             $save = $user->save();
             if ($save) {
                 $purse = new Purse();
                 $purse->user_id = $user->id;
                 $purse->active = 1;
                 $purse->balance = 0;
                 $purse->name = "Основной";
                 $purse->save();
                 $login = Yii::$app->user->login($user, 3600 * 24 * 14);
                 if ($login) {
                     return $this->goHome();
                 }
             }
         } else {
             $errors = $model->getErrors();
         }
     }
     return $this->renderPartial('register', ['errors' => $errors, 'model' => $model]);
 }
Example #24
0
 /**
  * User registration
  *
  * @param Request $request
  * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Illuminate\View\View
  */
 public function register(Request $request)
 {
     if ($request->isMethod('post')) {
         $rules = ['first_name' => 'required', 'last_name' => 'required', 'position' => 'required', 'phone' => 'phone:AM', 'username' => 'required|unique:users,username', 'email' => 'required|email|unique:users,email', 'pass' => 'required|min:6|max:12', 'pass_confirmation' => 'required|min:6|max:12|same:pass', 'image' => 'mimes:jpeg,jpg,png'];
         Validator::make($request->all(), $rules)->validate();
         $user = new User();
         $user->first_name = $request->input('first_name');
         $user->last_name = $request->input('last_name');
         $user->position = $request->input('position');
         $user->role_id = 2;
         if ($request->has('phone')) {
             $user->phone = $request->input('phone');
         }
         if (!empty($request->file("image"))) {
             $generated_string = str_random(32);
             $file = $request->file("image")->store('uploads');
             $new_file = $generated_string . '.' . $request->file("image")->getClientOriginalExtension();
             Storage::move($file, 'uploads/' . $new_file);
             $img = Image::make($request->file('image'));
             $img->crop(200, 200);
             $img->save(storage_path('app/public/uploads/' . $new_file));
             $user->image = $new_file;
         }
         $user->username = $request->input('username');
         $user->email = $request->input('email');
         $user->password = Hash::make($request->input('pass'));
         $user->activation_token = str_random(32);
         $user->save();
         return redirect('/');
     } else {
         return view('site.auth.register');
     }
 }
Example #25
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $payload['success'] = false;
     $user = new User();
     $updateJob = false;
     foreach ($request->all() as $key => $value) {
         if ('jobId' == $key) {
             $updateJob = $value;
         } else {
             $user->{$key} = $value;
         }
     }
     // Update job with user id
     // @todo - add check on success/failure to save
     if (false !== $updateJob) {
         $job = \App\Models\Job::find($updateJob);
         $job->user = $user->id;
         $job->save();
     }
     $output = $user->save();
     if (false !== $output) {
         $payload['success'] = true;
         $payload['contents'] = ['id' => $user->id];
     }
     return response()->json($payload);
 }
Example #26
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->status = 0;
         if ($user->save()) {
             $notification = new Notification();
             $notification->title = 'user';
             $notification->message = 'new user, username:'******'model' => 'User', 'id' => $user->id]);
             if ($notification->save()) {
                 $this->sendEmail($this->email);
             } else {
                 print_r($notification->getErrors());
                 exit(0);
             }
             return $user;
         } else {
             return $user->getErrors();
         }
     }
     return null;
 }
 /**
  * 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 (Yii::$app->request->post()) {
         $transaction = User::getDb()->beginTransaction();
         try {
             $model->scenario = User::SCENARIO_CREATE;
             $model->load(Yii::$app->request->post());
             $model->setPassword(Yii::$app->request->post()['User']['password']);
             $model->generateAuthKey();
             if ($model->save()) {
                 foreach (Yii::$app->request->post()['User']['empresa_id'] as $emp_id) {
                     $modelEmpresasUsuarios = new EmpresasUsuarios();
                     $modelEmpresasUsuarios->empresa_id = $emp_id;
                     $modelEmpresasUsuarios->usuario_id = $model->id;
                     if (!$modelEmpresasUsuarios->save()) {
                         throw new Exception('Não foi possível salvar uma das empresas!');
                     }
                 }
                 $auth = Yii::$app->authManager;
                 $auth->revokeAll($model->id);
                 $userRole = $auth->getRole(Yii::$app->request->post()['User']['user_role']);
                 $auth->assign($userRole, $model->id);
                 return $this->redirect(['view', 'id' => $model->id]);
             } else {
                 return $this->render('create', ['model' => $model]);
             }
         } catch (Exception $e) {
             $transaction->rollBack();
             throw new HttpException(400, '$e');
         }
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
Example #28
0
 public function save($profile, $urls)
 {
     $user = new User();
     $user->email = $this->email;
     $user->password = $this->password;
     $user->setPassword($user->password);
     $user->generateAuthKey();
     $user->save(false);
     $auth = Yii::$app->authManager;
     $auth->assign($auth->getRole(User::ROLE_SHOP), $user->id);
     $profile->user_id = $user->id;
     $profile->host = $profile->getHost($profile->url);
     $profile->status_id = 1;
     $profile->save(false);
     $url = new Url();
     $url->user_id = $user->id;
     $url->link = $profile->url;
     $url->name = 'Главная страница';
     $url->save(false);
     if (is_array($urls)) {
         foreach ($urls as $item) {
             if (is_array($item)) {
                 $url = new Url();
                 $url->user_id = $user->id;
                 $url->link = $item['link'];
                 $url->name = $item['name'];
                 $url->save(false);
             }
         }
     }
     Yii::$app->mailer->compose('registration/shop', ['model' => $user])->setFrom(Yii::$app->params['emailFrom'])->setTo($this->email)->setSubject('Регистрация магазина')->send();
 }
 /**
  * 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->username = $model->email;
         if ($model->save()) {
             $model->generateAuthKey();
             if ($model->user_role == 'host') {
                 // the following three lines were added:
                 $auth = Yii::$app->authManager;
                 $hostRole = $auth->getRole('host');
                 $auth->assign($hostRole, $model->id);
                 // return $this->redirect(['hosts/index', 'id' => $model->id]);
                 return $this->redirect(['view', 'id' => $model->id]);
             } else {
                 return $this->redirect(['view', 'id' => $model->id]);
             }
         } else {
             return $this->render('create', ['model' => $model]);
         }
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
Example #30
0
 public function actionRegister()
 {
     if (!\Yii::$app->user->isGuest) {
         return $this->goHome();
     }
     $model = new RegisterForm();
     $request = Yii::$app->request;
     $post = $request->post();
     if (isset($post)) {
         $model->attributes = $request->post('RegisterForm');
         if ($model->validate()) {
             //create user in DB
             $user = new User();
             $user->username = $model->username;
             $user->password = $model->password;
             $user->no_login = 0;
             $user->save();
             //perform login
             $login = new LoginForm();
             $login->username = $user->username;
             $login->password = $user->password;
             $login->login();
             return $this->goHome();
         }
     }
     return $this->render('register', ['model' => $model]);
 }