summaryrefslogtreecommitdiff
path: root/src/Manager/ScormDisk.php
diff options
context:
space:
mode:
authorKhaled Lela <eng.khaled.lela@gmail.com>2022-02-23 17:30:18 +0200
committerKhaled Lela <eng.khaled.lela@gmail.com>2022-02-23 17:30:18 +0200
commit853e7ded74f589164a2ebce5fd6a0502639d54a1 (patch)
tree5a365ec0c9bb7709c7f5e9606774442be640e906 /src/Manager/ScormDisk.php
parentb518a5bbc9e18f6a2ac1827e24e733ec508ff0d5 (diff)
handle scorm archive ot found, update config
Diffstat (limited to 'src/Manager/ScormDisk.php')
-rw-r--r--src/Manager/ScormDisk.php19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/Manager/ScormDisk.php b/src/Manager/ScormDisk.php
index cb09db5..5f15d38 100644
--- a/src/Manager/ScormDisk.php
+++ b/src/Manager/ScormDisk.php
@@ -2,6 +2,7 @@
namespace Peopleaps\Scorm\Manager;
+use Exception;
use Illuminate\Filesystem\FilesystemAdapter;
use Illuminate\Http\UploadedFile;
use Illuminate\Support\Facades\Storage;
@@ -45,14 +46,18 @@ class ScormDisk
*/
public function readScormArchive($file, callable $fn)
{
- if (Storage::exists($file)) {
- Storage::delete($file);
+ try {
+ if (Storage::exists($file)) {
+ Storage::delete($file);
+ }
+ Storage::writeStream($file, $this->getArchiveDisk()->readStream($file));
+ $path = Storage::path($file);
+ call_user_func($fn, $path);
+ unlink($path); // delete temp package
+ Storage::deleteDirectory(dirname($file)); // delete temp dir
+ } catch (Exception $ex) {
+ throw new StorageNotFoundException('scorm_archive_not_found');
}
- Storage::writeStream($file, $this->getArchiveDisk()->readStream($file));
- $path = Storage::path($file);
- call_user_func($fn, $path);
- unlink($path); // delete temp package
- Storage::deleteDirectory(dirname($file)); // delete temp dir
}
/**