diff --git a/app/Http/Controllers/Frontend/ProfileController.php b/app/Http/Controllers/Frontend/ProfileController.php index 9f9ad2ac..b6d88d21 100644 --- a/app/Http/Controllers/Frontend/ProfileController.php +++ b/app/Http/Controllers/Frontend/ProfileController.php @@ -16,6 +16,8 @@ use Illuminate\Support\Facades\Auth; use Jackiedo\Timezonelist\Facades\Timezonelist; use Log; use Validator; +use Intervention\Image\Facades\Image; +use Illuminate\Support\Facades\Storage; /** * Class ProfileController @@ -121,7 +123,8 @@ class ProfileController extends Controller 'name' => 'required', 'email' => 'required|unique:users,email,'.$id, 'airline_id' => 'required', - 'password' => 'confirmed' + 'password' => 'confirmed', + 'avatar' => 'present|mimes:jpeg,png,jpg', ]); if ($validator->fails()) { @@ -140,6 +143,17 @@ class ProfileController extends Controller $req_data['password'] = Hash::make($req_data['password']); } + if ($req_data['avatar'] !== null) { + Storage::delete($user->avatar); + } + if ($request->hasFile('avatar')) { + $avatar = $request->file('avatar'); + $file_name = $user->pilot_id . '.' .$avatar->getClientOriginalExtension(); + $path = "uploads/avatars/{$file_name}"; + Image::make($avatar)->resize(config('phpvms.avatar.width'), config('phpvms.avatar.height'))->save(public_path('uploads/avatars/'.$file_name)); + $req_data['avatar'] = $path; + } + $this->userRepo->update($req_data, $id); Flash::success('Profile updated successfully!');