]> _ Git - fluidbook-toolbox.git/commitdiff
wip #5509 @2
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 6 Oct 2022 07:28:05 +0000 (09:28 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 6 Oct 2022 07:28:05 +0000 (09:28 +0200)
39 files changed:
.docker/images/php/Dockerfile
app/Console/Commands/FluidbookFarmUpdate.php [deleted file]
app/Http/Controllers/Admin/CompanyCrudController.php
app/Http/Controllers/Admin/CrudController.php
app/Http/Controllers/Admin/CubemailsCrudController.php
app/Http/Controllers/Admin/ElearningMediaCrudController.php
app/Http/Controllers/Admin/ElearningPackageCrudController.php
app/Http/Controllers/Admin/FluidbookCollectionCrudController.php
app/Http/Controllers/Admin/FluidbookDocumentCrudController.php
app/Http/Controllers/Admin/FluidbookIconsetCrudController.php
app/Http/Controllers/Admin/FluidbookPublicationCrudController.php
app/Http/Controllers/Admin/FluidbookQuoteCrudController.php
app/Http/Controllers/Admin/FluidbookStatsController.php [deleted file]
app/Http/Controllers/Admin/FluidbookThemeCrudController.php
app/Http/Controllers/Admin/FluidbookThemePreviewController.php [deleted file]
app/Http/Controllers/Admin/FluidbookTranslateCrudController.php
app/Http/Controllers/Admin/LocaleCrudController.php
app/Http/Controllers/Admin/MaintenanceController.php [deleted file]
app/Http/Controllers/Admin/OpenMaintenanceController.php [deleted file]
app/Http/Controllers/Admin/OpenToolsController.php [deleted file]
app/Http/Controllers/Admin/PageCrudController.php
app/Http/Controllers/Admin/QuizCrudController.php
app/Http/Controllers/Admin/QuizatttemptCrudController.php
app/Http/Controllers/Admin/QuiztranslationCrudController.php
app/Http/Controllers/Admin/SettingsCrudController.php
app/Http/Controllers/Admin/SignatureCrudController.php
app/Http/Controllers/Admin/ToolSpriteCrudController.php [new file with mode: 0644]
app/Http/Controllers/Admin/ToolboxSettingsController.php [deleted file]
app/Http/Controllers/Admin/ToolboxTranslateCrudController.php
app/Http/Controllers/Admin/ToolsController.php [deleted file]
app/Http/Controllers/Admin/UsersCrudController.php
app/Jobs/FluidbookCompiler.php
app/Jobs/FluidbookDocumentUpload.php
app/Models/FluidbookDocument.php
app/Models/FluidbookPublication.php
app/Util/FluidbookFarm.php
composer.lock
resources/views/fields/fluidbook_composition.blade.php
scripts/webvideo [new file with mode: 0644]

index 9cb6e682a2884739df8c4062ece130796f384c11..d59051dc951b9be9486610f4ab462b0f15b31b12 100644 (file)
@@ -82,7 +82,7 @@ RUN apt-get -y --no-install-recommends install supervisor ssh rsync
 RUN apt-get -y --no-install-recommends install default-jre pdftk poppler-utils inkscape mupdf-tools ghostscript imagemagick netpbm libjpeg-turbo8 libjpeg-turbo-progs
 RUN apt-get -y --no-install-recommends install zip unzip gzip 7zip
 RUN apt-get -y --no-install-recommends install icoutils fontforge
-RUN apt-get -y --no-install-recommends install ffmpeg python3 lame
+RUN apt-get -y --no-install-recommends install ffmpeg python3 lame x264 vorbis-tools
 RUN apt-get -y --no-install-recommends install inkscape mupdf-tools librsvg2-bin
 RUN apt-get -y --no-install-recommends install cron monit locate
 
diff --git a/app/Console/Commands/FluidbookFarmUpdate.php b/app/Console/Commands/FluidbookFarmUpdate.php
deleted file mode 100644 (file)
index 2a31b95..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-
-namespace App\Console\Commands;
-
-use App\Util\FluidbookFarm;
-use Cubist\Backpack\Console\Commands\CubistCommand;
-
-
-class FluidbookFarmUpdate extends CubistCommand
-{
-    protected $signature = 'fluidbook:farm:update';
-    protected $description = 'Manage fluidbook farm';
-
-    public function handle()
-    {
-        FluidbookFarm::update();
-    }
-}
index 10e66dd4449ba9522bf7f158cee7c0bc72e8c882..6011e8ac10a79f3e98977304814db47eb2b3d51f 100644 (file)
@@ -6,7 +6,7 @@ class CompanyCrudController extends \Cubist\Backpack\Magic\Controllers\CubistMag
 {
     use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\ReviseOperation;
        
 
index 800653e74021689f3e3d57326ac69ab15fe7874f..560a9461f494d9a41e18dc8d16e10f35e24f32b9 100644 (file)
@@ -6,7 +6,7 @@ class CrudController extends \Cubist\Backpack\Magic\Controllers\CubistMagicContr
 {
     use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
index ebc4671db11a5ac271898b47ff7354717e96b448..eabdd8f776b7addfb75f4826c9ab489f0e0fbddb 100644 (file)
@@ -6,7 +6,7 @@ class CubemailsCrudController extends \Cubist\Backpack\Magic\Controllers\CubistM
 {
     use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
index 069469abedb62164430b454fb3a83604efecd766..0ebfb8aed452a7e0de9bdbca8616f95caea32a85 100644 (file)
@@ -4,18 +4,18 @@ namespace App\Http\Controllers\Admin;
 
 class ElearningMediaCrudController extends \Cubist\Backpack\Magic\Controllers\CubistMagicController
 {
-    use \App\Http\Controllers\Admin\Operations\ELearningMedia\ImportOperation;
-       use \App\Http\Controllers\Admin\Operations\ELearningMedia\PreviewOperation;
-       use \App\Http\Controllers\Admin\Operations\ELearningMedia\DownloadOperation;
-       use \Cubist\Backpack\Magic\Operations\CreateOperation;
+    use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkDeleteOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\ReviseOperation;
+       use \App\Http\Controllers\Admin\Operations\ELearningMedia\ImportOperation;
+       use \App\Http\Controllers\Admin\Operations\ELearningMedia\PreviewOperation;
+       use \App\Http\Controllers\Admin\Operations\ELearningMedia\DownloadOperation;
        
 
 
index d7a67054b0f17bf54913d47363ebd95203617c67..eb5f24317083788d6f5699422c5111e99dd092b0 100644 (file)
@@ -4,18 +4,18 @@ namespace App\Http\Controllers\Admin;
 
 class ElearningPackageCrudController extends \Cubist\Backpack\Magic\Controllers\CubistMagicController
 {
-    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 \Cubist\Backpack\Magic\Operations\CreateOperation;
+    use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkDeleteOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\ReviseOperation;
+       use \App\Http\Controllers\Admin\Operations\ELearningPackage\ImportOperation;
+       use \App\Http\Controllers\Admin\Operations\ELearningPackage\PreviewOperation;
+       use \App\Http\Controllers\Admin\Operations\ELearningPackage\DownloadOperation;
        
 
 
index 69bc308d2896c6545cb7d22313e3dd7181b09bdf..48cfd7074a72194962ba56fd2d7e50df171bdf2f 100644 (file)
@@ -4,16 +4,16 @@ namespace App\Http\Controllers\Admin;
 
 class FluidbookCollectionCrudController extends \Cubist\Backpack\Magic\Controllers\CubistMagicController
 {
-    use \App\Http\Controllers\Admin\Operations\FluidbookCollection\DownloadOperation;
-       use \Cubist\Backpack\Magic\Operations\CreateOperation;
+    use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkDeleteOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\ReviseOperation;
+       use \App\Http\Controllers\Admin\Operations\FluidbookCollection\DownloadOperation;
        
 
 
index 995d7c38d82a6816ae876a1bec31c1ef8d599b67..34ae27cd6f6dfdbe145e8fd27edab2adcd435f17 100644 (file)
@@ -6,7 +6,7 @@ class FluidbookDocumentCrudController extends \Cubist\Backpack\Magic\Controllers
 {
     use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
index 464f000166598e1d249c0d1a161648af36ac8fad..89d82271e5a0a7c5b2606e5c9d9e012d2e49e6ae 100644 (file)
@@ -6,7 +6,7 @@ class FluidbookIconsetCrudController extends \Cubist\Backpack\Magic\Controllers\
 {
     use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
index 5133768fc8897138cba7f4c9c5417e153e3fc61c..70fe82f9bf9819770d4271167f16e25bfac43ff5 100644 (file)
@@ -4,17 +4,18 @@ namespace App\Http\Controllers\Admin;
 
 class FluidbookPublicationCrudController extends \Cubist\Backpack\Magic\Controllers\CubistMagicController
 {
-    use \App\Http\Controllers\Admin\Operations\FluidbookPublication\PreviewOperation;
-       use \App\Http\Controllers\Admin\Operations\FluidbookPublication\CompositionOperation;
-       use \App\Http\Controllers\Admin\Operations\FluidbookPublication\DownloadOperation;
-       use \App\Http\Controllers\Admin\Operations\FluidbookPublication\StatsOperation;
-       use \Cubist\Backpack\Magic\Operations\CreateOperation;
+    use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\ReviseOperation;
-
+       use \App\Http\Controllers\Admin\Operations\FluidbookPublication\PreviewOperation;
+       use \App\Http\Controllers\Admin\Operations\FluidbookPublication\EditOperation;
+       use \App\Http\Controllers\Admin\Operations\FluidbookPublication\CompositionOperation;
+       use \App\Http\Controllers\Admin\Operations\FluidbookPublication\StatsOperation;
+       use \App\Http\Controllers\Admin\Operations\FluidbookPublication\DownloadOperation;
+       
 
 
     /*
index 97b5d879d9669880873366176fad7614521da91e..4520c3e58ee7f2f3f4bae983c8f090a897fbb13a 100644 (file)
@@ -4,12 +4,12 @@ namespace App\Http\Controllers\Admin;
 
 class FluidbookQuoteCrudController extends \Cubist\Backpack\Magic\Controllers\CubistMagicController
 {
-    use \App\Http\Controllers\Admin\Operations\FluidbookQuote\AssignOperation;
-       use \App\Http\Controllers\Admin\Operations\FluidbookQuote\CreateFromWebsite;
-       use \App\Http\Controllers\Admin\Operations\FluidbookQuote\ConfirmAssignmentOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+    use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\ReviseOperation;
+       use \App\Http\Controllers\Admin\Operations\FluidbookQuote\AssignOperation;
+       use \App\Http\Controllers\Admin\Operations\FluidbookQuote\CreateFromWebsite;
+       use \App\Http\Controllers\Admin\Operations\FluidbookQuote\ConfirmAssignmentOperation;
        
 
 
diff --git a/app/Http/Controllers/Admin/FluidbookStatsController.php b/app/Http/Controllers/Admin/FluidbookStatsController.php
deleted file mode 100644 (file)
index 52a4f9f..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-
-namespace App\Http\Controllers\Admin;
-
-use App\Http\Controllers\Controller;
-use App\Models\FluidbookPublication;
-use Backpack\CRUD\app\Library\Widget;
-use Carbon\Carbon;
-use Chartisan\PHP\Chartisan;
-use Cubist\Matomo\Reporting;
-
-class FluidbookStatsController extends Controller
-{
-    // @see App\Http\Controllers\Admin\Operations\FluidbookPublication\StatsOperation
-}
index 9acbdce5d46228a20d506f40b5b665e8f4c46bb8..db69d461264f4507aa2c942cd6f7c1cd6c578c52 100644 (file)
@@ -6,7 +6,7 @@ class FluidbookThemeCrudController extends \Cubist\Backpack\Magic\Controllers\Cu
 {
     use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
diff --git a/app/Http/Controllers/Admin/FluidbookThemePreviewController.php b/app/Http/Controllers/Admin/FluidbookThemePreviewController.php
deleted file mode 100644 (file)
index 0c736d4..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-namespace App\Http\Controllers\Admin;
-
-use App\Jobs\GenerateThemePreview;
-use App\Models\FluidbookTheme;
-use Cubist\Backpack\Http\Controllers\Base\XSendFileController;
-
-class FluidbookThemePreviewController extends XSendFileController
-{
-    public function preview($id, $variant = '')
-    {
-        /** @var FluidbookTheme $theme */
-        $theme = FluidbookTheme::find($id);
-        if (null === $theme) {
-            return response()->setStatusCode(404);
-        }
-        if (!$theme->canList(backpack_user())) {
-            return response()->setStatusCode(403);
-        }
-        return $this->xSendFile(GenerateThemePreview::getPreviewPath($theme->id, $variant));
-    }
-
-    public function previewMenu($id)
-    {
-        return $this->preview($id, 'menu');
-    }
-
-    public function previewBurger($id)
-    {
-        return $this->preview($id, 'burger');
-    }
-
-    public function previewLoader($id)
-    {
-        return $this->preview($id, 'loader');
-    }
-}
index ca308fe70f582e39a4b89a8246b2f93d41cc8df1..27f72e800c44f97d8add76a5c755d3381f281ac9 100644 (file)
@@ -4,16 +4,16 @@ namespace App\Http\Controllers\Admin;
 
 class FluidbookTranslateCrudController extends \Cubist\Backpack\Magic\Controllers\CubistMagicController
 {
-    use \App\Http\Controllers\Admin\Operations\FluidbookTranslate\ExcelExportOperation;
-       use \App\Http\Controllers\Admin\Operations\FluidbookTranslate\ExcelImportOperation;
-       use \Cubist\Backpack\Magic\Operations\CreateOperation;
+    use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkDeleteOperation;
+       use \App\Http\Controllers\Admin\Operations\FluidbookTranslate\ExcelExportOperation;
+       use \App\Http\Controllers\Admin\Operations\FluidbookTranslate\ExcelImportOperation;
        
 
 
index 05607edd1fdf0baf2364367dfd7503b32a036395..960dfe0c07d4c421e5843a95baff0c7336a88168 100644 (file)
@@ -6,7 +6,7 @@ class LocaleCrudController extends \Cubist\Backpack\Magic\Controllers\CubistMagi
 {
     use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
diff --git a/app/Http/Controllers/Admin/MaintenanceController.php b/app/Http/Controllers/Admin/MaintenanceController.php
deleted file mode 100644 (file)
index e7d9b52..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-
-namespace App\Http\Controllers\Admin;
-
-
-use App\Http\Controllers\Admin\Operations\Tools\DockerWebContainer;
-use App\Http\Controllers\Admin\Operations\Tools\Excel2JSON;
-use App\Http\Controllers\Admin\Operations\Tools\FluidbookAssetsDownloader;
-use App\Http\Controllers\Admin\Operations\Tools\FluidbookBranchCreate;
-use App\Http\Controllers\Admin\Operations\Tools\FluidbookBranchRemove;
-use App\Http\Controllers\Admin\Operations\Tools\GitReposCreate;
-use App\Http\Controllers\Admin\Operations\Tools\JSON2Excel;
-use App\Http\Controllers\Admin\Operations\Tools\PDF2SVGOperation;
-use App\Http\Controllers\Admin\Operations\Tools\TextToSpeech;
-use App\Http\Controllers\Controller;
-
-class MaintenanceController extends Controller
-{
-    protected function index($function, $args = '')
-    {
-        if (!$args) {
-            $args = [];
-        } else {
-            $args = explode('/', $args);
-        }
-
-        if (!method_exists($this, $function)) {
-            return view('maintenance.' . $function, ['args' => $args]);
-        } else {
-            return $this->$function($args);
-        }
-    }
-}
diff --git a/app/Http/Controllers/Admin/OpenMaintenanceController.php b/app/Http/Controllers/Admin/OpenMaintenanceController.php
deleted file mode 100644 (file)
index d066768..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-
-namespace App\Http\Controllers\Admin;
-
-
-use App\Http\Controllers\Admin\Operations\Maintenance\UpdateSourcesOperation;
-use App\Http\Controllers\Controller;
-
-class OpenMaintenanceController extends Controller
-{
-    use UpdateSourcesOperation;
-
-    protected function index($function, $args = '')
-    {
-
-        if (!$args) {
-            $args = [];
-        } else {
-            $args = explode('/', $args);
-        }
-
-        if (!method_exists($this, $function)) {
-            return view('openmaintenance.' . $function, ['args' => $args]);
-        } else {
-            return $this->$function($args);
-        }
-
-    }
-
-
-}
diff --git a/app/Http/Controllers/Admin/OpenToolsController.php b/app/Http/Controllers/Admin/OpenToolsController.php
deleted file mode 100644 (file)
index 4e23fff..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-
-namespace App\Http\Controllers\Admin;
-
-
-use App\Http\Controllers\Admin\Operations\Tools\Excel2JSON;
-use App\Http\Controllers\Controller;
-
-class OpenToolsController extends Controller
-{
-    use Excel2JSON;
-
-    protected function index($tool, $args = '')
-    {
-        if (!$args) {
-            $args = [];
-        } else {
-            $args = explode('/', $args);
-        }
-
-        if (!method_exists($this, $tool)) {
-            return view('opentools.' . $tool, ['args' => $args]);
-        } else {
-            return $this->$tool($args);
-        }
-
-    }
-
-
-}
index 1f77d06ae0512ade623b749f50a659af742f34f0..891d28320c4d402d30fb60ff3a77fd5a3ca2cc53 100644 (file)
@@ -6,7 +6,7 @@ class PageCrudController extends \Cubist\Backpack\Magic\Controllers\CubistMagicN
 {
     use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
index 4f607165c9d059ba95b8cf1748b1880d9995bafb..5430ede88522e6d44bf21768c9a3355847254e1c 100644 (file)
@@ -4,17 +4,17 @@ namespace App\Http\Controllers\Admin;
 
 class QuizCrudController extends \Cubist\Backpack\Magic\Controllers\CubistMagicController
 {
-    use \App\Http\Controllers\Admin\Operations\Quiz\PreviewOperation;
-       use \App\Http\Controllers\Admin\Operations\Quiz\DownloadOperation;
-       use \App\Http\Controllers\Admin\Operations\Quiz\LogOperation;
-       use \App\Http\Controllers\Admin\Operations\Quiz\ReportOperation;
-       use \App\Http\Controllers\Admin\Operations\Quiz\ImportOperation;
-       use \Cubist\Backpack\Magic\Operations\CreateOperation;
+    use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\ReviseOperation;
+       use \App\Http\Controllers\Admin\Operations\Quiz\PreviewOperation;
+       use \App\Http\Controllers\Admin\Operations\Quiz\DownloadOperation;
+       use \App\Http\Controllers\Admin\Operations\Quiz\LogOperation;
+       use \App\Http\Controllers\Admin\Operations\Quiz\ReportOperation;
+       use \App\Http\Controllers\Admin\Operations\Quiz\ImportOperation;
        
 
 
index 26618a5942d382c994c5eaed4ce41649d59f17cf..b51304619839456b2c4bcb1e0e1de559d275eb95 100644 (file)
@@ -6,7 +6,7 @@ class QuizatttemptCrudController extends \Cubist\Backpack\Magic\Controllers\Cubi
 {
     use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
index 7c540c9a3fe97b7079ae1c3c39aa6cb9a80e7837..60457ff2e5a63ac950530a3dcd959166cf125375 100644 (file)
@@ -6,7 +6,7 @@ class QuiztranslationCrudController extends \Cubist\Backpack\Magic\Controllers\C
 {
     use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
index 31d2f3cfe05c0e34982bb630a531ebc9e0e590f3..cd4182492e54c98d2903b74904035983424b3c04 100644 (file)
@@ -6,7 +6,7 @@ class SettingsCrudController extends \Cubist\Backpack\Magic\Controllers\CubistMa
 {
     use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
index 78dfdd5bba0082917ff8ece3cda46c462ea708f3..a3c10695c7dcaa2e4d647250f1640c7f7d7d5cd8 100644 (file)
@@ -6,7 +6,7 @@ class SignatureCrudController extends \Cubist\Backpack\Magic\Controllers\CubistM
 {
     use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\ReviseOperation;
diff --git a/app/Http/Controllers/Admin/ToolSpriteCrudController.php b/app/Http/Controllers/Admin/ToolSpriteCrudController.php
new file mode 100644 (file)
index 0000000..cbb6193
--- /dev/null
@@ -0,0 +1,30 @@
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+class ToolSpriteCrudController extends \Cubist\Backpack\Magic\Controllers\CubistMagicController
+{
+    use \Cubist\Backpack\Magic\Operations\CreateOperation;
+       use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
+       use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\BulkDeleteOperation;
+       use \Cubist\Backpack\Http\Controllers\Operations\ReviseOperation;
+       use \App\Http\Controllers\Admin\Operations\Tools\SVGSpriteDownload;
+       
+
+
+    /*
+       __('sprite')
+       __('sprite')
+       */
+
+    protected $_modelNamespace = 'App\Models\ToolSVGSprite';
+    protected $_routeURL = 'tool-sprite';
+    protected $_singular = 'sprite';
+    protected $_plural = 'sprite';
+    protected $_oneInstance= false;
+}
diff --git a/app/Http/Controllers/Admin/ToolboxSettingsController.php b/app/Http/Controllers/Admin/ToolboxSettingsController.php
deleted file mode 100644 (file)
index d5f34ea..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-namespace App\Http\Controllers\Admin;
-
-class ToolboxSettingsController
-{
-    public function set()
-    {
-        $user = backpack_user();
-        $user->setToolboxSetting(request()->get('key'), request()->get('value'));
-        $user->saveWithoutFlushingCache();
-    }
-}
index 099786f093c0a8be789de34078caff38187b7b1b..dc09f9a3e432933e84ddfde7b1cfa9cd9fa75aa7 100644 (file)
@@ -6,7 +6,7 @@ class ToolboxTranslateCrudController extends \Cubist\Backpack\Magic\Controllers\
 {
     use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
        use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
diff --git a/app/Http/Controllers/Admin/ToolsController.php b/app/Http/Controllers/Admin/ToolsController.php
deleted file mode 100644 (file)
index eedb333..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-
-namespace App\Http\Controllers\Admin;
-
-
-use App\Http\Controllers\Admin\Operations\Tools\DockerWebContainer;
-use App\Http\Controllers\Admin\Operations\Tools\Excel2JSON;
-use App\Http\Controllers\Admin\Operations\Tools\Favicon;
-use App\Http\Controllers\Admin\Operations\Tools\FluidbookAssetsDownloader;
-use App\Http\Controllers\Admin\Operations\Tools\FluidbookBranchCreate;
-use App\Http\Controllers\Admin\Operations\Tools\FluidbookBranchRemove;
-use App\Http\Controllers\Admin\Operations\Tools\GitReposCreate;
-use App\Http\Controllers\Admin\Operations\Tools\JSON2Excel;
-use App\Http\Controllers\Admin\Operations\Tools\PDF2SVGOperation;
-use App\Http\Controllers\Admin\Operations\Tools\TextToSpeech;
-use App\Http\Controllers\Controller;
-
-class ToolsController extends Controller
-{
-    use PDF2SVGOperation;
-    use FluidbookAssetsDownloader;
-    use GitReposCreate;
-    use TextToSpeech;
-    use DockerWebContainer;
-    use JSON2Excel;
-    use Excel2JSON;
-    use FluidbookBranchCreate;
-    use FluidbookBranchRemove;
-    use Favicon;
-
-    protected function index($tool, $args = '')
-    {
-
-        if (!$args) {
-            $args = [];
-        } else {
-            $args = explode('/', $args);
-        }
-
-        if (!method_exists($this, $tool)) {
-            return view('tools.' . $tool, ['args' => $args]);
-        } else {
-            return $this->$tool($args);
-        }
-
-    }
-
-
-}
index a3c6a0931eda802aecba63cc171d3c0985a229d7..f215fde9420e64deec688f112de1128a118a38a3 100644 (file)
@@ -4,12 +4,12 @@ namespace App\Http\Controllers\Admin;
 
 class UsersCrudController extends \Cubist\Backpack\Magic\Controllers\CubistMagicController
 {
-    use \Cubedesigners\UserDatabase\Operations\LoginasOperation;
-       use \Cubedesigners\UserDatabase\Operations\CreateFromCompany;
-       use \Cubist\Backpack\Magic\Operations\CreateOperation;
+    use \Cubist\Backpack\Magic\Operations\CreateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
-       use \Cubist\Backpack\Magic\Operations\UpdateOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
        use \Cubist\Backpack\Http\Controllers\Operations\ReviseOperation;
+       use \Cubedesigners\UserDatabase\Operations\LoginasOperation;
+       use \Cubedesigners\UserDatabase\Operations\CreateFromCompany;
        
 
 
index e562b4b723001cd3fe61649973396b172537dc84..ad6beac19f0a4b7c2ee1f893ffe53ac90f78d08e 100644 (file)
@@ -33,6 +33,7 @@ use Cubist\Util\WebVideo;
 use DOMDocument;
 use DOMElement;
 use DOMXPath;
+use Faker\Provider\File;
 use Fluidbook\Tools\Compiler\CompilerInterface;
 use Fluidbook\Tools\Links\AnchorLink;
 use Fluidbook\Tools\Links\ContentLink;
@@ -2833,7 +2834,7 @@ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
         $opt = $this->wdir . '/' . $clean;
 
         if (!file_exists($opt) || !filesize($opt) || filemtime($path) > filemtime($opt)) {
-            wsTools::_optimizeSVG($path, $opt);
+            SVGTools::_optimizeSVG($path, $opt);
         }
         return $clean;
 
@@ -3551,6 +3552,54 @@ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
         }
     }
 
+    public static function encodeWebVideos($file, $dir = null, $async = true, $force = false, $format = 'all')
+    {
+        $file = new SplFileInfo($file);
+        if (is_null($dir)) {
+            $dir = $file->getPath();
+        }
+
+        $videos = array('mp4', 'jpg');
+
+        if (is_string($format)) {
+            if ($format == 'none') {
+                $format = array();
+            } elseif ($format == 'all') {
+                $format = $videos;
+            } else {
+                $format = array($format);
+            }
+        }
+
+        if (!$force) {
+            $format = array();
+        }
+
+
+        $base = $dir . '/' . $file->getBasename('.' . $file->getExtension());
+        $log = $base . '.log';
+
+        foreach ($videos as $v) {
+            $vfile = $base . '.' . $v;
+            if (!file_exists($vfile)) {
+                $force = true;
+            } else if (filemtime($file) > filemtime($vfile) || in_array($v, $format)) {
+                $force = true;
+                unlink($vfile);
+            }
+        }
+
+        if (!$force && file_exists($log) && filemtime($log) > filemtime($file)) {
+            return;
+        }
+
+        $webvideo = new CommandLine('/application/scripts/webvideo', $log);
+        $webvideo->setArg(null, $file);
+        $webvideo->setArg(null, $dir);
+        $webvideo->execute();
+    }
+
+
     public function copyLinkFile($source, $dest, $video = false)
     {
         if ($video && $this->fluidbookSettings->mobileVideosPath != '') {
@@ -3559,7 +3608,7 @@ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
         $origDir = $this->wdir;
         $types = $this->getVideosFormats();
         if ($video) {
-            wsTools::encodeWebVideos($origDir . $source, null, true);
+            self::encodeWebVideos($origDir . $source, null, true);
             $e = explode('.', $source);
             array_pop($e);
             $base = implode('.', $e);
index a9ab125c0d3daf388b74f130dc6abc97cc32c9f0..33e7967a6a05030d702e5563c97c2eb8a8ad5ab8 100644 (file)
@@ -31,9 +31,8 @@ class FluidbookDocumentUpload extends Base
 
     public function handle()
     {
-
         FluidbookDocumentUpload::updateProgression($this->uploadID, __('Début du traitement du document'), 1.25);
-        $this->document->processUpload($this->uploadID, $this->isSync());
+        $this->document->processUpload($this->uploadID, false);
     }
 
     public static function updateProgression($id, $message, $progress)
index 7c4403d72af661ac84a73918120068f36e2af682..c6ed4615a820a80fa9e33c6f31c3e1db6988c9d6 100644 (file)
@@ -301,7 +301,7 @@ class FluidbookDocument extends ToolboxModel
         }
 
         $doc = $this;
-        return Cache::rememberForever($this->fileCacheKey($page, $format, $resolution, $withText, $withGraphics, $version), function () use ($doc, $page, $format, $resolution, $withText, $withGraphics, $version) {
+        return Cache::tags('fluidbook_document_' . $this->id)->rememberForever($this->fileCacheKey($page, $format, $resolution, $withText, $withGraphics, $version), function () use ($doc, $page, $format, $resolution, $withText, $withGraphics, $version) {
             return $doc->_getFile($page, $format, $resolution, $withText, $withGraphics, $version);
         });
     }
@@ -521,6 +521,7 @@ class FluidbookDocument extends ToolboxModel
     public function clearAllFiles()
     {
         $cmd = 'cd ' . $this->path() . ';find . ! -name \'original.pdf\' ! -name \'.\' ! -name \'..\' -exec rm -rf {} +';
+        Cache::tags('fluidbook_document_' . $this->id)->flush();
         `$cmd`;
     }
 
index e9cf0c88a65c33229662925694431a177866b8f4..d8a9373c25e56083a34798880e7634c82a30da25 100644 (file)
@@ -126,16 +126,25 @@ class FluidbookPublication extends ToolboxSettingsModel
         }
     }
 
-    public function onBeforeStore($controller, $request)
+    public function onSaving():bool
     {
         $this->setComposedAttributes();
-        parent::onBeforeStore($controller, $request);
+        $this->checkHash();
+        return parent::onSaving();
     }
 
-    public function onBeforeUpdate($controller, $request)
+    public function onSaved():bool
     {
         $this->setComposedAttributes();
-        parent::onBeforeUpdate($controller, $request);
+        $this->checkHash();
+        return parent::onSaved();
+    }
+
+    protected function checkHash()
+    {
+        if (!$this->hash) {
+            $this->hash = md5(uniqid('fluidbook_hash'), false);
+        }
     }
 
     protected function setComposedAttributes()
index b654367dbcf115bab96c8ad3157278ce86b53b56..f68086e65a4e35d5ba352c919047d1b6799ecc81 100644 (file)
@@ -46,7 +46,6 @@ class FluidbookFarm
         }
         $pings = json_decode(file_get_contents(self::_pingCache()));
 
-
         foreach (self::$_farmServers as $k => $farmServer) {
             if (!isset($pings[$k]) || !$pings[$k]) {
                 continue;
@@ -144,15 +143,4 @@ class FluidbookFarm
         file_put_contents($cache, json_encode($pings));
         file_put_contents(self::_serversCache(), json_encode($servers));
     }
-
-    public static function update()
-    {
-        foreach (self::getServers() as $id => $farmer) {
-            echo $farmer['host'] . ' (' . $id . ')' . "\n";
-//            $cl = new CommandLine('sudo /usr/local/fluidbook_processfarm/bin/update');
-//            $cl->setSSH($farmer['host'], 'fluidbookfarmer', '', $farmer['port'] ?? 22, self::KEY);
-//            $cl->execute();
-//            echo $cl->getCommand() . "\n\n--\n\n" . $cl->getOutput() . "\n\n";
-        }
-    }
 }
index 2bbf9ca2845da50ccc7359c0296fbb141a2c483b..8f1ca19488d317605359c859c735176817d35ec3 100644 (file)
             "source": {
                 "type": "git",
                 "url": "git://git.cubedesigners.com/cubist_cms-back.git",
-                "reference": "6454134c2ba393af414015161e848f558c2ce6f4"
+                "reference": "4b026cb7fe8dd1bd19031b7b8b5b2054eeb50a74"
             },
             "dist": {
                 "type": "tar",
-                "url": "https://composer.cubedesigners.com/dist/cubist/cms-back/cubist-cms-back-dev-master-846d77.tar",
-                "reference": "6454134c2ba393af414015161e848f558c2ce6f4",
-                "shasum": "ed613a7053471ae71b5dc9099a62078b551aa802"
+                "url": "https://composer.cubedesigners.com/dist/cubist/cms-back/cubist-cms-back-dev-master-0bc28f.tar",
+                "reference": "4b026cb7fe8dd1bd19031b7b8b5b2054eeb50a74",
+                "shasum": "2803d5d94d298ff93154b9e220fe13b7916861ee"
             },
             "require": {
                 "backpack/backupmanager": "^3.0",
                 }
             ],
             "description": "Cubist Backpack extension",
-            "time": "2022-09-06T13:10:18+00:00"
+            "time": "2022-09-16T13:17:09+00:00"
         },
         {
             "name": "cubist/cms-front",
             "source": {
                 "type": "git",
                 "url": "git://git.cubedesigners.com/cubist_matomo.git",
-                "reference": "6fc6532042481409ec54713b2967bea13b20f89d"
+                "reference": "16b89dc9bd52116a343a0ef120311e06c0f3112f"
             },
             "dist": {
                 "type": "tar",
-                "url": "https://composer.cubedesigners.com/dist/cubist/matomo/cubist-matomo-dev-master-7b4016.tar",
-                "reference": "6fc6532042481409ec54713b2967bea13b20f89d",
-                "shasum": "3a9d43421797356f9931b05a37f60da138e10ee3"
+                "url": "https://composer.cubedesigners.com/dist/cubist/matomo/cubist-matomo-dev-master-484885.tar",
+                "reference": "16b89dc9bd52116a343a0ef120311e06c0f3112f",
+                "shasum": "c8855c22c5d8a21bbdcdbcfd0c12bcbfea86544b"
             },
             "require": {
                 "ext-json": "*",
                 }
             ],
             "description": "Matomo API",
-            "time": "2022-06-15T10:09:17+00:00"
+            "time": "2022-09-21T16:20:01+00:00"
         },
         {
             "name": "cubist/net",
             "source": {
                 "type": "git",
                 "url": "git://git.cubedesigners.com/cubist_util.git",
-                "reference": "7af79fc34fb7afaaca8b2de088c04172293f06f4"
+                "reference": "75ae132b8f2e1d349f68c75ab461b491294a53ef"
             },
             "dist": {
                 "type": "tar",
-                "url": "https://composer.cubedesigners.com/dist/cubist/util/cubist-util-dev-master-399a60.tar",
-                "reference": "7af79fc34fb7afaaca8b2de088c04172293f06f4",
-                "shasum": "395d3d25138aa3a3ab9473113de4a91f951f692d"
+                "url": "https://composer.cubedesigners.com/dist/cubist/util/cubist-util-dev-master-f8ed7c.tar",
+                "reference": "75ae132b8f2e1d349f68c75ab461b491294a53ef",
+                "shasum": "85d5db94b723ba67671638381374777fb0338057"
             },
             "require": {
                 "cubist/net": "dev-master",
                 }
             ],
             "description": "Utilities class",
-            "time": "2022-09-06T16:14:45+00:00"
+            "time": "2022-09-07T08:21:52+00:00"
         },
         {
             "name": "cviebrock/eloquent-sluggable",
         },
         {
             "name": "doctrine/dbal",
-            "version": "3.4.4",
+            "version": "3.4.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/doctrine/dbal.git",
-                "reference": "4cbbe6e4b9ef6c69d5f4c968c637476f47bb54f5"
+                "reference": "a5a58773109c0abb13e658c8ccd92aeec8d07f9e"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/dbal/zipball/4cbbe6e4b9ef6c69d5f4c968c637476f47bb54f5",
-                "reference": "4cbbe6e4b9ef6c69d5f4c968c637476f47bb54f5",
+                "url": "https://api.github.com/repos/doctrine/dbal/zipball/a5a58773109c0abb13e658c8ccd92aeec8d07f9e",
+                "reference": "a5a58773109c0abb13e658c8ccd92aeec8d07f9e",
                 "shasum": ""
             },
             "require": {
             ],
             "support": {
                 "issues": "https://github.com/doctrine/dbal/issues",
-                "source": "https://github.com/doctrine/dbal/tree/3.4.4"
+                "source": "https://github.com/doctrine/dbal/tree/3.4.5"
             },
             "funding": [
                 {
                     "type": "tidelift"
                 }
             ],
-            "time": "2022-09-01T21:26:42+00:00"
+            "time": "2022-09-23T17:48:57+00:00"
         },
         {
             "name": "doctrine/deprecations",
         },
         {
             "name": "doctrine/inflector",
-            "version": "2.0.4",
+            "version": "2.0.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/doctrine/inflector.git",
-                "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89"
+                "reference": "ade2b3bbfb776f27f0558e26eed43b5d9fe1b392"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
-                "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
+                "url": "https://api.github.com/repos/doctrine/inflector/zipball/ade2b3bbfb776f27f0558e26eed43b5d9fe1b392",
+                "reference": "ade2b3bbfb776f27f0558e26eed43b5d9fe1b392",
                 "shasum": ""
             },
             "require": {
                 "php": "^7.2 || ^8.0"
             },
             "require-dev": {
-                "doctrine/coding-standard": "^8.2",
-                "phpstan/phpstan": "^0.12",
-                "phpstan/phpstan-phpunit": "^0.12",
-                "phpstan/phpstan-strict-rules": "^0.12",
-                "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
-                "vimeo/psalm": "^4.10"
+                "doctrine/coding-standard": "^9",
+                "phpstan/phpstan": "^1.8",
+                "phpstan/phpstan-phpunit": "^1.1",
+                "phpstan/phpstan-strict-rules": "^1.3",
+                "phpunit/phpunit": "^8.5 || ^9.5",
+                "vimeo/psalm": "^4.25"
             },
             "type": "library",
             "autoload": {
             ],
             "support": {
                 "issues": "https://github.com/doctrine/inflector/issues",
-                "source": "https://github.com/doctrine/inflector/tree/2.0.4"
+                "source": "https://github.com/doctrine/inflector/tree/2.0.5"
             },
             "funding": [
                 {
                     "type": "tidelift"
                 }
             ],
-            "time": "2021-10-22T20:16:43+00:00"
+            "time": "2022-09-07T09:01:28+00:00"
         },
         {
             "name": "doctrine/lexer",
         },
         {
             "name": "dragonmantank/cron-expression",
-            "version": "v3.3.1",
+            "version": "v3.3.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/dragonmantank/cron-expression.git",
-                "reference": "be85b3f05b46c39bbc0d95f6c071ddff669510fa"
+                "reference": "782ca5968ab8b954773518e9e49a6f892a34b2a8"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/be85b3f05b46c39bbc0d95f6c071ddff669510fa",
-                "reference": "be85b3f05b46c39bbc0d95f6c071ddff669510fa",
+                "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/782ca5968ab8b954773518e9e49a6f892a34b2a8",
+                "reference": "782ca5968ab8b954773518e9e49a6f892a34b2a8",
                 "shasum": ""
             },
             "require": {
             ],
             "support": {
                 "issues": "https://github.com/dragonmantank/cron-expression/issues",
-                "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.1"
+                "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.2"
             },
             "funding": [
                 {
                     "type": "github"
                 }
             ],
-            "time": "2022-01-18T15:43:28+00:00"
+            "time": "2022-09-10T18:51:20+00:00"
         },
         {
             "name": "egulias/email-validator",
         },
         {
             "name": "elasticsearch/elasticsearch",
-            "version": "v7.17.0",
+            "version": "v7.17.1",
             "source": {
                 "type": "git",
-                "url": "https://github.com/elastic/elasticsearch-php.git",
-                "reference": "1890f9d7fde076b5a3ddcf579a802af05b2e781b"
+                "url": "git@github.com:elastic/elasticsearch-php.git",
+                "reference": "f1b8918f411b837ce5f6325e829a73518fd50367"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/elastic/elasticsearch-php/zipball/1890f9d7fde076b5a3ddcf579a802af05b2e781b",
-                "reference": "1890f9d7fde076b5a3ddcf579a802af05b2e781b",
+                "url": "https://api.github.com/repos/elastic/elasticsearch-php/zipball/f1b8918f411b837ce5f6325e829a73518fd50367",
+                "reference": "f1b8918f411b837ce5f6325e829a73518fd50367",
                 "shasum": ""
             },
             "require": {
                 "elasticsearch",
                 "search"
             ],
-            "support": {
-                "issues": "https://github.com/elastic/elasticsearch-php/issues",
-                "source": "https://github.com/elastic/elasticsearch-php/tree/v7.17.0"
-            },
-            "time": "2022-02-03T13:40:04+00:00"
+            "time": "2022-09-30T12:28:55+00:00"
         },
         {
             "name": "evenement/evenement",
         },
         {
             "name": "ezyang/htmlpurifier",
-            "version": "v4.14.0",
+            "version": "v4.16.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/ezyang/htmlpurifier.git",
-                "reference": "12ab42bd6e742c70c0a52f7b82477fcd44e64b75"
+                "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/12ab42bd6e742c70c0a52f7b82477fcd44e64b75",
-                "reference": "12ab42bd6e742c70c0a52f7b82477fcd44e64b75",
+                "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/523407fb06eb9e5f3d59889b3978d5bfe94299c8",
+                "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.2"
+                "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0"
+            },
+            "require-dev": {
+                "cerdic/css-tidy": "^1.7 || ^2.0",
+                "simpletest/simpletest": "dev-master"
+            },
+            "suggest": {
+                "cerdic/css-tidy": "If you want to use the filter 'Filter.ExtractStyleBlocks'.",
+                "ext-bcmath": "Used for unit conversion and imagecrash protection",
+                "ext-iconv": "Converts text to and from non-UTF-8 encodings",
+                "ext-tidy": "Used for pretty-printing HTML"
             },
             "type": "library",
             "autoload": {
             ],
             "support": {
                 "issues": "https://github.com/ezyang/htmlpurifier/issues",
-                "source": "https://github.com/ezyang/htmlpurifier/tree/v4.14.0"
+                "source": "https://github.com/ezyang/htmlpurifier/tree/v4.16.0"
             },
-            "time": "2021-12-25T01:21:49+00:00"
+            "time": "2022-09-18T07:06:19+00:00"
         },
         {
             "name": "fideloper/proxy",
             "source": {
                 "type": "git",
                 "url": "git://git.cubedesigners.com/fluidbook_tools.git",
-                "reference": "23b8f0063f12651a93f4f06ba67121a1fa4ece9b"
+                "reference": "2069788713dc2bf4c8c464958d9a36ebcbb2ac11"
             },
             "dist": {
                 "type": "tar",
-                "url": "https://composer.cubedesigners.com/dist/fluidbook/tools/fluidbook-tools-dev-master-eae3a1.tar",
-                "reference": "23b8f0063f12651a93f4f06ba67121a1fa4ece9b",
-                "shasum": "3eed967218a8ef47a2fe14a99fd84ef1da81f878"
+                "url": "https://composer.cubedesigners.com/dist/fluidbook/tools/fluidbook-tools-dev-master-8744f8.tar",
+                "reference": "2069788713dc2bf4c8c464958d9a36ebcbb2ac11",
+                "shasum": "f0db558ca71f706206a6059604f8dd47c31a1d46"
             },
             "require": {
                 "barryvdh/laravel-debugbar": "^3.6",
                 }
             ],
             "description": "Fluidbook Tools",
-            "time": "2022-08-31T10:45:30+00:00"
+            "time": "2022-09-19T06:07:29+00:00"
         },
         {
             "name": "genealabs/laravel-model-caching",
         },
         {
             "name": "laravel/framework",
-            "version": "v8.83.23",
+            "version": "v8.83.25",
             "source": {
                 "type": "git",
                 "url": "https://github.com/laravel/framework.git",
-                "reference": "bdc707f8b9bcad289b24cd182d98ec7480ac4491"
+                "reference": "b77b908a9426efa41d6286a2ef4c3adbf5398ca1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/laravel/framework/zipball/bdc707f8b9bcad289b24cd182d98ec7480ac4491",
-                "reference": "bdc707f8b9bcad289b24cd182d98ec7480ac4491",
+                "url": "https://api.github.com/repos/laravel/framework/zipball/b77b908a9426efa41d6286a2ef4c3adbf5398ca1",
+                "reference": "b77b908a9426efa41d6286a2ef4c3adbf5398ca1",
                 "shasum": ""
             },
             "require": {
                 "issues": "https://github.com/laravel/framework/issues",
                 "source": "https://github.com/laravel/framework"
             },
-            "time": "2022-07-26T13:30:00+00:00"
+            "time": "2022-09-30T13:00:40+00:00"
         },
         {
             "name": "laravel/serializable-closure",
-            "version": "v1.2.1",
+            "version": "v1.2.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/laravel/serializable-closure.git",
-                "reference": "d78fd36ba031a1a695ea5a406f29996948d7011b"
+                "reference": "47afb7fae28ed29057fdca37e16a84f90cc62fae"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/d78fd36ba031a1a695ea5a406f29996948d7011b",
-                "reference": "d78fd36ba031a1a695ea5a406f29996948d7011b",
+                "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/47afb7fae28ed29057fdca37e16a84f90cc62fae",
+                "reference": "47afb7fae28ed29057fdca37e16a84f90cc62fae",
                 "shasum": ""
             },
             "require": {
                 "issues": "https://github.com/laravel/serializable-closure/issues",
                 "source": "https://github.com/laravel/serializable-closure"
             },
-            "time": "2022-08-26T15:25:27+00:00"
+            "time": "2022-09-08T13:45:54+00:00"
         },
         {
             "name": "lavary/laravel-menu",
         },
         {
             "name": "league/flysystem",
-            "version": "1.1.9",
+            "version": "1.1.10",
             "source": {
                 "type": "git",
                 "url": "https://github.com/thephpleague/flysystem.git",
-                "reference": "094defdb4a7001845300334e7c1ee2335925ef99"
+                "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/094defdb4a7001845300334e7c1ee2335925ef99",
-                "reference": "094defdb4a7001845300334e7c1ee2335925ef99",
+                "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1",
+                "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1",
                 "shasum": ""
             },
             "require": {
             ],
             "support": {
                 "issues": "https://github.com/thephpleague/flysystem/issues",
-                "source": "https://github.com/thephpleague/flysystem/tree/1.1.9"
+                "source": "https://github.com/thephpleague/flysystem/tree/1.1.10"
             },
             "funding": [
                 {
                     "type": "other"
                 }
             ],
-            "time": "2021-12-09T09:40:50+00:00"
+            "time": "2022-10-04T09:16:37+00:00"
         },
         {
             "name": "league/glide",
         },
         {
             "name": "league/uri",
-            "version": "6.7.1",
+            "version": "6.8.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/thephpleague/uri.git",
-                "reference": "2d7c87a0860f3126a39f44a8a9bf2fed402dcfea"
+                "reference": "a700b4656e4c54371b799ac61e300ab25a2d1d39"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/thephpleague/uri/zipball/2d7c87a0860f3126a39f44a8a9bf2fed402dcfea",
-                "reference": "2d7c87a0860f3126a39f44a8a9bf2fed402dcfea",
+                "url": "https://api.github.com/repos/thephpleague/uri/zipball/a700b4656e4c54371b799ac61e300ab25a2d1d39",
+                "reference": "a700b4656e4c54371b799ac61e300ab25a2d1d39",
                 "shasum": ""
             },
             "require": {
                 "ext-json": "*",
                 "league/uri-interfaces": "^2.3",
-                "php": "^7.4 || ^8.0",
-                "psr/http-message": "^1.0"
+                "php": "^8.1",
+                "psr/http-message": "^1.0.1"
             },
             "conflict": {
                 "league/uri-schemes": "^1.0"
             },
             "require-dev": {
-                "friendsofphp/php-cs-fixer": "^v3.3.2",
-                "nyholm/psr7": "^1.5",
-                "php-http/psr7-integration-tests": "^1.1",
-                "phpstan/phpstan": "^1.2.0",
+                "friendsofphp/php-cs-fixer": "^v3.9.5",
+                "nyholm/psr7": "^1.5.1",
+                "php-http/psr7-integration-tests": "^1.1.1",
+                "phpbench/phpbench": "^1.2.6",
+                "phpstan/phpstan": "^1.8.5",
                 "phpstan/phpstan-deprecation-rules": "^1.0",
-                "phpstan/phpstan-phpunit": "^1.0.0",
-                "phpstan/phpstan-strict-rules": "^1.1.0",
-                "phpunit/phpunit": "^9.5.10",
-                "psr/http-factory": "^1.0"
+                "phpstan/phpstan-phpunit": "^1.1.1",
+                "phpstan/phpstan-strict-rules": "^1.4.3",
+                "phpunit/phpunit": "^9.5.24",
+                "psr/http-factory": "^1.0.1"
             },
             "suggest": {
                 "ext-fileinfo": "Needed to create Data URI from a filepath",
                 "docs": "https://uri.thephpleague.com",
                 "forum": "https://thephpleague.slack.com",
                 "issues": "https://github.com/thephpleague/uri/issues",
-                "source": "https://github.com/thephpleague/uri/tree/6.7.1"
+                "source": "https://github.com/thephpleague/uri/tree/6.8.0"
             },
             "funding": [
                 {
                     "type": "github"
                 }
             ],
-            "time": "2022-06-29T09:48:18+00:00"
+            "time": "2022-09-13T19:58:47+00:00"
         },
         {
             "name": "league/uri-interfaces",
         },
         {
             "name": "maximebf/debugbar",
-            "version": "v1.18.0",
+            "version": "v1.18.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/maximebf/php-debugbar.git",
-                "reference": "0d44b75f3b5d6d41ae83b79c7a4bceae7fbc78b6"
+                "reference": "ba0af68dd4316834701ecb30a00ce9604ced3ee9"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/0d44b75f3b5d6d41ae83b79c7a4bceae7fbc78b6",
-                "reference": "0d44b75f3b5d6d41ae83b79c7a4bceae7fbc78b6",
+                "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/ba0af68dd4316834701ecb30a00ce9604ced3ee9",
+                "reference": "ba0af68dd4316834701ecb30a00ce9604ced3ee9",
                 "shasum": ""
             },
             "require": {
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.17-dev"
+                    "dev-master": "1.18-dev"
                 }
             },
             "autoload": {
             ],
             "support": {
                 "issues": "https://github.com/maximebf/php-debugbar/issues",
-                "source": "https://github.com/maximebf/php-debugbar/tree/v1.18.0"
+                "source": "https://github.com/maximebf/php-debugbar/tree/v1.18.1"
             },
-            "time": "2021-12-27T18:49:48+00:00"
+            "time": "2022-03-31T14:55:54+00:00"
         },
         {
             "name": "maxmind-db/reader",
         },
         {
             "name": "php-http/client-common",
-            "version": "2.5.0",
+            "version": "2.6.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-http/client-common.git",
-                "reference": "d135751167d57e27c74de674d6a30cef2dc8e054"
+                "reference": "45db684cd4e186dcdc2b9c06b22970fe123796c0"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-http/client-common/zipball/d135751167d57e27c74de674d6a30cef2dc8e054",
-                "reference": "d135751167d57e27c74de674d6a30cef2dc8e054",
+                "url": "https://api.github.com/repos/php-http/client-common/zipball/45db684cd4e186dcdc2b9c06b22970fe123796c0",
+                "reference": "45db684cd4e186dcdc2b9c06b22970fe123796c0",
                 "shasum": ""
             },
             "require": {
             ],
             "support": {
                 "issues": "https://github.com/php-http/client-common/issues",
-                "source": "https://github.com/php-http/client-common/tree/2.5.0"
+                "source": "https://github.com/php-http/client-common/tree/2.6.0"
             },
-            "time": "2021-11-26T15:01:24+00:00"
+            "time": "2022-09-29T09:59:43+00:00"
         },
         {
             "name": "php-http/discovery",
         },
         {
             "name": "phpoffice/phpspreadsheet",
-            "version": "1.24.1",
+            "version": "1.25.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/PHPOffice/PhpSpreadsheet.git",
-                "reference": "69991111e05fca3ff7398e1e7fca9ebed33efec6"
+                "reference": "a317a09e7def49852400a4b3eca4a4b0790ceeb5"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/69991111e05fca3ff7398e1e7fca9ebed33efec6",
-                "reference": "69991111e05fca3ff7398e1e7fca9ebed33efec6",
+                "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/a317a09e7def49852400a4b3eca4a4b0790ceeb5",
+                "reference": "a317a09e7def49852400a4b3eca4a4b0790ceeb5",
                 "shasum": ""
             },
             "require": {
                 "ext-xmlwriter": "*",
                 "ext-zip": "*",
                 "ext-zlib": "*",
-                "ezyang/htmlpurifier": "^4.13",
+                "ezyang/htmlpurifier": "^4.15",
                 "maennchen/zipstream-php": "^2.1",
                 "markbaker/complex": "^3.0",
                 "markbaker/matrix": "^3.0",
                 "php": "^7.3 || ^8.0",
                 "psr/http-client": "^1.0",
                 "psr/http-factory": "^1.0",
-                "psr/simple-cache": "^1.0 || ^2.0"
+                "psr/simple-cache": "^1.0 || ^2.0 || ^3.0"
             },
             "require-dev": {
                 "dealerdirect/phpcodesniffer-composer-installer": "dev-master",
                 "dompdf/dompdf": "^1.0 || ^2.0",
                 "friendsofphp/php-cs-fixer": "^3.2",
-                "jpgraph/jpgraph": "^4.0",
+                "mitoteam/jpgraph": "10.2.4",
                 "mpdf/mpdf": "8.1.1",
                 "phpcompatibility/php-compatibility": "^9.3",
                 "phpstan/phpstan": "^1.1",
                 "phpstan/phpstan-phpunit": "^1.0",
                 "phpunit/phpunit": "^8.5 || ^9.0",
                 "squizlabs/php_codesniffer": "^3.7",
-                "tecnickcom/tcpdf": "^6.4"
+                "tecnickcom/tcpdf": "6.5"
             },
             "suggest": {
-                "dompdf/dompdf": "Option for rendering PDF with PDF Writer (doesn't yet support PHP8)",
-                "jpgraph/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers",
+                "dompdf/dompdf": "Option for rendering PDF with PDF Writer",
+                "ext-intl": "PHP Internationalization Functions",
+                "mitoteam/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers",
                 "mpdf/mpdf": "Option for rendering PDF with PDF Writer",
-                "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer (doesn't yet support PHP8)"
+                "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer"
             },
             "type": "library",
             "autoload": {
             ],
             "support": {
                 "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues",
-                "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.24.1"
+                "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.25.2"
             },
-            "time": "2022-07-18T19:50:48+00:00"
+            "time": "2022-09-25T17:21:01+00:00"
         },
         {
             "name": "phpoption/phpoption",
         },
         {
             "name": "ramsey/uuid",
-            "version": "4.4.0",
+            "version": "4.5.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/ramsey/uuid.git",
-                "reference": "373f7bacfcf3de038778ff27dcce5672ddbf4c8a"
+                "reference": "a161a26d917604dc6d3aa25100fddf2556e9f35d"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/ramsey/uuid/zipball/373f7bacfcf3de038778ff27dcce5672ddbf4c8a",
-                "reference": "373f7bacfcf3de038778ff27dcce5672ddbf4c8a",
+                "url": "https://api.github.com/repos/ramsey/uuid/zipball/a161a26d917604dc6d3aa25100fddf2556e9f35d",
+                "reference": "a161a26d917604dc6d3aa25100fddf2556e9f35d",
                 "shasum": ""
             },
             "require": {
-                "brick/math": "^0.8 || ^0.9 || ^0.10",
+                "brick/math": "^0.8.8 || ^0.9 || ^0.10",
                 "ext-ctype": "*",
                 "ext-json": "*",
                 "php": "^8.0",
                 "php-mock/php-mock-mockery": "^1.3",
                 "php-parallel-lint/php-parallel-lint": "^1.1",
                 "phpbench/phpbench": "^1.0",
-                "phpstan/extension-installer": "^1.0",
-                "phpstan/phpstan": "^0.12",
-                "phpstan/phpstan-mockery": "^0.12",
-                "phpstan/phpstan-phpunit": "^0.12",
+                "phpstan/extension-installer": "^1.1",
+                "phpstan/phpstan": "^1.8",
+                "phpstan/phpstan-mockery": "^1.1",
+                "phpstan/phpstan-phpunit": "^1.1",
                 "phpunit/phpunit": "^8.5 || ^9",
-                "slevomat/coding-standard": "^7.0",
+                "ramsey/composer-repl": "^1.4",
+                "slevomat/coding-standard": "^8.4",
                 "squizlabs/php_codesniffer": "^3.5",
                 "vimeo/psalm": "^4.9"
             },
             ],
             "support": {
                 "issues": "https://github.com/ramsey/uuid/issues",
-                "source": "https://github.com/ramsey/uuid/tree/4.4.0"
+                "source": "https://github.com/ramsey/uuid/tree/4.5.1"
             },
             "funding": [
                 {
                     "type": "tidelift"
                 }
             ],
