/**
  * Creates a new Profile 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 Profile();
     if ($request->isAjax) {
         /*
          *   Process for ajax request
          */
         Yii::$app->response->format = Response::FORMAT_JSON;
         if ($request->isGet) {
             return ['title' => "Create new Profile", 'content' => $this->renderPartial('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' => 'true', 'title' => "Create new Profile", 'content' => '<span class="text-success">Create Profile 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 Profile", 'content' => $this->renderPartial('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]);
         }
     }
 }
Esempio n. 2
0
 /**
  * Create user profile
  *
  * @param Request $data
  * @param type $id int
  */
 public static function createProfile($data, $id)
 {
     $profile = new Profile();
     $profile->user_id = $id;
     $profile->about = "Моя информация";
     $profile->save();
 }
Esempio n. 3
0
 public static function socialSave($user, $info)
 {
     $prof = new Profile();
     $prof->user_id = $user->id;
     $prof->name = $info['name'];
     //common
     if (!empty($info['first_name'])) {
         $prof->name = $info['first_name'];
     }
     if (!empty($info['last_name'])) {
         $prof->last_name = $info['last_name'];
     }
     //vk
     if (!empty($info['photo_rec'])) {
         $prof->thumb_photo = $info['photo_rec'];
     }
     if (!empty($info['photo_medium'])) {
         $prof->thumb_photo = $info['photo_medium'];
     }
     if (!empty($info['photo_big'])) {
         $prof->photo = $info['photo_big'];
     }
     //fb
     if (!empty($info['picture'])) {
         $prof->thumb_photo = $info['picture']['data']['url'];
     }
     //set default
     if (!$prof->thumb_photo) {
         $prof->thumb_photo = '/web/images/profile_thumb_photo_default.png';
     }
     $prof->save(false);
     /* echo '<pre>';
        print_r($info);
        die(); */
 }
 /**
  * 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]);
 }
Esempio n. 5
0
 /**
  * Create a new Profile
  *
  * @param  \App\User  $user
  * @param  string  $name
  * @return \App\Models\Profile
  */
 public function create($user, $name)
 {
     $profile = new Profile();
     $profile->name = $name;
     $profile->user_id = $user->id;
     $profile->save();
     return $profile;
 }
 public function actionLoadProfiles()
 {
     $profileData = [['user_id' => '14', 'birthday' => '1942-02-02', 'nickname' => 'testing', 'background_img' => 'forback.png', 'avatar' => 'forback.png'], ['user_id' => '15', 'birthday' => '1998-02-02', 'nickname' => 'testing2', 'background_img' => 'forback.png', 'avatar' => 'forback.png']];
     foreach ($profileData as $data) {
         $profile = new Profile($data);
         $profile->save();
     }
 }
Esempio n. 7
0
 /**
  * Creates a new Profile model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Profile();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'user_id' => $model->user_id, 'state_id' => $model->state_id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
 public function store(Request $request)
 {
     $this->validate($request, ['name' => 'required|min:1']);
     $profile = new ProfileModel();
     $profile->name = $request->input('name');
     $profile->surname = $request->input('surname');
     $profile->phone = $request->input('phone');
     $profile->email = $request->input('email');
     $profile->save();
     return redirect()->action('UsersController@index');
 }
Esempio n. 9
0
 public function actionView()
 {
     $model = Profile::find()->where('user_id = ' . Yii::$app->user->id)->one();
     if (!$model) {
         $modelProfile = new Profile();
         $modelProfile->user_id = Yii::$app->user->id;
         $modelProfile->save(false);
     } else {
         $modelProfile = $model;
     }
     return $modelProfile;
 }
Esempio n. 10
0
 public function postCreate()
 {
     $postValue = $this->getProfileInput();
     $profile = new Profile();
     if ($profile->validate($postValue)) {
         $profile->fill($postValue);
         $profile->save();
         return redirect(route('home'));
     } else {
         return view('profile.create', compact('profile'));
     }
 }
Esempio n. 11
0
 public static function findOrCreateUser($vk_id)
 {
     if (!User::findByVkId($vk_id)) {
         $model = new User();
         $model->vk_id = $vk_id;
         $model->save();
         $profile = new Profile();
         $profile->user_id = $model->id;
         $profile->save();
     }
     return User::findByVkId($vk_id);
 }
Esempio n. 12
0
 /**
  * Create a Profile for a User.
  *
  * @param  ProfileRequest  $request
  * @param  int  $uid
  * @return Response
  */
 public function store(ProfileRequest $request, $uid)
 {
     try {
         $user = User::find($uid);
         if (!$user) {
             return response()->error(404, 'User Not Found');
         }
         $profile = new Profile($request->all());
         $profile->user()->associate($user);
         $profile->save();
         return response()->success();
     } catch (Exception $e) {
         return response()->error();
     }
 }
