public function profileAvatarUpdate(Request $request) { $user = \Auth::user(); if (!is_null($user)) { try { $action = $request->header('ACTION'); if (isset($action) && !is_null($action)) { $up = $user->userProfile; $uploader = new UploadHandler(); if ($action == 'UPDATE') { if ($request->hasFile('avatar_image_path')) { $avatarFilename = null; if (!is_null($up) && isset($up->avatar_image_path)) { $avatarFilename = $up->avatar_image_path; // If the extension has changed from the last upload // get the new filename and save it back to the DB // also delete the old file off the filesystem $changedFilename = $uploader->getNewImageExtension($request->file('avatar_image_path')->getClientOriginalName(), $avatarFilename); if ($changedFilename !== $avatarFilename) { $up->avatar_image_path = $changedFilename; $up->save(); $uploader->removeAvatar($avatarFilename); $avatarFilename = $changedFilename; } } $newFilename = $uploader->uploadAvatar($request->file('avatar_image_path'), $avatarFilename); if (!is_null($up)) { $up->avatar_image_path = $newFilename; $up->save(); } else { // UserProfile doesn't exist, create a row $input = ['user_id' => $user->id, 'avatar_image_path' => $newFilename]; $user->userProfile()->create($input); } $request->session()->put(config('app.session_key_avatar'), $newFilename); return response()->json(['error' => false, 'code' => 200, 'filename' => $newFilename], 200); } } else { if ($action == 'DELETE') { // Remove existing avatar if (!is_null($up)) { $uploader->removeAvatar($up->avatar_image_path); $up->avatar_image_path = null; $up->save(); } $request->session()->forget(config('app.session_key_avatar')); return response()->json(['error' => false, 'code' => 200], 200); } else { if ($action == 'CROP') { $cropData = explode(';', $request->header('cropdata')); $uploader->cropAvatar($up->avatar_image_path, $cropData); return response()->json(['error' => false, 'code' => 200, 'filename' => $up->avatar_image_path], 200); } } } } } catch (\Exception $ex) { return response()->json(['error' => true, 'message' => 'Server error while uploading/saving/deleting', 'exception' => $ex->getMessage(), 'code' => 500], 500); } } return redirect('/'); }
public function editUser(Request $request) { $action = $request->input('action'); $userId = $request->input('userid'); if ($action === 'UPDATE') { $user = $this->dataAccess->getUser($userId, 'roles'); if ($request->input('password') != '') { $user->password = bcrypt($request->input('password')); $user->save(); } $user->detachRoles($user->roles); $user->attachRole($request->input('role')); return redirect('admin/userview/' . $userId)->with('successMessage', 'User updated'); } else { if ($action === 'DELETE') { $uploader = new UploadHandler(); $user = $this->dataAccess->getUser($userId, 'roles'); $user->detachRoles($user->roles); $up = $user->userProfile; if (!is_null($up)) { $uploader->removeAvatar($up->avatar_image_path); } $this->dataAccess->deleteUser($userId); return redirect('admin/users')->with('successMessage', 'User deleted'); } } }