-            "time": "2022-08-05T17:58:37+00:00"
+            "time": "2022-09-16T03:22:46+00:00"
         },
         {
             "name": "react/promise",
         },
         {
             "name": "rustici-software/scormcloud-api-v2-client-php",
-            "version": "2.0.0",
+            "version": "2.1.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/RusticiSoftware/scormcloud-api-v2-client-php.git",
-                "reference": "edcd9c9ce86baabf889b6793693ce53277206804"
+                "reference": "70b4c0eb667e713457e8dd0d13ad365c204674ff"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/RusticiSoftware/scormcloud-api-v2-client-php/zipball/edcd9c9ce86baabf889b6793693ce53277206804",
-                "reference": "edcd9c9ce86baabf889b6793693ce53277206804",
+                "url": "https://api.github.com/repos/RusticiSoftware/scormcloud-api-v2-client-php/zipball/70b4c0eb667e713457e8dd0d13ad365c204674ff",
+                "reference": "70b4c0eb667e713457e8dd0d13ad365c204674ff",
                 "shasum": ""
             },
             "require": {
             ],
             "support": {
                 "issues": "https://github.com/RusticiSoftware/scormcloud-api-v2-client-php/issues",
-                "source": "https://github.com/RusticiSoftware/scormcloud-api-v2-client-php/tree/v2.0.0"
+                "source": "https://github.com/RusticiSoftware/scormcloud-api-v2-client-php/tree/v2.1.0"
             },
