/**
  * Create a new user instance after a valid registration.
  *
  * @param  array  $data
  * @return User
  */
 protected function create(array $data)
 {
     if (!isset($data['name']) || $data['name'] == '') {
         $name = '';
         if ($data['user_type'] == 'personal') {
             $name = $data['first_name'] . ' ' . $data['last_name'];
         }
     } else {
         $name = $data['name'];
     }
     if ($data['user_type'] == 'company') {
         $name = $data['company_name'];
         $data['first_name'] = '';
         $data['last_name'] = '';
     }
     $user = new User(['is_active' => 1, 'locale' => App::getLocale(), 'name' => $name, 'email' => $data['email'], 'password' => bcrypt($data['password'])]);
     $user->is_active = 1;
     $user->role = 'user';
     $user->type = $data['type'];
     $user->save();
     $profile = new UserProfile(['first_name' => $data['first_name'], 'last_name' => $data['last_name'], 'location' => $data['city'], 'phone' => $data['mobile'], 'last_activity' => Carbon::now()]);
     $profile->user_id = $user->id;
     $profile->type = $data['user_type'];
     $profile->save();
     return $user;
 }
Exemple #2
0
 /**
  * Create a new user instance after a valid registration.
  *
  * @param  array  $data
  * @return User
  */
 protected function create(array $data)
 {
     $user = User::create(['name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), 'last_activity' => \Carbon\Carbon::now()]);
     $profile = new UserProfile(['first_name' => $data['name']]);
     $profile->user_id = $user->id;
     $profile->save();
     return $user;
 }
 /**
  * Creates a new UserProfile model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new UserProfile();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->user_id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
 /**
  * Show the application dashboard.
  *
  * @return \Illuminate\Http\Response
  */
 public function index()
 {
     $user = Auth::user();
     /** @var UserProfile $profile */
     if (!($profile = $user->profile)) {
         $profile = new UserProfile();
         $profile->user_id = $user->id;
         $profile->about = 'Пусто';
         $profile->save();
     }
     return view('home', ['user' => $user, 'profile' => $profile]);
 }
 public function postRegisterAjax(Request $request)
 {
     // try {
     $firstname = $request->input('firstname');
     $lastname = $request->input('lastname');
     $email = $request->input('email');
     $username = $request->input('email');
     $password = $request->input('password');
     try {
         $user = User::where('email', '=', $email)->first();
         if ($user) {
             return ['success' => '0', 'results' => '', 'messages' => 'The account already exists in weDonate.', 'redirect' => ''];
         }
     } catch (Exception $e) {
         Log::error($e);
     }
     // TODO: create a globa function to create a user
     $user = new User();
     $user->uuid = Uuid::generate(4);
     $user->registered_ip = $_SERVER['REMOTE_ADDR'];
     $user->registered_provider = 'email';
     $user->last_login_ip = null;
     $user->last_login_datetime = date('Y-m-d H:i:s');
     $user->email = $email;
     $user->username = $email;
     $user->password = Hash::make($password);
     $user->referrer_code = Uuid::generate(1, '0123456');
     $user->save();
     $profile = new UserProfile();
     $profile->user_id = $user->id;
     $profile->firstname = $firstname;
     $profile->lastname = $lastname;
     if ($request->has('referrer')) {
         $profile->referrer_id = User::where('referrer_code', '=', $request->has('referrer_code'))->first();
     }
     $profile->ranking = (int) User::all()->count();
     $profile->save();
     $role = Role::where('name', '=', 'donator')->first();
     $user->attachRole($role);
     if (Auth::attempt(['username' => $email, 'password' => $password])) {
         Log::info('USer registered, id=' . $user->id);
         return ['success' => '1', 'results' => '', 'messages' => 'Successfully connected.', 'redirect' => route('getDash')];
     } else {
         return ['success' => '0', 'results' => '', 'messages' => 'An errorred occurred.', 'redirect' => ''];
     }
     // } catch (Exception $e) {
     return ['success' => '0', 'results' => '', 'messages' => 'An errorred occurred.', 'redirect' => ''];
     // }
 }
 public function actionProfile($id)
 {
     $model = $this->findModel($id);
     if ($model === null) {
         throw new NotFoundHttpException('The requested page does not exist.');
     } else {
         if (Yii::$app->user->id === $model->id) {
             $profileModel = UserProfile::findOne(['user_id' => Yii::$app->user->id]);
             if (is_null($profileModel)) {
                 $profileModel = new UserProfile();
             }
             $workModel = new UserWorkExperience();
             $query = new Query();
             $query->from(UserWorkExperience::tableName());
             $query->where(['user_id' => $id]);
             $userWorkDataProvider = new ActiveDataProvider(['query' => $query]);
             $educationModel = new UserEducation();
             $query = new Query();
             $query->from(UserEducation::tableName());
             $query->where(['user_id' => $id]);
             $educationDataProvider = new ActiveDataProvider(['query' => $query]);
             $addressModel = new UserAddress();
             $query = new Query();
             $query->from(UserAddress::tableName());
             $query->where(['user_id' => $id]);
             $addressDataProvider = new ActiveDataProvider(['query' => $query]);
             if ($profileModel->load(Yii::$app->request->post()) && $profileModel->beforeSave(true) && $profileModel->save()) {
             }
             if ($workModel->load(Yii::$app->request->post()) && ($workModel->user_id = $model->id) && $workModel->beforeSave(true) && $workModel->save()) {
                 $workModel = new UserWorkExperience();
             }
             if ($educationModel->load(Yii::$app->request->post()) && ($educationModel->user_id = $model->id) && $educationModel->beforeSave(true) && $educationModel->save()) {
                 $educationModel = new UserEducation();
             }
             if ($addressModel->load(Yii::$app->request->post()) && ($addressModel->user_id = $model->id) && $addressModel->beforeSave(true) && $addressModel->save()) {
                 $addressModel = new UserAddress();
             }
             return $this->render('profile', ['model' => $model, 'profileModel' => $profileModel, 'workModel' => $workModel, 'workDataProvider' => $userWorkDataProvider, 'educationModel' => $educationModel, 'educationDataProvider' => $educationDataProvider, 'addressModel' => $addressModel, 'addressDataProvider' => $addressDataProvider]);
         } else {
             throw new NotFoundHttpException('Access Denied. You need to be owner to perform this operation.');
         }
     }
 }
 public function store(Request $request)
 {
     $rules = ['category' => 'required|numeric|exists:categories,id', 'sub_category' => 'required|numeric|exists:categories,id', 'title' => 'required|min:5|max:255', 'subtitle' => 'required|min:5', 'photo' => 'image|max:3500', 'event_date' => 'date', 'event_time' => 'date_format:H:i', 'address' => 'min:5|max:255', 'location' => 'required|numeric|exists:locations,id', 'is_priced' => 'required|boolean', 'price' => 'required_if:is_priced,1|numeric', 'is_sms' => 'boolean', 'is_email' => 'boolean', 'taskers_only' => 'boolean', 'no_comments' => 'boolean', 'agree' => 'accepted'];
     if (!$this->user) {
         $rules['name'] = 'required|min:2|max:255';
         $rules['email'] = 'required|email|unique:users,email';
         $rules['mobile'] = 'required|min:5|max:16';
     }
     $this->validate($request, $rules);
     $data = $request->all();
     if (!$this->user) {
         $user = new User(['is_active' => 1, 'locale' => App::getLocale(), 'name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt(substr(uniqid(), 0, 8))]);
         $user->is_active = 1;
         $user->role = 'user';
         $user->type = 'client';
         $user->save();
         $profile = new UserProfile(['first_name' => $data['name'], 'last_name' => '', 'location' => $data['location'], 'phone' => $data['mobile'], 'last_activity' => Carbon::now()]);
         $profile->user_id = $user->id;
         $profile->type = 'personal';
         $profile->save();
         Auth::login($user);
         $this->user = $user;
     }
     $task = new Task(['is_active' => 1, 'status' => 'bidding', 'category_id' => $data['sub_category'], 'location_id' => $data['location'], 'title' => $data['title'], 'subtitle' => $data['subtitle'], 'address' => $data['address'], 'price' => floatval($data['price']), 'event_date' => new Carbon($data['event_date']), 'event_time' => $data['event_time'], 'sms' => isset($data['is_sms']) ? $data['is_sms'] : 0, 'email' => isset($data['is_email']) ? $data['is_email'] : 0, 'taskers_only' => isset($data['taskers_only']) ? $data['taskers_only'] : 0, 'comments_public' => isset($data['no_comments']) ? !$data['no_comments'] : 1]);
     $task->user_id = $this->user->id;
     $task->save();
     $photo = $request->file('photo');
     if ($photo) {
         $ext = strtolower($photo->getClientOriginalExtension());
         $photoFile = TaskMapper::generatePhotoPath($task, $ext);
         $photo = $photo->move(pathinfo($photoFile, PATHINFO_DIRNAME), pathinfo($photoFile, PATHINFO_BASENAME));
         $task->photo = $photo->getFilename();
         $task->save();
     }
     return redirect('/task/show/' . $task->id);
 }
 /**
  * Upload cover image.
  * 
  * @param Request $request
  * 
  * @return AJAX
  */
 function uploadCover(Request $request)
 {
     if ($request->isMethod('POST')) {
         $rules = $this->_getCoverRules();
         $messages = $this->_getCoverMessages();
         $validator = Validator::make($request->all(), $rules, $messages);
         if ($validator->fails()) {
             return file_pong(['messages' => $validator->errors()->first()], _error(), 403);
         }
         if ($request->file('__file')->isValid()) {
             $avatar = $request->file('__file');
             $storagePath = config('frontend.coversFolder');
             $mediumSizeW = (int) config('frontend.coverMediumW');
             $mediumSizeH = (int) config('frontend.coverMediumH');
             $mediumName = generate_filename($storagePath, $avatar->getClientOriginalExtension(), ['prefix' => 'cover_', 'suffix' => "_{$mediumSizeW}x{$mediumSizeH}"]);
             $avatar->move($storagePath, $mediumName);
             $image = ImageIntervention::make($storagePath . '/' . $mediumName)->orientate();
             $image->fit($mediumSizeW, $mediumSizeH, function ($constraint) {
                 $constraint->upsize();
             });
             $image->save();
             $userProfile = user()->userProfile;
             if (is_null($userProfile)) {
                 $userProfile = new UserProfile();
                 $userProfile->user_id = user()->id;
             } else {
                 $avatarImg = unserialize($userProfile->cover_image);
                 if (isset($avatarImg[$mediumSizeW])) {
                     delete_file($storagePath . '/' . $avatarImg[$mediumSizeW]);
                 }
             }
             $userProfile->cover_image = serialize(array($mediumSizeW => $mediumName));
             $userProfile->save();
             return file_pong(['cover_medium' => $storagePath . '/' . $mediumName]);
         }
         return file_pong(['messages' => _t('opps')], _error(), 403);
     }
 }
 public function run()
 {
     //UserID/Email: admin@wedonate.org & password: admin
     $user1 = new User();
     $user1->email = '*****@*****.**';
     $user1->username = '******';
     $user1->registered_provider = 'email';
     $user1->password = Hash::make('admin');
     $user1->uuid = Uuid::generate(4);
     $user1->registered_ip = '127.0.0.1';
     $user1->last_login_ip = null;
     $user1->last_login_datetime = date('Y-m-d H:i:s');
     $user1->referrer_code = Uuid::generate(1, '0123456');
     $user1->save();
     $profile1 = new UserProfile();
     $profile1->user_id = $user1->id;
     $profile1->display_name = 'Admin';
     $profile1->firstname = 'Admin';
     $profile1->lastname = 'WeDonate';
     $profile1->ranking = 0;
     $profile1->save();
     $user = new User();
     $user->email = '*****@*****.**';
     $user->username = '******';
     $user->registered_provider = 'email';
     $user->password = Hash::make('Widaudtwdm#7');
     $user->uuid = Uuid::generate(4);
     $user->registered_ip = '127.0.0.1';
     $user->last_login_ip = null;
     $user->last_login_datetime = date('Y-m-d H:i:s');
     $user->referrer_code = Uuid::generate(1, '0123456');
     $user->save();
     $profile = new UserProfile();
     $profile->user_id = $user->id;
     $profile->display_name = '#J';
     $profile->firstname = '#J';
     $profile->lastname = '';
     $profile->ranking = 1;
     $profile->save();
     $role = new Role();
     $role->name = 'developer';
     $role->display_name = 'Developer';
     $role->description = 'Developer priveleges. Everything activated.';
     $role->save();
     $user2 = new User();
     $user2->email = '*****@*****.**';
     $user2->username = '******';
     $user2->registered_provider = 'email';
     $user2->password = Hash::make('cyanacid13');
     $user2->uuid = Uuid::generate(4);
     $user2->registered_ip = '127.0.0.1';
     $user2->last_login_ip = null;
     $user2->last_login_datetime = date('Y-m-d H:i:s');
     $user2->referrer_code = Uuid::generate(1, '0123456');
     $user2->save();
     $profile2 = new UserProfile();
     $profile2->user_id = $user2->id;
     $profile2->display_name = 'Tuan Bui';
     $profile2->firstname = 'Tuan';
     $profile2->lastname = 'Bui';
     $profile2->ranking = 0;
     $profile2->save();
     $role2 = new Role();
     $role2->name = 'donator';
     $role2->display_name = 'Donator';
     $role2->description = 'Donator.';
     $role2->save();
     $user1 = User::where('email', '=', '*****@*****.**')->first();
     $user1->attachRole($role);
     $user2 = User::where('email', '=', '*****@*****.**')->first();
     $user2->attachRole($role);
     $user = User::where('email', '=', '*****@*****.**')->first();
     $user->attachRole($role2);
     $permission_admin = new Permission();
     $permission_admin->name = 'developer';
     $permission_admin->display_name = 'Developer';
     $permission_admin->description = 'Developer priveleges. Everything activated.';
     $permission_admin->save();
     $permission_donator = new Permission();
     $permission_donator->name = 'donator';
     $permission_donator->display_name = 'Donator';
     $permission_donator->description = 'Donator priveleges. Limit activated.';
     $permission_donator->save();
     $role->attachPermission($permission_admin);
     $role2->attachPermission($permission_donator);
 }
 public function postUserCreate(Request $request)
 {
     //Start transaction
     DB::beginTransaction();
     try {
         $firstname = $request->input('firstname');
         $lastname = $request->input('lastname');
         $email = $request->input('email');
         $username = $request->input('email');
         $password = $request->input('password');
         try {
             $user = User::where('email', '=', $email)->first();
             if ($user) {
                 return ['success' => '0', 'results' => '', 'messages' => 'The account already exists in weDonate.', 'redirect' => ''];
             }
         } catch (Exception $e) {
         }
         // TODO: create a globa function to create a user
         $user = new User();
         $user->uuid = Uuid::generate(4);
         $user->registered_ip = $_SERVER['REMOTE_ADDR'];
         $user->registered_provider = 'email';
         $user->last_login_ip = null;
         $user->last_login_datetime = date('Y-m-d H:i:s');
         $user->email = $email;
         $user->username = $email;
         $user->password = Hash::make($password);
         $user->referrer_code = Uuid::generate(1, '0123456');
         $user->save();
         $profile = new UserProfile();
         $profile->user_id = $user->id;
         $profile->firstname = $firstname;
         $profile->lastname = $lastname;
         if ($request->has('referrer')) {
             $profile->referrer_id = User::where('referrer_code', '=', $request->has('referrer_code'))->first();
         }
         $profile->ranking = (int) User::all()->count();
         $profile->save();
         $role = Role::where('id', '=', $request->input('role'))->first();
         $user->attachRole($role);
         Log::info('User created, id=' . $user->uuid);
         //send email
         $message = $this->sendEmail($email, $user->id);
         // If we reach here, then
         // data is valid and working.
         // Commit the queries!
         DB::commit();
         return redirect(route('getUserCreate'))->withFlashMessage($message);
     } catch (Exception $e) {
         DB::rollback();
         throw $e;
     }
 }