Esempio n. 13
0
 private function createShop($login, $buyer_bonus, $recommender_bonus)
 {
     $user = new User();
     $user->email = $login;
     $user->setPassword($user->email);
     $user->generateAuthKey();
     $user->save(false);
     $profile = new Profile();
     $profile->user_id = $user->id;
     $profile->url = 'https://temp-mail.ru';
     $profile->buyer_bonus = $buyer_bonus;
     $profile->recommender_bonus = $recommender_bonus;
     $profile->save(false);
     $this->auth->assign($this->auth->createRole(User::ROLE_SHOP), $user->id);
     return $user;
 }
Esempio n. 14
0
 /**
  * Register a new Regular User and create its owner Profile.
  *
  * @param  RegisterUserRequest  $request
  * @return Response
  */
 function signup(RegisterUserRequest $request)
 {
     try {
         $user = ['username' => $request->username, 'email' => $request->email, 'password' => $request->password];
         $user = Sentinel::registerAndActivate($user);
         $role = Sentinel::findRoleByName('Regular User');
         $role->users()->attach($user);
         $user->permissions = $role->permissions;
         $user->save();
         $profile = ['is_owner' => true, 'email' => $request->email, 'phone' => $request->phone, 'first_name' => $request->first_name, 'middle_name' => $request->middle_name, 'last_name' => $request->last_name, 'city' => $request->city, 'country' => $request->country, 'birthdate' => $request->birthdate, 'gender' => $request->gender];
         $profile = new Profile($profile);
         $profile->user()->associate($user);
         $profile->save();
         Log::info('[User] ' . $request->ip() . ' registered User ' . $user->getKey());
         return $this->signin($request);
     } catch (Exception $e) {
         return response()->error();
     }
 }