-            "time": "2021-11-04T14:08:31+00:00"
+            "time": "2022-09-27T16:11:03+00:00"
         },
         {
             "name": "spatie/db-dumper",
         },
         {
             "name": "swayok/alternative-laravel-cache",
-            "version": "6.1.6",
+            "version": "6.1.7",
             "source": {
                 "type": "git",
                 "url": "https://github.com/swayok/alternative-laravel-cache.git",
-                "reference": "a44b0725d3ed45dcae8c9236865d1016d6b8763d"
+                "reference": "40d72d0998a19e17bcb9d278faf5e7b3b27732dd"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/swayok/alternative-laravel-cache/zipball/a44b0725d3ed45dcae8c9236865d1016d6b8763d",
-                "reference": "a44b0725d3ed45dcae8c9236865d1016d6b8763d",
+                "url": "https://api.github.com/repos/swayok/alternative-laravel-cache/zipball/40d72d0998a19e17bcb9d278faf5e7b3b27732dd",
+                "reference": "40d72d0998a19e17bcb9d278faf5e7b3b27732dd",
                 "shasum": ""
             },
             "require": {
             ],
             "support": {
                 "issues": "https://github.com/swayok/alternative-laravel-cache/issues",
-                "source": "https://github.com/swayok/alternative-laravel-cache/tree/6.1.6"
+                "source": "https://github.com/swayok/alternative-laravel-cache/tree/6.1.7"
             },
-            "time": "2022-07-22T20:39:13+00:00"
+            "time": "2022-10-03T19:26:25+00:00"
         },
         {
             "name": "swiftmailer/swiftmailer",
         },
         {
             "name": "symfony/console",
-            "version": "v5.4.12",
+            "version": "v5.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/console.git",
-                "reference": "c072aa8f724c3af64e2c7a96b796a4863d24dba1"
+                "reference": "3f97f6c7b7e26848a90c0c0cfb91eeb2bb8618be"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/console/zipball/c072aa8f724c3af64e2c7a96b796a4863d24dba1",
-                "reference": "c072aa8f724c3af64e2c7a96b796a4863d24dba1",
+                "url": "https://api.github.com/repos/symfony/console/zipball/3f97f6c7b7e26848a90c0c0cfb91eeb2bb8618be",
+                "reference": "3f97f6c7b7e26848a90c0c0cfb91eeb2bb8618be",
                 "shasum": ""
             },
             "require": {
                 "terminal"
             ],
             "support": {
-                "source": "https://github.com/symfony/console/tree/v5.4.12"
+                "source": "https://github.com/symfony/console/tree/v5.4.13"
             },
             "funding": [
                 {
                     "type": "tidelift"
                 }
             ],
