Esempio n. 1
0
 public function profileUpdate(UserProfileRequest $request, $id)
 {
     if (Entrust::hasRole('admin')) {
         $user = User::find($id);
     } else {
         $user = User::find(Auth::user()->id);
     }
     if (!$user) {
         return redirect('user')->withErrors(config('constants.INVALID_LINK'));
     }
     if (!Helper::getMode()) {
         return redirect()->back()->withErrors(config('constants.DISABLE_MESSAGE'));
     }
     Activity::log('Profile updated');
     $profile = $user->Profile ?: new Profile();
     $photo = $profile->photo;
     $data = $request->all();
     $profile->fill($data);
     if ($request->hasFile('photo') && $request->input('remove_photo') != 1) {
         $filename = $request->file('photo')->getClientOriginalName();
         $extension = $request->file('photo')->getClientOriginalExtension();
         $filename = uniqid();
         $file = $request->file('photo')->move('uploads/user/', $filename . "." . $extension);
         $img = Image::make('uploads/user/' . $filename . "." . $extension);
         $img->resize(200, null, function ($constraint) {
             $constraint->aspectRatio();
         });
         $img->save('uploads/user/' . $filename . "." . $extension);
         $profile->photo = $filename . "." . $extension;
     } elseif ($request->input('remove_photo') == 1) {
         File::delete('uploads/user/' . $profile->photo);
         $profile->photo = null;
     } else {
         $profile->photo = $photo;
     }
     Helper::updateCustomField($this->form, $user->id, $data);
     $user->profile()->save($profile);
     return redirect('/user/' . $id)->withSuccess(config('constants.SAVED'));
 }