Esempio n. 15
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     // ---------------------------------------------------------------------
     // CONFERENCE 1
     // ---------------------------------------------------------------------
     $faker = Faker::create();
     $user = Sentinel::findById(6);
     $conference = Conference::find(1);
     $countries = ['Canada', 'France', 'India', 'United States'];
     $genders = ['female', 'male'];
     for ($i = 0; $i < 100; ++$i) {
         $profile = ['first_name' => $faker->firstName, 'last_name' => $faker->lastName, 'city' => $faker->city, 'country' => $countries[rand(0, 3)], 'birthdate' => $faker->date($format = 'Y-m-d', $max = 'now'), 'gender' => $genders[rand(0, 1)]];
         $profile = new Profile($profile);
         $profile->user()->associate($user);
         $profile->save();
         $profile->conferences()->attach($conference->id, ['birthdate' => $profile->birthdate, 'country' => $profile->country, 'gender' => $profile->gender, 'status' => 'approved']);
         $conference->increment('attendee_count');
     }
     // ---------------------------------------------------------------------
     // CONFERENCE 2
     // ---------------------------------------------------------------------
     $conference = Conference::find(2);
     $event = $conference->events()->first();
     $room = $conference->accommodations()->first()->rooms()->first();
     $conferenceVehicle = $conference->vehicles()->first();
     $eventVehicle = $event->vehicles()->first();
     for ($i = 1; $i <= 7; ++$i) {
         $profile = Profile::find($i);
         $attendee = ['email' => $profile->email, 'phone' => $profile->phone, 'first_name' => $profile->first_name, 'middle_name' => $profile->middle_name, 'last_name' => $profile->last_name, 'city' => $profile->city, 'country' => $profile->country, 'birthdate' => $profile->birthdate, 'gender' => $profile->gender, 'accommodation_req' => true, 'accommodation_pref' => 1, 'arrv_ride_req' => true, 'arrv_date' => '2016-04-08', 'arrv_time' => '21:30', 'arrv_airport' => 'DEL', 'arrv_flight' => 'AC2273', 'dept_ride_req' => false, 'status' => 'approved'];
         $profile->conferences()->attach($conference, $attendee);
         $conference->increment('attendee_count');
         $profile->events()->attach($event);
         $profile->rooms()->attach($room);
         $room->increment('guest_count');
         $profile->conferenceVehicles()->attach($conferenceVehicle);
         $conferenceVehicle->increment('passenger_count');
         $profile->eventVehicles()->attach($eventVehicle);
         $eventVehicle->increment('passenger_count');
     }
 }
 /**
  * @param Profile $profile
  */
 public function updateImage(Profile $profile)
 {
     // Upload the file to a temp folder and get the file extension
     $upload = Input::file('image');
     $extension = $upload->getClientOriginalExtension();
     // Use intervention image to create the new file with the proper dimensions
     // TODO: Instead of resize, figure out a way to maintain the aspect ratio
     $image = Image::make($upload);
     //->resize(150, 150);
     // Fix the new file extension
     $image->extension = $extension;
     // Prepare to move the file to the proper folder and with the proper unique name
     $newPath = public_path() . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'upload';
     $newName = $profile->id . '_t.' . $image->extension;
     // Remove the existing file if needed
     if (!empty($profile->image)) {
         unlink(public_path() . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'upload' . DIRECTORY_SEPARATOR . $profile->image);
     }
     // Save the image and the profile
     $image->save($newPath . '/' . $newName);
     $profile->image = $newName;
     $profile->save();
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $rules = ['title' => 'required', 'url' => 'required'];
     $this->validate($request, $rules);
     $file = $request->file('image');
     $child = new Profile();
     /*
      * storing and converting image to 200 * 200 also
      */
     if ($file !== null) {
         $extension = $file->getClientOriginalExtension();
         $resizeName = $file->getFilename() . '-200.' . $extension;
         $imagePath = $file->getFilename() . '.' . $extension;
         $image = $file->move($this->imagePath, $imagePath, File::get($file));
         Image::make($image->getRealPath())->resize(200, 200)->save($this->imagePath . $resizeName);
         $child->child_pic_resize = $resizeName;
         $child->child_pic = $imagePath;
     }
     $child->child_name = $request->title;
     $child->child_home_url = $request->url;
     $child->parent_id = Auth::user()->id;
     $child->save();
     return redirect('profile');
 }
Esempio n. 18
0
 public function createProfile($id)
 {
     $profile = new Profile();
     $profile->id = $id;
     $profile->save(false);
 }
 public function facebookCallback()
 {
     try {
         $state = $this->security->getToken();
         $code = $this->request->getQuery('code');
         $error = $this->request->getQuery('error');
         $callback = $this->request->getQuery('callback');
         if (!empty($error)) {
             if ($error === 'access_denied') {
                 throw new FbCallbackException('FB authorization error: ' . $error);
             } else {
                 throw new FbCallbackException('FB authorization error: ' . $error);
             }
         }
         if (empty($code)) {
             throw new FbCallbackException('Ups, something went wrong during authorization');
         }
         $facebook_response = $this->facebook->getAccessToken($code, $state, $callback);
         $access_token = $facebook_response->access_token;
         $uid = $this->facebook->getUid($access_token);
         $profile = Profile::findFirst(['uid = ?0', 'bind' => [$uid]]);
         if (empty($profile)) {
             // No user, let's register it
             // TODO: encrypt access_token
             // TODO: Change default facebook avatar by ours
             // TODO: if user doesn't provide us with email we can't register it
             // TODO: facebook date format can vary
             $me = $this->facebook->me($access_token);
             // Create user
             $user = new User();
             $user = $user->assignFromFacebook($me);
             if ($user->save()) {
                 // Create profile and assign to the user
                 $profile = new Profile();
                 $profile->createFromFacebook($me->id, $access_token, $user->id);
                 return new Response(json_encode($user));
             } else {
                 throw new InvalidFbUser($user);
             }
         } else {
             // User already registered, update access_token
             $profile->save(['access_token' => $access_token]);
             $user = $profile->getUser();
             return new Response(json_encode($user->toArray()));
         }
     } catch (FbCallbackException $e) {
         return $e->returnResponse();
     } catch (InvalidFbUser $e) {
         return $e->returnResponse();
     } catch (\Exception $e) {
         return new Response($e->getMessage(), 409);
     }
 }