-            "time": "2022-08-17T13:18:05+00:00"
+            "time": "2022-08-26T13:50:20+00:00"
         },
         {
             "name": "symfony/css-selector",
         },
         {
             "name": "symfony/filesystem",
-            "version": "v6.1.4",
+            "version": "v6.1.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/filesystem.git",
-                "reference": "3f39c04d2630c34019907b02f85672dac99f8659"
+                "reference": "4d216a2beef096edf040a070117c39ca2abce307"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/filesystem/zipball/3f39c04d2630c34019907b02f85672dac99f8659",
-                "reference": "3f39c04d2630c34019907b02f85672dac99f8659",
+                "url": "https://api.github.com/repos/symfony/filesystem/zipball/4d216a2beef096edf040a070117c39ca2abce307",
+                "reference": "4d216a2beef096edf040a070117c39ca2abce307",
                 "shasum": ""
             },
             "require": {
             "description": "Provides basic utilities for the filesystem",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/filesystem/tree/v6.1.4"
+                "source": "https://github.com/symfony/filesystem/tree/v6.1.5"
             },
             "funding": [
                 {
                     "type": "tidelift"
                 }
             ],
-            "time": "2022-08-02T16:17:38+00:00"
+            "time": "2022-09-21T20:29:40+00:00"
         },
         {
             "name": "symfony/finder",
         },
         {
             "name": "symfony/http-client",
-            "version": "v6.1.4",
+            "version": "v6.1.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/http-client.git",
-                "reference": "06dc27cbdcee26d6796c226db5266a0d58359739"
+                "reference": "565b0f2ce2c5882e89b3ef5e255d7e0478b9c675"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/http-client/zipball/06dc27cbdcee26d6796c226db5266a0d58359739",
-                "reference": "06dc27cbdcee26d6796c226db5266a0d58359739",
+                "url": "https://api.github.com/repos/symfony/http-client/zipball/565b0f2ce2c5882e89b3ef5e255d7e0478b9c675",
+                "reference": "565b0f2ce2c5882e89b3ef5e255d7e0478b9c675",
                 "shasum": ""
             },
             "require": {
             "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/http-client/tree/v6.1.4"
+                "source": "https://github.com/symfony/http-client/tree/v6.1.5"
             },
             "funding": [
                 {
                     "type": "tidelift"
                 }
             ],
