From 0d8148f22d189527fc94394454650ed7d050aeaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Tue, 26 Jul 2016 15:31:01 +0200 Subject: [PATCH] FEATURE: allow multiple uploads --- app/Http/Controllers/Admin/UploadFile.php | 27 ++++--- app/Http/Requests/Request.php | 8 +- app/Http/Requests/UploadFileRequest.php | 14 ---- resources/lang/cs/admin/fileManager.php | 76 +++++++++---------- resources/lang/en/admin/fileManager.php | 2 +- .../admin/fileManager/newFileForm.blade.php | 6 +- 6 files changed, 63 insertions(+), 70 deletions(-) delete mode 100644 app/Http/Requests/UploadFileRequest.php diff --git a/app/Http/Controllers/Admin/UploadFile.php b/app/Http/Controllers/Admin/UploadFile.php index 8e933a44..32a2e434 100644 --- a/app/Http/Controllers/Admin/UploadFile.php +++ b/app/Http/Controllers/Admin/UploadFile.php @@ -1,8 +1,8 @@ hasFile('file')) { - return $this->invalidUpload('noFileSpecified'); - } - try { - $uploadedFile = $this->file->upload($request->file('file'), $request); + $uploadedFiles = []; + $files = $request->all()['files']; + $successfullUploads = 0; + + foreach ($files as $file) { + $uploadedFile = $this->file->upload($file, $request); + $successfullUploads++; + + $uploadedFiles[] = $uploadedFile; + } // we do not want to redirect if ($request->ajax()) { - return $this->jsonResponse($uploadedFile); + return $this->jsonResponse($uploadedFiles); } // upload was not performed via ajax, redirect user return redirect() ->route('upload.overview', ['directory' => $request->directoryId]) - ->with('success', trans('admin/fileManager.uploadSuccessfull')); + ->with('success', trans_choice('admin/fileManager.uploadSuccessfull', $successfullUploads)); } catch (FileException $e) { return $this->invalidUpload('invalidFile'); } @@ -52,7 +55,7 @@ class UploadFile extends Controller protected function invalidUpload($message) { return redirect() - ->route('upload.file') + ->route('upload.overview') ->with('error', trans('admin/fileManager.' . $message)); } diff --git a/app/Http/Requests/Request.php b/app/Http/Requests/Request.php index c2166b8c..a04db6b5 100644 --- a/app/Http/Requests/Request.php +++ b/app/Http/Requests/Request.php @@ -4,7 +4,7 @@ namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; -abstract class Request extends FormRequest +class Request extends FormRequest { /** * Determine if the user is authorized to make this request. @@ -13,7 +13,11 @@ abstract class Request extends FormRequest */ public function authorize() { - return true; } + + public function rules() + { + return []; + } } diff --git a/app/Http/Requests/UploadFileRequest.php b/app/Http/Requests/UploadFileRequest.php deleted file mode 100644 index bdb863d1..00000000 --- a/app/Http/Requests/UploadFileRequest.php +++ /dev/null @@ -1,14 +0,0 @@ -rules = ['file' => 'required']; - } -} diff --git a/resources/lang/cs/admin/fileManager.php b/resources/lang/cs/admin/fileManager.php index a6556df2..b2c834b0 100644 --- a/resources/lang/cs/admin/fileManager.php +++ b/resources/lang/cs/admin/fileManager.php @@ -1,41 +1,41 @@ "Vytvořit podadresář v :directory.", -"createdAt" => "Nahráno", -"description" => "Popis souboru", -"directories" => "Podadresáře v adresáři :directory", -"directoryDescription" => "Popis", -"directoryHidden" => "Skrytý adresář", -"directoryName" => "Jméno adresáře", -"edit" => "Upravit soubor :name", -"editButton" => "Upravit", -"editDirectory" => "Upravit adresář", -"editDirectorySuccess" => "Úspěšně uloženo", -"encoding" => "Kódování", -"fileDeleted" => "Soubor smazán", -"fileInfo" => "Informace", -"fileSize" => "Velikost", -"hash" => "Hash", -"invalidFile" => "Nahrávaný soubor nelze nahrát, z nějakého důvodu není validní.", -"keywords" => "Klíčová slova (oddělena čárkou)", -"mime" => "MIME typ", -"name" => "Jméno", -"newDirectory" => "Vytvořit nový adresář", -"newDirectorySuccess" => "Nový adresář úspěšně vytvořen", -"newFile" => "Nový soubor", -"noFileSpecified" => "Nebyl zvolen žádný soubor k nahrávání", -"noFiles" => "Žádný soubor nebyl nalezen", -"noSubdirectories" => "Žádné podadresáře", -"originalFilename" => "Původní jméno", -"overview" => "Seznam všech souborů", -"parentDirectory" => "Rodičovský adresář", -"resolution" => "Rozlišení", -"rootDirectories" => "Kořenové adresáře", -"selectFile" => "Vybrat soubor", -"subdirectoryExists" => "Adresář s tímto jménem tu již eixstuje", -"successfullyChanged" => "Úspěšně uloženo", -"updatedAt" => "Poslední změna", -"upload" => "Nahrát nový soubor", -"uploadSuccessfull" => "Soubor úspěšně nahrán", -"url" => "Veřejá URL", + "createSubdirectoryFor" => "Vytvořit podadresář v :directory.", + "createdAt" => "Nahráno", + "description" => "Popis souboru", + "directories" => "Podadresáře v adresáři :directory", + "directoryDescription" => "Popis", + "directoryHidden" => "Skrytý adresář", + "directoryName" => "Jméno adresáře", + "edit" => "Upravit soubor :name", + "editButton" => "Upravit", + "editDirectory" => "Upravit adresář", + "editDirectorySuccess" => "Úspěšně uloženo", + "encoding" => "Kódování", + "fileDeleted" => "Soubor smazán", + "fileInfo" => "Informace", + "fileSize" => "Velikost", + "hash" => "Hash", + "invalidFile" => "Nahrávaný soubor nelze nahrát, z nějakého důvodu není validní.", + "keywords" => "Klíčová slova (oddělena čárkou)", + "mime" => "MIME typ", + "name" => "Jméno", + "newDirectory" => "Vytvořit nový adresář", + "newDirectorySuccess" => "Nový adresář úspěšně vytvořen", + "newFile" => "Nový soubor", + "noFileSpecified" => "Nebyl zvolen žádný soubor k nahrávání", + "noFiles" => "Žádný soubor nebyl nalezen", + "noSubdirectories" => "Žádné podadresáře", + "originalFilename" => "Původní jméno", + "overview" => "Seznam všech souborů", + "parentDirectory" => "Rodičovský adresář", + "resolution" => "Rozlišení", + "rootDirectories" => "Kořenové adresáře", + "selectFile" => "Vybrat soubor", + "subdirectoryExists" => "Adresář s tímto jménem tu již eixstuje", + "successfullyChanged" => "Úspěšně uloženo", + "updatedAt" => "Poslední změna", + "upload" => "Nahrát nový soubor", + "uploadSuccessfull" => "Soubor úspěšně nahrán|:count soubory úspěšně nahrány|:count souborů úspěšně nahráno", + "url" => "Veřejá URL", ]; diff --git a/resources/lang/en/admin/fileManager.php b/resources/lang/en/admin/fileManager.php index ad5c0b2d..dcd4b0f7 100644 --- a/resources/lang/en/admin/fileManager.php +++ b/resources/lang/en/admin/fileManager.php @@ -18,7 +18,7 @@ return [ 'mime' => 'MIME type', 'invalidFile' => 'The file you submitted is somehow not valid file!', 'noFileSpecified' => 'You have not specified any file for upload', - 'uploadSuccessfull' => 'Your file was successfully uploaded', + 'uploadSuccessfull' => 'Your file was successfully uploaded|:count files successfully uploaded', 'selectFile' => 'Select file for upload', 'name' => 'Name', 'keywords' => 'Keywords (comma separated)', diff --git a/resources/views/admin/fileManager/newFileForm.blade.php b/resources/views/admin/fileManager/newFileForm.blade.php index 7a7dfff8..05ff0992 100644 --- a/resources/views/admin/fileManager/newFileForm.blade.php +++ b/resources/views/admin/fileManager/newFileForm.blade.php @@ -10,11 +10,11 @@