diff options
| author | Greg Roach <greg@subaqua.co.uk> | 2022-06-08 15:08:55 +0100 |
|---|---|---|
| committer | Greg Roach <greg@subaqua.co.uk> | 2022-06-08 15:08:55 +0100 |
| commit | 8dc9e1f96da7c0b3ce9209d717d871b4c05dad6d (patch) | |
| tree | 34864bbe9fd35bc5dae3cbdd37d50d5e99aadcef /app/Http/RequestHandlers/ImportGedcomAction.php | |
| parent | e2741c1845b23e25c308a65e4e564bd2a3e81e36 (diff) | |
| download | webtrees-8dc9e1f96da7c0b3ce9209d717d871b4c05dad6d.tar.gz webtrees-8dc9e1f96da7c0b3ce9209d717d871b4c05dad6d.tar.bz2 webtrees-8dc9e1f96da7c0b3ce9209d717d871b4c05dad6d.zip | |
Fix: #4425, Fix: #4437 - improve error handling when no GEDCOM file provided
Diffstat (limited to 'app/Http/RequestHandlers/ImportGedcomAction.php')
| -rw-r--r-- | app/Http/RequestHandlers/ImportGedcomAction.php | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/app/Http/RequestHandlers/ImportGedcomAction.php b/app/Http/RequestHandlers/ImportGedcomAction.php index 7f6f564d33..724bfac851 100644 --- a/app/Http/RequestHandlers/ImportGedcomAction.php +++ b/app/Http/RequestHandlers/ImportGedcomAction.php @@ -36,6 +36,7 @@ use function basename; use function redirect; use function route; +use const UPLOAD_ERR_NO_FILE; use const UPLOAD_ERR_OK; /** @@ -85,22 +86,24 @@ class ImportGedcomAction implements RequestHandlerInterface if ($source === 'client') { $upload = $request->getUploadedFiles()['tree_name'] ?? null; - if ($upload === null || $upload->getError() !== UPLOAD_ERR_OK) { + if ($upload === null || $upload->getError() === UPLOAD_ERR_NO_FILE) { + FlashMessages::addMessage(I18N::translate('No GEDCOM file was received.'), 'danger'); + } elseif ($upload->getError() !== UPLOAD_ERR_OK) { throw new FileUploadException($upload); + } else { + $this->tree_service->importGedcomFile($tree, $upload->getStream(), basename($upload->getClientFilename()), $encoding); } - - $this->tree_service->importGedcomFile($tree, $upload->getStream(), basename($upload->getClientFilename()), $encoding); } if ($source === 'server') { $basename = basename($params['tree_name'] ?? ''); - if ($basename) { + if ($basename === '') { + FlashMessages::addMessage(I18N::translate('No GEDCOM file was received.'), 'danger'); + } else { $resource = $data_filesystem->readStream($basename); $stream = $this->stream_factory->createStreamFromResource($resource); $this->tree_service->importGedcomFile($tree, $stream, $basename, $encoding); - } else { - FlashMessages::addMessage(I18N::translate('No GEDCOM file was received.'), 'danger'); } } |