-            "time": "2022-08-02T16:17:38+00:00"
+            "time": "2022-09-09T09:34:27+00:00"
         },
         {
             "name": "symfony/http-client-contracts",
         },
         {
             "name": "symfony/http-foundation",
-            "version": "v5.4.12",
+            "version": "v5.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/http-foundation.git",
-                "reference": "f4bfe9611b113b15d98a43da68ec9b5a00d56791"
+                "reference": "54be067587a4f2b7fffb7a699f9481ec3daf9379"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f4bfe9611b113b15d98a43da68ec9b5a00d56791",
-                "reference": "f4bfe9611b113b15d98a43da68ec9b5a00d56791",
+                "url": "https://api.github.com/repos/symfony/http-foundation/zipball/54be067587a4f2b7fffb7a699f9481ec3daf9379",
+                "reference": "54be067587a4f2b7fffb7a699f9481ec3daf9379",
                 "shasum": ""
             },
             "require": {
             "description": "Defines an object-oriented layer for the HTTP specification",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/http-foundation/tree/v5.4.12"
+                "source": "https://github.com/symfony/http-foundation/tree/v5.4.13"
             },
             "funding": [
                 {
                     "type": "tidelift"
                 }
             ],
-            "time": "2022-08-19T07:33:17+00:00"
+            "time": "2022-09-17T07:31:22+00:00"
         },
         {
             "name": "symfony/http-kernel",
-            "version": "v5.4.12",
+            "version": "v5.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/http-kernel.git",
-                "reference": "37f660fa3bcd78fe4893ce23ebe934618ec099be"
+                "reference": "4f25330c216b7bb178603b2e25fb7a9325015507"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/http-kernel/zipball/37f660fa3bcd78fe4893ce23ebe934618ec099be",
-                "reference": "37f660fa3bcd78fe4893ce23ebe934618ec099be",
+                "url": "https://api.github.com/repos/symfony/http-kernel/zipball/4f25330c216b7bb178603b2e25fb7a9325015507",
+                "reference": "4f25330c216b7bb178603b2e25fb7a9325015507",
                 "shasum": ""
             },
             "require": {
             "description": "Provides a structured process for converting a Request into a Response",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/http-kernel/tree/v5.4.12"
+                "source": "https://github.com/symfony/http-kernel/tree/v5.4.13"
             },
             "funding": [
                 {
                     "type": "tidelift"
                 }
             ],
