From: Vincent Vanwaelscappel Date: Wed, 8 Mar 2023 19:44:44 +0000 (+0100) Subject: wait #5794 @0.75 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=8fdcf780a9c83acaa49ed698514e255448755e48;p=fluidbook-toolbox.git wait #5794 @0.75 --- diff --git a/app/Console/Commands/WorkshopMigration.php b/app/Console/Commands/WorkshopMigration.php index a044d101e..13d16d345 100644 --- a/app/Console/Commands/WorkshopMigration.php +++ b/app/Console/Commands/WorkshopMigration.php @@ -16,11 +16,12 @@ use Cubist\Backpack\Magic\Fields\Files; use Cubist\Util\ArrayUtil; use Cubist\Util\ObjectUtil; use Cubist\Util\PHP; +use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\DB; class WorkshopMigration extends CubistCommand { - protected $signature = 'ws:migrate {--publications=v2} {--documents=missing}'; + protected $signature = 'ws:migrate {--publications=v2} {--documents=missing} {--quick}'; protected $description = 'Migrate data from Workshop V2'; protected $_wsRanks = []; protected $_oldDB = 'extranet_clean'; @@ -43,6 +44,10 @@ class WorkshopMigration extends CubistCommand 'Clean caches' => 'cleanCache' ]; + if ($this->option('quick')) { + $actions = ['Import publications' => 'importPublications']; + } + $this->progressBar = $this->output->createProgressBar(count($actions)); $this->line(' Data migration, please wait'); @@ -61,18 +66,18 @@ class WorkshopMigration extends CubistCommand protected function migrate() { - $this->executeProcessQuiet('php artisan cubist:magic:generate'); - $this->executeProcessQuiet('php artisan cubist:magic:migrate'); + Artisan::call('cubist:magic:generate'); + Artisan::call('cubist:magic:migrate'); } protected function backup() { - $this->executeProcessQuiet('php artisan backup:run'); + Artisan::call('backup:run'); } protected function cleanCache() { - $this->executeProcessQuiet('php artisan optimize:clear'); + Artisan::call('optimize:clear'); } protected function importDocuments() diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/CloneOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/CloneOperation.php index beec32851..aa1d61161 100644 --- a/app/Http/Controllers/Admin/Operations/FluidbookPublication/CloneOperation.php +++ b/app/Http/Controllers/Admin/Operations/FluidbookPublication/CloneOperation.php @@ -50,7 +50,7 @@ trait CloneOperation $this->crud->hasAccessOrFail('clone'); $entry = $this->crud->model->findOrFail($id); if ($action === 'complete') { - $clonedEntry = $entry->replicate(); + $clonedEntry = $entry->replicateFull(); } else { $clonedEntry = $entry->replicateSettings(); } diff --git a/app/Jobs/FluidbookCompiler.php b/app/Jobs/FluidbookCompiler.php index 4890e78d1..ca4fd3df7 100644 --- a/app/Jobs/FluidbookCompiler.php +++ b/app/Jobs/FluidbookCompiler.php @@ -2230,7 +2230,7 @@ height="0" width="0" style="display:none;visibility:hidden"> $anchorExists[$linkData['to']] = $linkData; } if ($linkData['type'] == 35 || $linkData['type'] == 15 || $linkData['type'] == 39) { - $linkData = Links::decryptLink($linkData); + $linkData = Link::decryptLink($linkData); $animations = ContentLink::parseAnimations($linkData['image_rollover']); foreach ($animations as $animation) { if (isset($animation['backgroundcolor']) && $animation['backgroundcolor'] !== 'transparent') { diff --git a/app/Models/FluidbookPublication.php b/app/Models/FluidbookPublication.php index efd514246..a365cc948 100644 --- a/app/Models/FluidbookPublication.php +++ b/app/Models/FluidbookPublication.php @@ -34,6 +34,7 @@ use Cubist\Util\Files\Files; use Cubist\Util\Graphics\Image; use Cubist\Util\Json; use Datetime; +use Illuminate\Support\Facades\Artisan; // __('!!Paramètres des fluidbooks') class FluidbookPublication extends ToolboxSettingsModel @@ -543,7 +544,11 @@ class FluidbookPublication extends ToolboxSettingsModel protected function _baseReplicate(array $except = null) { - $new = parent::replicate($except); + $current = $this; + if ($this->syncFromWorkshop()) { + $current = static::find($this->id); + } + $new = $current->replicate($except); if (backpack_user()) { $new->owner = backpack_user()->id; } @@ -553,7 +558,7 @@ class FluidbookPublication extends ToolboxSettingsModel return $new; } - public function replicate(array $except = null) + public function replicateFull(array $except = null) { $new = $this->_baseReplicate($except); $new->save(); @@ -577,6 +582,15 @@ class FluidbookPublication extends ToolboxSettingsModel return $new; } + public function syncFromWorkshop() + { + if ($this->id >= WorkshopMigration::WS3_BOOK_ID) { + return false; + } + Artisan::call('ws:migrate --publications=' . $this->id . ' --documents=missing --quick'); + return true; + } + protected function _replicateMedia($newId) {