]> _ Git - fluidbook-toolbox.git/commitdiff
wip #7586 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 6 Jun 2025 09:33:47 +0000 (11:33 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 6 Jun 2025 09:33:47 +0000 (11:33 +0200)
app/Fluidbook/Compiler/Compiler.php
app/Http/Controllers/Admin/Operations/FluidbookQuote/SpamOperation.php

index 3496714b208e6f3ebc14ea691f6637b6a18bacda..3ba6a84bc857d89c057d099b1358cf3842739dc3 100644 (file)
@@ -24,6 +24,7 @@ use Cubist\Backpack\Magic\Fields\Checkbox;
 use Cubist\Excel\ExcelToArray;
 use Cubist\Locale\Country;
 use Cubist\Locale\Locale;
+use Cubist\Scorm\Manifest;
 use Cubist\Util\ArrayUtil;
 use Cubist\Util\CommandLine;
 use Cubist\Util\Data;
@@ -1250,10 +1251,6 @@ class Compiler extends Base implements CompilerInterface, IVirtualDirectoryError
 
     protected function writeScorm()
     {
-        $manifestfiles = ['1.2' => '_imsmanifest.12.xml', '2004' => '_imsmanifest.2004.xml', '2004.3' => '_imsmanifest.2004-3.xml'];
-        $manifestfile = $manifestfiles[(string)$this->fluidbookSettings->scorm_version];
-
-        $manifest = file_get_contents($this->assets . '/' . $manifestfile);
         if (!$this->fluidbookSettings->scorm_title) {
             $this->fluidbookSettings->scorm_title = $this->fluidbookSettings->title;
         }
@@ -1264,13 +1261,9 @@ class Compiler extends Base implements CompilerInterface, IVirtualDirectoryError
             $this->fluidbookSettings->scorm_org = 'Fluidbook';
         }
 
-        $vars = array('scorm_id', 'scorm_org', 'scorm_title');
-        foreach ($vars as $v) {
-            $manifest = str_replace('$' . $v, htmlspecialchars($this->fluidbookSettings->$v, ENT_QUOTES), $manifest);
-        }
+        $manifest = new Manifest($this->fluidbookSettings->scorm_title, (string)$this->fluidbookSettings->scorm_version, $this->fluidbookSettings->scorm_org, $this->fluidbookSettings->scorm_id);
         $this->vdir->file_put_contents('imsmanifest.xml', $manifest);
 
-
         $this->config->scorm_variables = $this->fluidbookSettings->scorm_variables = $this->parseVariables($this->fluidbookSettings->scorm_variables);
         if ($this->fluidbookSettings->scorm_quizdata) {
             $this->config->scorm_quizdata = ExcelToArray::excelToArrayRaw($this->wdir . '/' . $this->fluidbookSettings->scorm_quizdata);
@@ -1791,12 +1784,12 @@ class Compiler extends Base implements CompilerInterface, IVirtualDirectoryError
 
     public function getWidth($page = 1)
     {
-        return $this->getPageDimension($page)[0]??null;
+        return $this->getPageDimension($page)[0] ?? null;
     }
 
     public function getHeight($page = 1)
     {
-        return $this->getPageDimension($page)[1]??null;
+        return $this->getPageDimension($page)[1] ?? null;
     }
 
 
index 7acc554061660ccfec33a4838d156d36b2b15a21..24b88c6adf1bb856f27f73b5d6eaa15605e1ef97 100644 (file)
@@ -12,6 +12,7 @@ use Illuminate\Support\Facades\Mail;
 use Illuminate\Support\Facades\Redirect;
 use Illuminate\Support\Facades\Route;
 use Prologue\Alerts\Facades\Alert;
+
 // __('!! Demandes de devis fluidbook')
 trait SpamOperation
 {
@@ -27,13 +28,14 @@ trait SpamOperation
         }
         /** @var FluidbookQuote $quote */
         $quote = FluidbookQuote::where('id', $id)->first();
-        $slack_ts = $quote->slack_ts;
-        $quote->deleteOrFail();
+        if (null !== $quote) {
+            $slack_ts = $quote->slack_ts ?? false;
+            $quote->deleteOrFail();
 
-        if ($slack_ts) {
-            Mattermost::deleteMessage($slack_ts);
+            if ($slack_ts) {
+                Mattermost::deleteMessage($slack_ts);
+            }
         }
-
         Alert::add('success', __('La demande de devis a été supprimée'))->flash();
         return Redirect::to(backpack_url('fluidbook-quote'));
     }