diff --git a/src/FileManager.php b/src/FileManager.php index 7c8bffb..c7a49a4 100644 --- a/src/FileManager.php +++ b/src/FileManager.php @@ -267,12 +267,22 @@ public function paste($disk, $path, $clipboard) */ public function rename($disk, $newName, $oldName) { + if(!$this->AllowTypes($newName)){ + return [ + 'result' => [ + 'status' => 'error', + 'message' => "Failed to rename the file because extension is not allowed", + ], + ]; + } + + Storage::disk($disk)->move($oldName, $newName); return [ 'result' => [ 'status' => 'success', - 'message' => 'renamed', + 'message' => "renamed", ], ]; } @@ -421,6 +431,16 @@ public function createDirectory($disk, $path, $name) */ public function createFile($disk, $path, $name) { + + if(!$this->AllowTypes($name)){ + return [ + 'result' => [ + 'status' => 'error', + 'message' => "Failed to create file because extension is not allowed", + ], + ]; + } + // path for new file $path = $this->newPath($path, $name); @@ -502,4 +522,21 @@ public function streamFile($disk, $path) return Storage::disk($disk) ->response($path, $filename, ['Accept-Ranges' => 'bytes']); } + + + private function AllowTypes($name){ + $ext=explode('.',$name); + $ext=end($ext); + + if ($this->configRepository->getAllowFileTypes() + && !in_array( + $ext, + $this->configRepository->getAllowFileTypes() + ) + ){ + return false; + }else{ + return true ; + } + } }