folder delete fix

This commit is contained in:
Peter Papp
2020-08-19 06:10:07 +02:00
parent 5f5caae9e7
commit 3e6e046dfc
2 changed files with 11 additions and 11 deletions
@@ -179,7 +179,7 @@ class EditItemsController extends Controller
if ($request->user()->tokenCan('editor')) { if ($request->user()->tokenCan('editor')) {
// Prevent force delete for non-master users // Prevent force delete for non-master users
if ($request->force_delete) abort('401'); if ($request->input('data.force_delete')) abort('401');
// check if shared_token cookie exist // check if shared_token cookie exist
if (!$request->hasCookie('shared_token')) abort('401'); if (!$request->hasCookie('shared_token')) abort('401');
@@ -188,10 +188,10 @@ class EditItemsController extends Controller
$shared = get_shared($request->cookie('shared_token')); $shared = get_shared($request->cookie('shared_token'));
// Get file|folder item // Get file|folder item
$item = get_item($request->type, $unique_id, Auth::id()); $item = get_item($request->input('data.type'), $unique_id, Auth::id());
// Check access to requested directory // Check access to requested directory
if ($request->type === 'folder') { if ($request->input('data.type') === 'folder') {
Guardian::check_item_access($item->unique_id, $shared); Guardian::check_item_access($item->unique_id, $shared);
} else { } else {
Guardian::check_item_access($item->folder_id, $shared); Guardian::check_item_access($item->folder_id, $shared);
@@ -228,10 +228,10 @@ class EditItemsController extends Controller
if (!is_editor($shared)) abort(403); if (!is_editor($shared)) abort(403);
// Get file|folder item // Get file|folder item
$item = get_item($request->type, $unique_id, $shared->user_id); $item = get_item($request->input('data.type'), $unique_id, $shared->user_id);
// Check access to requested item // Check access to requested item
if ($request->type === 'folder') { if ($request->input('data.type') === 'folder') {
Guardian::check_item_access($item->unique_id, $shared); Guardian::check_item_access($item->unique_id, $shared);
} else { } else {
Guardian::check_item_access($item->folder_id, $shared); Guardian::check_item_access($item->folder_id, $shared);
+6 -6
View File
@@ -92,7 +92,7 @@ class Editor
$user = is_null($shared) ? Auth::user() : User::findOrFail($shared->user_id); $user = is_null($shared) ? Auth::user() : User::findOrFail($shared->user_id);
// Delete folder // Delete folder
if ($request->type === 'folder') { if ($request->input('data.type') === 'folder') {
// Get folder // Get folder
$folder = FileManagerFolder::withTrashed() $folder = FileManagerFolder::withTrashed()
@@ -113,7 +113,7 @@ class Editor
} }
// Force delete children files // Force delete children files
if ($request->force_delete) { if ($request->input('data.force_delete')) {
// Get children folder ids // Get children folder ids
$child_folders = filter_folders_ids($folder->trashed_folders, 'unique_id'); $child_folders = filter_folders_ids($folder->trashed_folders, 'unique_id');
@@ -142,7 +142,7 @@ class Editor
} }
// Soft delete items // Soft delete items
if (!$request->force_delete) { if (!$request->input('data.force_delete')) {
// Remove folder from user favourites // Remove folder from user favourites
$user->favourite_folders()->detach($unique_id); $user->favourite_folders()->detach($unique_id);
@@ -153,7 +153,7 @@ class Editor
} }
// Delete item // Delete item
if ($request->type !== 'folder') { if ($request->input('data.type') !== 'folder') {
// Get file // Get file
$file = FileManagerFile::withTrashed() $file = FileManagerFile::withTrashed()
@@ -173,7 +173,7 @@ class Editor
} }
// Force delete file // Force delete file
if ($request->force_delete) { if ($request->input('data.force_delete')) {
// Delete file // Delete file
Storage::delete('/file-manager/' . $file->basename); Storage::delete('/file-manager/' . $file->basename);
@@ -186,7 +186,7 @@ class Editor
} }
// Soft delete file // Soft delete file
if (!$request->force_delete) { if (!$request->input('data.force_delete')) {
// Soft delete file // Soft delete file
$file->delete(); $file->delete();