-            "time": "2022-08-26T14:40:40+00:00"
+            "time": "2022-09-30T07:40:28+00:00"
         },
         {
             "name": "symfony/mime",
-            "version": "v5.4.12",
+            "version": "v5.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/mime.git",
-                "reference": "03876e9c5a36f5b45e7d9a381edda5421eff8a90"
+                "reference": "bb2ccf759e2b967dcd11bdee5bdf30dddd2290bd"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/mime/zipball/03876e9c5a36f5b45e7d9a381edda5421eff8a90",
-                "reference": "03876e9c5a36f5b45e7d9a381edda5421eff8a90",
+                "url": "https://api.github.com/repos/symfony/mime/zipball/bb2ccf759e2b967dcd11bdee5bdf30dddd2290bd",
+                "reference": "bb2ccf759e2b967dcd11bdee5bdf30dddd2290bd",
                 "shasum": ""
             },
             "require": {
                 "mime-type"
             ],
             "support": {
-                "source": "https://github.com/symfony/mime/tree/v5.4.12"
+                "source": "https://github.com/symfony/mime/tree/v5.4.13"
             },
             "funding": [
                 {
                     "type": "tidelift"
                 }
             ],
-            "time": "2022-08-19T14:24:03+00:00"
+            "time": "2022-09-01T18:18:29+00:00"
         },
         {
             "name": "symfony/options-resolver",
         },
         {
             "name": "symfony/serializer",
-            "version": "v6.1.4",
+            "version": "v6.1.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/serializer.git",
-                "reference": "03e5987dd9bb98038c60c7af3e58500c81c4aec1"
+                "reference": "0986800f0c394bd46443afbf0a05c4386ffa1cd6"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/serializer/zipball/03e5987dd9bb98038c60c7af3e58500c81c4aec1",
-                "reference": "03e5987dd9bb98038c60c7af3e58500c81c4aec1",
+                "url": "https://api.github.com/repos/symfony/serializer/zipball/0986800f0c394bd46443afbf0a05c4386ffa1cd6",
+                "reference": "0986800f0c394bd46443afbf0a05c4386ffa1cd6",
                 "shasum": ""
             },
             "require": {
             "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/serializer/tree/v6.1.4"
+                "source": "https://github.com/symfony/serializer/tree/v6.1.5"
             },
             "funding": [
                 {
                     "type": "tidelift"
                 }
             ],