Esempio n. 20
0
 /**
  * Signs user up.
  *
  * @return User|null the saved model or null if saving fails
  */
 public function signup()
 {
     $session = new Session();
     $session->open();
     if ($this->validate()) {
         $user = new User();
         $user->email = $this->email;
         //$generatePassword = $this->generate_password();
         $user->setPassword($this->password);
         $user->status = User::STATUS_ACTIVE;
         $user->generateAuthKey();
         $user->generateEmailConfirmToken();
         if ($user->save()) {
             $profile = new Profile();
             $profile->user_id = $user->id;
             $profile->name = $this->name;
             $profile->save();
             //                $mailer =  new \yii\swiftmailer\Mailer;
             //
             //
             //                $mailer->compose()
             //                    ->setFrom(['*****@*****.**' => '*****@*****.**'])
             //                    ->setTo($this->email)
             //                    ->setSubject('Email confirmation for ' . Yii::$app->name)
             //                    ->setTextBody('Plain text content')
             //                    ->setHtmlBody('<b>HTML content</b>')
             //                    ->send();
             //                $transport = Swift_SmtpTransport::newInstance('smtp.example.org', 25)
             //                    ->setUsername('username')
             //                    ->setPassword('password');
             //
             //
             //                Yii::$app->mailer->compose()
             //                    ->createTransport([
             //                        'class' => 'Swift_SmtpTransport',
             //                        'host' => 'smtp.gmail.com',
             //                        'username' => '*****@*****.**',
             //                        'password' => 'mailmechomu',
             //                        'port' => '25',
             //                        'encryption' => 'TLS'])
             //                    ->setFrom([Yii::$app->params['welcomeEmail'] => Yii::$app->name])
             //                    ->setTo($this->email)
             //                    ->setSubject('Email confirmation for ' . Yii::$app->name)
             //                    ->setTextBody('Plain text content')
             //                    ->setHtmlBody('<b>HTML content</b>')
             //                    ->send();
             //                $link = 'test';
             //                $message = 'hello your link <a href="http://' . $link . '">' . $link . '</a>';
             //
             //
             //                Yii::$app->mailer->compose()
             //                    ->setFrom('*****@*****.**')
             //                    ->setTo($this->email)
             //                    ->setSubject('Confirmation subscribes')
             //                    ->setHtmlBody($message)
             //                    ->send();
         }
         return $user;
     }
     return null;
 }
