From 7548e575efad63bd71f4091269201824d9a9dcc4 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Mon, 29 Aug 2022 20:36:52 +0200 Subject: [PATCH] wip #4592 @0.5 --- app/Fluidbook/SEO/Document.php | 3 ++- app/Jobs/FluidbookCompiler.php | 2 +- app/Models/FluidbookPublication.php | 16 ++++++++++++++-- app/Models/FluidbookTheme.php | 2 +- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/app/Fluidbook/SEO/Document.php b/app/Fluidbook/SEO/Document.php index a1767027b..21c51b4e1 100644 --- a/app/Fluidbook/SEO/Document.php +++ b/app/Fluidbook/SEO/Document.php @@ -5,6 +5,7 @@ namespace App\Fluidbook\SEO; use App\Jobs\FluidbookCompiler; use App\Models\FluidbookDocument; use App\Util\Excel; +use Cubist\Util\Json; use Cubist\Util\Text; class Document @@ -126,7 +127,7 @@ class Document public function _getPageLabel($page) { $res = $this->compiler->getSetting('title'); - foreach ($this->compiler->getFluidbook()->chapters as $chapter) { + foreach ($this->compiler->getFluidbook()->getChapters() as $chapter) { if (trim($chapter['label'], "\t\r\n\0\x0B-+") == '') { continue; } diff --git a/app/Jobs/FluidbookCompiler.php b/app/Jobs/FluidbookCompiler.php index 425ab4894..3eb75d475 100644 --- a/app/Jobs/FluidbookCompiler.php +++ b/app/Jobs/FluidbookCompiler.php @@ -3187,7 +3187,7 @@ height="0" width="0" style="display:none;visibility:hidden"> $this->lessVariables['menu-chapters-columns-width'] = $this->fluidbookSettings->chaptersColMaxWidth; $this->lessVariables['menu-chapters-font-size'] = $this->fluidbookSettings->chaptersFontSize; - foreach ($this->getFluidbook()->chapters as $chapter) { + foreach ($this->getFluidbook()->getChapters() as $chapter) { if ($chapter['color'] == '') { continue; } diff --git a/app/Models/FluidbookPublication.php b/app/Models/FluidbookPublication.php index d4899d74b..945084248 100644 --- a/app/Models/FluidbookPublication.php +++ b/app/Models/FluidbookPublication.php @@ -16,13 +16,14 @@ use App\Models\Base\ToolboxSettingsModel; use App\Models\Traits\PublicationSettings; use App\Models\Traits\SCORMVersionTrait; use Backpack\CRUD\app\Library\Widget; -use Cubist\Backpack\Magic\Fields\Datetime; use Cubist\Backpack\Magic\Fields\FormBigSection; use Cubist\Backpack\Magic\Fields\FormSuperSection; use Cubist\Backpack\Magic\Fields\Hidden; use Cubist\Backpack\Magic\Fields\Integer; use Cubist\Backpack\Magic\Fields\SelectFromArray; use Cubist\Util\Files\Files; +use Cubist\Util\Json; +use Datetime; class FluidbookPublication extends ToolboxSettingsModel { @@ -283,7 +284,7 @@ class FluidbookPublication extends ToolboxSettingsModel public function getCompositionUpdate(): int { if (null === $this->composition_updated_at) { - $this->composition_updated_at = new Datetime(); + $this->setAttribute('composition_updated_at', new Datetime()); $this->saveQuietly(); } return $this->composition_updated_at->getTimestamp(); @@ -295,6 +296,17 @@ class FluidbookPublication extends ToolboxSettingsModel return self::_getDocument($compo[0])->getPDFSource($type); } + /** + * @return array + */ + public function getChapters(): array + { + if (!$this->chapters) { + return []; + } + return Json::decode($this->chapters, true); + } + public function compile($dest) { diff --git a/app/Models/FluidbookTheme.php b/app/Models/FluidbookTheme.php index 5c52e7a40..b91ee22e8 100644 --- a/app/Models/FluidbookTheme.php +++ b/app/Models/FluidbookTheme.php @@ -811,7 +811,7 @@ class FluidbookTheme extends ToolboxSettingsModel } else { $get = ''; } - return 'https://workshop.fluidbook.com/viewerh/20098-' . $id . '_f2e0452eed6dba9878016ce5603fdc54/' . $get . '#/page/' . $page; + return 'https://toolbox.fluidbook.com/fluidbook-publication/preview/20098-' . $id . '_f2e0452eed6dba9878016ce5603fdc54/' . $get . '#/page/' . $page; } -- 2.39.5