From: Vincent Vanwaelscappel Date: Fri, 19 Nov 2021 10:40:16 +0000 (+0100) Subject: wait #4891 @0.5 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=aa54f4944b1fb7394a30435b89fb67e3a2315d56;p=fluidbook-toolbox.git wait #4891 @0.5 --- diff --git a/app/Models/FluidbookCollection.php b/app/Models/FluidbookCollection.php index c92b4acfe..698b324e4 100644 --- a/app/Models/FluidbookCollection.php +++ b/app/Models/FluidbookCollection.php @@ -10,6 +10,7 @@ use Cubist\Backpack\Magic\Fields\BunchOfFieldsMultiple; use Cubist\Backpack\Magic\Fields\SelectFromArray; use Cubist\Backpack\Magic\Fields\Text; use Cubist\Backpack\Magic\Models\CubistMagicAbstractModel; +use Cubist\Util\Files\Files; use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Facades\Auth; use function Symfony\Component\String\s; @@ -58,6 +59,9 @@ class FluidbookCollection extends CubistMagicAbstractModel public function compile($path) { $data = $this->getPageData(); + + $path = Files::emptyDir($path); + if ($data->type === 'scorm_multilang') { return $this->compileSCORMMultilang($data, $path); } @@ -72,7 +76,6 @@ class FluidbookCollection extends CubistMagicAbstractModel $user = backpack_user(); $ws->login($user->email, $user->api_token); - $first = true; $langs = []; foreach ($data->publications as $publication) { $fbid = $publication['fluidbook']; @@ -80,11 +83,6 @@ class FluidbookCollection extends CubistMagicAbstractModel $langs[] = $metadata->lang; $dir = $path . '/' . $metadata->lang; $ws->installBook($fbid, $dir, 'scorm', 3); - if ($first) { - $first = false; - copy($dir . '/imsmanifest.xml', $path . '/imsmanifest.xml'); - } - unlink($dir . '/imsmanifest.xml'); } if (in_array('en', $langs)) { @@ -93,6 +91,15 @@ class FluidbookCollection extends CubistMagicAbstractModel $default = $langs[0]; } + foreach ($langs as $lang) { + $manifest = $path . '/' . $lang . '/imsmanifest.xml'; + if ($lang === $default) { + rename($manifest, $path . '/imsmanifest.xml'); + } else { + unlink($manifest); + } + } + $redirectionScript = " @@ -135,11 +142,11 @@ function getLanguagesFromBrowser() { } var locale=guessPreferedLanguage(" . json_encode($langs) . ",'" . $default . "'); -window.location=\"./ + locale + /index.html\"; +window.location='./' + locale + '/index.html'; "; - file_put_contents($path.'/index.html',$redirectionScript); + file_put_contents($path . '/index.html', $redirectionScript); } }