Esempio n. 21
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $SYSTEM_ADMINISTRATOR = Sentinel::findRoleByName('System Administrator');
     $CONFERENCE_MANAGER = Sentinel::findRoleByName('Conference Manager');
     $EVENT_MANAGER = Sentinel::findRoleByName('Event Manager');
     $REGULAR_USER = Sentinel::findRoleByName('Regular User');
     // ---------------------------------------------------------------------
     // USER 1
     // ---------------------------------------------------------------------
     $user = ['username' => 'admin', 'email' => '*****@*****.**', 'password' => 'password1'];
     $user = Sentinel::registerAndActivate($user);
     $role = $SYSTEM_ADMINISTRATOR;
     $role->users()->attach($user);
     $user->permissions = $role->permissions;
     $user->save();
     $profile = ['is_owner' => true, 'email' => $user->email, 'phone' => '6041234567', 'first_name' => 'System', 'last_name' => 'Administrator', 'city' => 'Vancouver', 'country' => 'Canada', 'gender' => 'male'];
     $profile = new Profile($profile);
     $profile->user()->associate($user);
     $profile->save();
     // ---------------------------------------------------------------------
     // USER 2
     // ---------------------------------------------------------------------
     $user = ['username' => 'haniel', 'email' => '*****@*****.**', 'password' => 'password1'];
     $user = Sentinel::registerAndActivate($user);
     $role = $CONFERENCE_MANAGER;
     $role->users()->attach($user);
     $user->permissions = $role->permissions;
     $user->save();
     $profile = ['is_owner' => true, 'email' => $user->email, 'phone' => '6041234567', 'first_name' => 'Haniel', 'last_name' => 'Martino', 'city' => 'Vancouver', 'country' => 'Canada', 'gender' => 'male'];
     $profile = new Profile($profile);
     $profile->user()->associate($user);
     $profile->save();
     // ---------------------------------------------------------------------
     // UESR 3
     // ---------------------------------------------------------------------
     $user = ['username' => 'viggy', 'email' => '*****@*****.**', 'password' => 'password1'];
     $user = Sentinel::registerAndActivate($user);
     $role = $CONFERENCE_MANAGER;
     $role->users()->attach($user);
     $user->permissions = $role->permissions;
     $user->save();
     $profile = ['is_owner' => true, 'email' => $user->email, 'phone' => '6041234567', 'first_name' => 'Vincent', 'last_name' => 'Lore', 'city' => 'Vancouver', 'country' => 'Canada', 'birthdate' => '1993-02-08', 'gender' => 'male'];
     $profile = new Profile($profile);
     $profile->user()->associate($user);
     $profile->save();
     // ---------------------------------------------------------------------
     // USER 4
     // ---------------------------------------------------------------------
     $user = ['username' => 'gabby', 'email' => '*****@*****.**', 'password' => 'password1'];
     $user = Sentinel::registerAndActivate($user);
     $role = $CONFERENCE_MANAGER;
     $role->users()->attach($user);
     $user->permissions = $role->permissions;
     $user->save();
     $profile = ['is_owner' => true, 'email' => $user->email, 'phone' => '6041234567', 'first_name' => 'Gabriela', 'last_name' => 'Hernandez', 'city' => 'Vancouver', 'country' => 'Canada', 'birthdate' => '1993-02-16', 'gender' => 'female'];
     $profile = new Profile($profile);
     $profile->user()->associate($user);
     $profile->save();
     // ---------------------------------------------------------------------
     // USER 5
     // ---------------------------------------------------------------------
     $user = ['username' => 'james', 'email' => '*****@*****.**', 'password' => 'password1'];
     $user = Sentinel::registerAndActivate($user);
     $role = $CONFERENCE_MANAGER;
     $role->users()->attach($user);
     $user->permissions = $role->permissions;
     $user->save();
     $profile = ['is_owner' => true, 'email' => $user->email, 'phone' => '6041234567', 'first_name' => 'James', 'last_name' => 'Ma', 'city' => 'Vancouver', 'country' => 'Canada', 'birthdate' => '1992-01-23', 'gender' => 'male'];
     $profile = new Profile($profile);
     $profile->user()->associate($user);
     $profile->save();
     // ---------------------------------------------------------------------
     // USER 6
     // ---------------------------------------------------------------------
     $user = ['username' => 'martin', 'email' => '*****@*****.**', 'password' => 'password1'];
     $user = Sentinel::registerAndActivate($user);
     $role = $CONFERENCE_MANAGER;
     $role->users()->attach($user);
     $user->permissions = $role->permissions;
     $user->save();
     $profile = ['is_owner' => true, 'email' => $user->email, 'phone' => '6041234567', 'first_name' => 'Martin', 'last_name' => 'Tsang', 'city' => 'Vancouver', 'country' => 'Canada', 'birthdate' => '1993-05-15', 'gender' => 'male'];
     $profile = new Profile($profile);
     $profile->user()->associate($user);
     $profile->save();
     // ---------------------------------------------------------------------
     // USER 7
     // ---------------------------------------------------------------------
     $user = ['username' => 'chris', 'email' => '*****@*****.**', 'password' => 'password1'];
     $user = Sentinel::registerAndActivate($user);
     $role = $CONFERENCE_MANAGER;
     $role->users()->attach($user);
     $user->permissions = $role->permissions;
     $user->save();
     $user->permissions = $role->permissions;
     $user->save();
     $profile = ['is_owner' => true, 'email' => $user->email, 'phone' => '6041234567', 'first_name' => 'Christopher', 'last_name' => 'Yang', 'city' => 'Vancouver', 'country' => 'Canada', 'birthdate' => '1993-08-21', 'gender' => 'male'];
     $profile = new Profile($profile);
     $profile->user()->associate($user);
     $profile->save();
     // ---------------------------------------------------------------------
     // USER 8
     // ---------------------------------------------------------------------
     $user = ['username' => 'john', 'email' => '*****@*****.**', 'password' => 'password1'];
     $user = Sentinel::registerAndActivate($user);
     $role = $REGULAR_USER;
     $role->users()->attach($user);
     $user->permissions = $role->permissions;
     $user->save();
     $profile = ['is_owner' => true, 'email' => $user->email, 'phone' => '6041234567', 'first_name' => 'John', 'last_name' => 'Smith', 'city' => 'Vancouver', 'country' => 'Canada', 'birthdate' => '1980-01-01', 'gender' => 'male'];
     $profile = new Profile($profile);
     $profile->user()->associate($user);
     $profile->save();
     $profile = ['first_name' => 'Mary', 'last_name' => 'Smith', 'city' => 'Vancouver', 'country' => 'Canada', 'birthdate' => '1980-01-01', 'gender' => 'female'];
     $profile = new Profile($profile);
     $profile->user()->associate($user);
     $profile->save();
     $profile = ['first_name' => 'Alice', 'last_name' => 'Smith', 'city' => 'Vancouver', 'country' => 'Canada', 'birthdate' => '2006-01-01', 'gender' => 'female'];
     $profile = new Profile($profile);
     $profile->user()->associate($user);
     $profile->save();
 }