-            "time": "2022-08-26T10:32:31+00:00"
+            "time": "2022-09-29T11:04:32+00:00"
         },
         {
             "name": "symfony/service-contracts",
         },
         {
             "name": "symfony/string",
-            "version": "v6.1.4",
+            "version": "v6.1.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/string.git",
-                "reference": "290972cad7b364e3befaa74ba0ec729800fb161c"
+                "reference": "17c08b068176996a1d7db8d00ffae3c248267016"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/string/zipball/290972cad7b364e3befaa74ba0ec729800fb161c",
-                "reference": "290972cad7b364e3befaa74ba0ec729800fb161c",
+                "url": "https://api.github.com/repos/symfony/string/zipball/17c08b068176996a1d7db8d00ffae3c248267016",
+                "reference": "17c08b068176996a1d7db8d00ffae3c248267016",
                 "shasum": ""
             },
             "require": {
                 "utf8"
             ],
             "support": {
-                "source": "https://github.com/symfony/string/tree/v6.1.4"
+                "source": "https://github.com/symfony/string/tree/v6.1.5"
             },
             "funding": [
                 {
                     "type": "tidelift"
                 }
             ],
-            "time": "2022-08-12T18:05:43+00:00"
+            "time": "2022-09-02T08:05:20+00:00"
         },
         {
             "name": "symfony/translation",
         },
         {
             "name": "symfony/var-dumper",
-            "version": "v5.4.11",
+            "version": "v5.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/var-dumper.git",
-                "reference": "b8f306d7b8ef34fb3db3305be97ba8e088fb4861"
+                "reference": "2bf2ccab581bec363191672f0df40e0c85569e1c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/var-dumper/zipball/b8f306d7b8ef34fb3db3305be97ba8e088fb4861",
-                "reference": "b8f306d7b8ef34fb3db3305be97ba8e088fb4861",
+                "url": "https://api.github.com/repos/symfony/var-dumper/zipball/2bf2ccab581bec363191672f0df40e0c85569e1c",
+                "reference": "2bf2ccab581bec363191672f0df40e0c85569e1c",
                 "shasum": ""
             },
             "require": {
                 "dump"
             ],
             "support": {
-                "source": "https://github.com/symfony/var-dumper/tree/v5.4.11"
+                "source": "https://github.com/symfony/var-dumper/tree/v5.4.13"
             },
             "funding": [
                 {
                     "type": "tidelift"
                 }
             ],
