/** * Handles avatar change * * @param ChangeAvatarRequest $request * * @return \Illuminate\Http\RedirectResponse */ public function postChangeAvatar(ChangeAvatarRequest $request) { if (Settings::get('use_avatars')) { Session::put('profile_tab', 'avatar'); $response = null; // If avatar presented - delete it if (Auth::user()->avatar) { $response = Icr::deleteImage(Auth::user()->avatar, 'avatar'); } // Handle delete error if ($response instanceof \Exception) { flash()->error($response->getMessage()); return redirect()->back(); } // Upload new avatar image $response = Icr::uploadImage($request->file('avatar'), 'avatar'); // Handle upload errors if ($response instanceof \Exception) { flash()->error($response->getMessage()); return redirect()->back(); } // Change avatar in database Auth::user()->changeAvatar($response); flash()->success(trans('users.avatar_changed')); } return redirect()->back(); }
/** * Handles user edit * * @param EditUserRequest $request * @param int $id User id * * @return \Illuminate\Http\RedirectResponse */ public function putEdit(EditUserRequest $request, $id) { $user = User::find($id); $user->changeProfile($request); if ($user->hasRole('admin') && count($user->getAdmins(false, true)) <= 1 && (!in_array(1, $request->input('roles')) || !$request->input('active'))) { flash()->error(trans('users.can_not_edit')); return redirect()->back(); } else { UserRole::where('user_id', $user->id)->delete(); $user->roles()->attach($request->input('roles')); $user->changeSettings($request); } if ($request->file('avatar') && Settings::get('use_avatars')) { $response = Icr::uploadImage($request->file('avatar'), 'avatar'); if ($response instanceof \Exception) { flash()->error($response->getMessage()); return redirect()->back(); } $user->changeAvatar($response); } $user->save(); User::flushCache($user); flash()->success(trans('users.edit_success')); return redirect()->back(); }