use App\Http\Controllers\Admin\Operations\ELearningPackage\ImportOperation;
use App\Http\Controllers\Admin\Operations\ELearningPackage\PreviewOperation;
use App\Http\Controllers\Admin\Operations\ELearningPackage\DownloadOperation;
+use App\Jobs\FluidbookPackage;
use App\Models\Base\ToolboxDownloadable;
use App\Models\Base\ToolboxModel;
use App\Models\Traits\CheckHash;
use Cubist\Backpack\Magic\Fields\Textarea;
use Cubist\Scorm\Manifest;
use Cubist\Scorm\Version;
+use Cubist\Util\CommandLine\Rsync;
use Cubist\Util\Files\Files;
use Cubist\Util\Files\VirtualDirectory;
use Cubist\Util\Zip;
$tmp = Files::tmpdir();
$vdir->addTemp($tmp);
+ $book = FluidbookPublication::withoutGlobalScopes()->find($id);
+ $packager = Packager::package($id, 'scorm', false, true);
+ $packager->handle();
+ if ($packager->getFinalPath()) {
+ $rsync = new Rsync($packager->getFinalPath(), $tmp);
+ $rsync->execute();
- $workshop = new WorkshopV2($user);
- $workshop->installBook($id, $tmp, [], 'scorm');
- if (file_exists($tmp . '/imsmanifest.xml')) {
- unlink($tmp . '/imsmanifest.xml');
+
+ if (file_exists($tmp . '/imsmanifest.xml')) {
+ unlink($tmp . '/imsmanifest.xml');
+ }
+ $vdir->copyDirectory($tmp, $basePath);
}
- $vdir->copyDirectory($tmp, $basePath);
- $meta = $workshop->getMetadata($id);
- return $meta->title;
+ return $book->title;
}
protected function _compileQuiz($id, $quiz_file, $vdir, $basePath)
if (null === $quiz) {
return null;
}
- $quiz->compile($tmp, true);
+ $quiz->compile($tmp, null, true);
if (file_exists($tmp . '/imsmanifest.xml')) {
unlink($tmp . '/imsmanifest.xml');
}