-            "time": "2022-07-20T13:00:38+00:00"
+            "time": "2022-09-06T13:23:31+00:00"
         },
         {
             "name": "symfony/yaml",
         },
         {
             "name": "tijsverkoyen/css-to-inline-styles",
-            "version": "2.2.4",
+            "version": "2.2.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git",
-                "reference": "da444caae6aca7a19c0c140f68c6182e337d5b1c"
+                "reference": "4348a3a06651827a27d989ad1d13efec6bb49b19"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/da444caae6aca7a19c0c140f68c6182e337d5b1c",
-                "reference": "da444caae6aca7a19c0c140f68c6182e337d5b1c",
+                "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/4348a3a06651827a27d989ad1d13efec6bb49b19",
+                "reference": "4348a3a06651827a27d989ad1d13efec6bb49b19",
                 "shasum": ""
             },
             "require": {
             "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
             "support": {
                 "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues",
-                "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.4"
+                "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.5"
             },
-            "time": "2021-12-08T09:12:39+00:00"
+            "time": "2022-09-12T13:28:28+00:00"
         },
         {
             "name": "umpirsky/country-list",
         },
         {
             "name": "mockery/mockery",
-            "version": "1.5.0",
+            "version": "1.5.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/mockery/mockery.git",
-                "reference": "c10a5f6e06fc2470ab1822fa13fa2a7380f8fbac"
+                "reference": "e92dcc83d5a51851baf5f5591d32cb2b16e3684e"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/mockery/mockery/zipball/c10a5f6e06fc2470ab1822fa13fa2a7380f8fbac",
-                "reference": "c10a5f6e06fc2470ab1822fa13fa2a7380f8fbac",
+                "url": "https://api.github.com/repos/mockery/mockery/zipball/e92dcc83d5a51851baf5f5591d32cb2b16e3684e",
+                "reference": "e92dcc83d5a51851baf5f5591d32cb2b16e3684e",
                 "shasum": ""
             },
             "require": {
             ],
             "support": {
                 "issues": "https://github.com/mockery/mockery/issues",
-                "source": "https://github.com/mockery/mockery/tree/1.5.0"
+                "source": "https://github.com/mockery/mockery/tree/1.5.1"
             },
-            "time": "2022-01-20T13:18:17+00:00"
+            "time": "2022-09-07T15:32:08+00:00"
         },
         {
             "name": "myclabs/deep-copy",
         },
         {
             "name": "phpunit/phpunit",
-            "version": "8.5.29",
+            "version": "8.5.30",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/phpunit.git",
-                "reference": "e8c563c47a9a303662955518ca532b022b337f4d"
+                "reference": "4fd448df9affda65a5faa58f8b93087d415216ce"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e8c563c47a9a303662955518ca532b022b337f4d",
-                "reference": "e8c563c47a9a303662955518ca532b022b337f4d",
+                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4fd448df9affda65a5faa58f8b93087d415216ce",
+                "reference": "4fd448df9affda65a5faa58f8b93087d415216ce",
                 "shasum": ""
             },
             "require": {
                 "phpunit/php-file-iterator": "^2.0.4",
                 "phpunit/php-text-template": "^1.2.1",
                 "phpunit/php-timer": "^2.1.2",
-                "sebastian/comparator": "^3.0.2",
+                "sebastian/comparator": "^3.0.5",
                 "sebastian/diff": "^3.0.2",
                 "sebastian/environment": "^4.2.3",
-                "sebastian/exporter": "^3.1.2",
+                "sebastian/exporter": "^3.1.5",
                 "sebastian/global-state": "^3.0.0",
                 "sebastian/object-enumerator": "^3.0.3",
                 "sebastian/resource-operations": "^2.0.1",
             ],
             "support": {
                 "issues": "https://github.com/sebastianbergmann/phpunit/issues",
-                "source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.29"
+                "source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.30"
             },
             "funding": [
                 {
                 {
                     "url": "https://github.com/sebastianbergmann",
                     "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
+                    "type": "tidelift"
                 }
             ],
-            "time": "2022-08-22T13:59:39+00:00"
+            "time": "2022-09-25T03:43:00+00:00"
         },
         {
             "name": "psy/psysh",
         },
         {
             "name": "sebastian/comparator",
-            "version": "3.0.3",
+            "version": "3.0.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/comparator.git",
-                "reference": "1071dfcef776a57013124ff35e1fc41ccd294758"
+                "reference": "1dc7ceb4a24aede938c7af2a9ed1de09609ca770"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1071dfcef776a57013124ff35e1fc41ccd294758",
-                "reference": "1071dfcef776a57013124ff35e1fc41ccd294758",
+                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dc7ceb4a24aede938c7af2a9ed1de09609ca770",
+                "reference": "1dc7ceb4a24aede938c7af2a9ed1de09609ca770",
                 "shasum": ""
             },
             "require": {
             ],
             "support": {
                 "issues": "https://github.com/sebastianbergmann/comparator/issues",
-                "source": "https://github.com/sebastianbergmann/comparator/tree/3.0.3"
+                "source": "https://github.com/sebastianbergmann/comparator/tree/3.0.5"
             },
             "funding": [
                 {
                     "type": "github"
                 }
             ],
-            "time": "2020-11-30T08:04:30+00:00"
+            "time": "2022-09-14T12:31:48+00:00"
         },
         {
             "name": "sebastian/diff",
         },
         {
             "name": "sebastian/exporter",
-            "version": "3.1.4",
+            "version": "3.1.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/exporter.git",
-                "reference": "0c32ea2e40dbf59de29f3b49bf375176ce7dd8db"
+                "reference": "73a9676f2833b9a7c36968f9d882589cd75511e6"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/0c32ea2e40dbf59de29f3b49bf375176ce7dd8db",
-                "reference": "0c32ea2e40dbf59de29f3b49bf375176ce7dd8db",
+                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/73a9676f2833b9a7c36968f9d882589cd75511e6",
+                "reference": "73a9676f2833b9a7c36968f9d882589cd75511e6",
                 "shasum": ""
             },
             "require": {
             ],
             "support": {
                 "issues": "https://github.com/sebastianbergmann/exporter/issues",
-                "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.4"
+                "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.5"
             },
             "funding": [
                 {
                     "type": "github"
                 }
             ],
-            "time": "2021-11-11T13:51:24+00:00"
+            "time": "2022-09-14T06:00:17+00:00"
         },
         {
             "name": "sebastian/global-state",
index dabbafd4b253e970e462ae80d56c4efd1c42493c..376c01d28a9242c30f86d6c6765b438fea20072f 100644 (file)
                         }
                         i++;
                     });
-                    $("#compositionFiel").val(JSON.stringify(res));
+                    $("#compositionField").val(JSON.stringify(res));
                     $('input[name="page_numbers"]').val(numbers.join(','));
                     $('input[name="vectorPages"]').val(vector.join(','));
                     $('input[name="rasterizePages"]').val(raster.join(','));
diff --git a/scripts/webvideo b/scripts/webvideo
new file mode 100644 (file)
index 0000000..e0a2c65
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+filename=$(basename $1)
+filename=${filename%.*}
+jpg=$2/$filename.jpg
+mp4=$2/$filename.mp4
+
+if [ ! -f $jpg ]
+then
+        ffmpeg -i $1 -y -r 1 -ss 00:00:04 -t 00:00:01 -f image2 $jpg
+fi
+
+if [ ! -f $jpg ]
+then
+        ffmpeg -i $1 -y -r 1 -ss 00:00:00 -t 00:00:01 -f image2 $jpg
+fi
+
+if [ ! -f $mp4 ] && [ extension != "mp4" ]
+then
+        ffmpeg -i $1 \
+        -y \
+        -acodec aac \
+        -vcodec libx264 \
+        -b 384k \
+        -ab 64k \
+        -mbd 2 \
+        -cmp 256 \
+        -subcmp 2 \
+        -subq 6 \
+        -strict experimental \
+        -vf scale="640:trunc(320/a)*2" \
+        -coder 0 \
+        -trellis 0 \
+        -bf 0 \
+        -refs 5 \
+        -flags +loop+mv4 \
+        -partitions +parti4x4+parti8x8+partp4x4+partp8x8 \
+        -me_range 16 \
+        -g 250 \
+        -keyint_min 25 \
+        -sc_threshold 40 \
+        -i_qfactor 0.71 \
+        -qmin 10 -qmax 51 \
+        -qdiff 4 \
+        -ac 2 \
+        -ar 44100 \
+        -r 13 \
+        $mp4
+fi