Esempio n. 22
0
 /**
  * Create a new User & Profile model from Tempuser after the payment succeeded
  * @param object $model Tempuser model
  */
 private function createParent($model)
 {
     //$model = Tempuser::findOne($id);
     //Create a user
     $user = new User();
     $user->identity = $model->email;
     $user->_password = $model->password;
     $user->auth_key = Yii::$app->security->generateRandomKey();
     $user->started = $model->started;
     $user->status = $user->parent_id = 0;
     $user->level = 1;
     $user->save();
     //create a profile
     $profile = new Profile();
     $profile->user_id = $model->user_id = $user->id;
     $profile->label = $model->label;
     $profile->first_name = $model->first_name;
     $profile->last_name = $model->last_name;
     $profile->street = $model->street;
     $profile->area = $model->area;
     $profile->city = $model->city;
     $profile->zipcode = $model->zipcode;
     $profile->save();
     $model->save(false);
     //Create spouse if exists
     if ($model->spouse_email != '') {
         $spouse = new User();
         $spouse->identity = $model->spouse_email;
         $spouse->parent_id = $user->id;
         $spouse->status = 0;
         $spouse->auth_key = Yii::$app->security->generateRandomKey();
         $spouse->level = 2;
         $spouse->_password = Yii::$app->security->generateRandomString(8);
         $spouse->save();
         $sprofile = new Profile();
         $sprofile->user_id = $spouse->id;
         $sprofile->label = $model->label == 'Father' ? 'Mother' : 'Father';
         $sprofile->save(false);
         //Send email to spouse
         \Yii::$app->notification->sendMail($model->spouse_email, 3, ['{{name}}' => substr($spouse->identity, 0, strpos('@', $spouse->identity)), '{{member}}' => $user->fullname, '{{username}}' => $spouse->identity, '{{link}}' => Html::a('Activation URL', Yii::$app->urlManager->createAbsoluteUrl(['user/activate/', 'token' => base64_encode($spouse->access_token)]))]);
     }
     //Send email to member
     \Yii::$app->notification->sendMail($model->email, 2, ['{{name}}' => $model->first_name, '{{link}}' => Html::a('Activation URL', Yii::$app->urlManager->createAbsoluteUrl(['user/activate/', 'token' => base64_encode($user->access_token)]))]);
     return $user->id;
 }