diff options
author | devianl2 <devianleong@gmail.com> | 2022-02-11 12:05:11 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-11 12:05:11 +0800 |
commit | 359e2588a4962f51c0d5cbdd2823530a15defee0 (patch) | |
tree | b9bc389a9734ccc9d496353205a7d859bfa7bb48 /src/Manager/ScormDisk.php | |
parent | 9a3d5c62ac377bfcb9e31f98275636548c4d65ea (diff) |
Revert "Improve SCORM disk storage handler"
Diffstat (limited to 'src/Manager/ScormDisk.php')
-rw-r--r-- | src/Manager/ScormDisk.php | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/src/Manager/ScormDisk.php b/src/Manager/ScormDisk.php deleted file mode 100644 index 249f027..0000000 --- a/src/Manager/ScormDisk.php +++ /dev/null @@ -1,74 +0,0 @@ -<?php - -namespace Peopleaps\Scorm\Manager; - -use Illuminate\Filesystem\FilesystemAdapter; -use Illuminate\Support\Facades\Storage; -use Peopleaps\Scorm\Exception\StorageNotFoundException; -use ZipArchive; - -class ScormDisk -{ - /** - * Extract zip file into destination directory. - * - * @param string $path Destination directory - * @param string $zipFilePath The path to the zip file. - * - * @return bool True on success, false on failure. - */ - public function unzip($file, $path) - { - $path = $this->cleanPath($path); - - $zipArchive = new ZipArchive(); - if ($zipArchive->open($file) !== true) { - return false; - } - - /** @var FilesystemAdapter $disk */ - $disk = $this->getDisk(); - - for ($i = 0; $i < $zipArchive->numFiles; ++$i) { - $zipEntryName = $zipArchive->getNameIndex($i); - $destination = $path . DIRECTORY_SEPARATOR . $this->cleanPath($zipEntryName); - if ($this->isDirectory($zipEntryName)) { - $disk->createDir($destination); - continue; - } - $disk->putStream($destination, $zipArchive->getStream($zipEntryName)); - } - - return true; - } - - /** - * @param string $directory - * @return bool - */ - public function deleteScormFolder($folderHashedName) - { - return $this->getDisk()->deleteDirectory($folderHashedName); - } - - private function isDirectory($zipEntryName) - { - return substr($zipEntryName, -1) === '/'; - } - - private function cleanPath($path) - { - return str_replace('/', DIRECTORY_SEPARATOR, $path); - } - - /** - * @return FilesystemAdapter $disk - */ - private function getDisk() - { - if (!config()->has('filesystems.disks.' . config('scorm.disk'))) { - throw new StorageNotFoundException('scorm_disk_not_define'); - } - return Storage::disk(config('scorm.disk')); - } -} |