Esempio n. 1
0
 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('/');
 }
Esempio n. 2
0
 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');
         }
     }
 }