From: Vincent Vanwaelscappel Date: Tue, 2 Apr 2024 12:38:59 +0000 (+0200) Subject: wait #6836 @1.5 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=48e6e6d79001066dc79fcf7b21e43b467dc6d482;p=fluidbook-toolbox.git wait #6836 @1.5 --- diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/DownloadOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/DownloadOperation.php index 92e576d14..38b61ead3 100644 --- a/app/Http/Controllers/Admin/Operations/FluidbookPublication/DownloadOperation.php +++ b/app/Http/Controllers/Admin/Operations/FluidbookPublication/DownloadOperation.php @@ -31,6 +31,7 @@ trait DownloadOperation protected function delivery($id) { + start_measure('Delivery action'); if (!FluidbookPublication::hasPermission($id, 'read')) { abort(401); } @@ -38,11 +39,16 @@ trait DownloadOperation if ($fluidbook->getPagesNumber() === 0) { abort(404, __('Cette publication ne comporte aucune page')); } - return view('fluidbook_publication.delivery.index', ['fluidbook' => $fluidbook]); + start_measure('Render delivery view'); + $res= view('fluidbook_publication.delivery.index', ['fluidbook' => $fluidbook]); + stop_measure('Render delivery view'); + stop_measure('Delivery action'); + return $res; } protected function deliveryThumb($id, $type) { + $typeAvailable = ['desktop', 'mobile']; if (!FluidbookPublication::hasPermission($id, 'read')) { abort(401); diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/PreviewOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/PreviewOperation.php index d72836c99..7fbae2a6f 100644 --- a/app/Http/Controllers/Admin/Operations/FluidbookPublication/PreviewOperation.php +++ b/app/Http/Controllers/Admin/Operations/FluidbookPublication/PreviewOperation.php @@ -55,6 +55,7 @@ trait PreviewOperation } $nointerface = !!request('nointerface', false); $shortLoading = !!request('shortLoading', false); + $skipCompile = $shortLoading || !$time; self::_getFluidbookAndTheme($id, $hash, $fluidbook, $theme); @@ -64,12 +65,14 @@ trait PreviewOperation } if (null === $time || ((null === $path || $path === 'index.html') && $time > 0 && $time < (time() - 60) && !$nointerface && !$shortLoading)) { - $v = ($version === 'online') ? '' : $version . '/'; - $url = backpack_url($segment . '/preview/' . $v . $id . '_' . $hash . '_' . time()) . '/' . $q; + if (!$version) { + $version = 'online'; + } + $url = backpack_url($segment . '/preview/' . $version . '/' . $id . '_' . $hash . '_' . time()) . '/' . $q; return $this->loadingCompile($url, $id, $hash); } - return $this->preview($version, $fluidbook, $theme, $path); + return $this->preview($version, $fluidbook, $theme, $path, $skipCompile); } /** @@ -117,7 +120,7 @@ trait PreviewOperation * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response|object * @throws \Exception */ - public function preview($version, $fluidbook, $theme, $path = 'index.html') + public function preview($version, $fluidbook, $theme, $path = 'index.html', $skipCompile = false) { PHP::neverStop(false); @@ -130,8 +133,10 @@ trait PreviewOperation $dest = $fluidbook->getFinalPath($theme, $isScorm); if ($path === 'index.html') { $fluidbook->incrementPreviewVisit(); - $compiler = new Compiler($fluidbook, $isScorm, theme: $theme); - $compiler->handle(); + if (!$skipCompile) { + $compiler = new Compiler($fluidbook, $isScorm, theme: $theme); + $compiler->handle(); + } } $relayPath = $dest . '/' . $path; diff --git a/resources/views/fluidbook_publication/delivery/index.blade.php b/resources/views/fluidbook_publication/delivery/index.blade.php index 3628a99d9..50de4905e 100644 --- a/resources/views/fluidbook_publication/delivery/index.blade.php +++ b/resources/views/fluidbook_publication/delivery/index.blade.php @@ -6,18 +6,23 @@ trans('backpack::base.my_account') => false, ]; $statusText = $fluidbook->status ? __('prêt') : __('en cours de production'); + start_measure('Generate QR code'); $qrCodeMobile = QrCode::size(311)->color(27, 42, 78)->generate($fluidbook->getPreviewURL()); + stop_measure('Generate QR code'); $fluidbookDesktopPreview = route('deliveryThumb', ['id' => $fluidbook->id, 'type' => 'desktop']); $fluidbookMobilePreview = route('deliveryThumb', ['id' => $fluidbook->id, 'type' => 'mobile']); + start_measure('Generate Mobile First QR code'); $fluidbookMobileFirstId = $fluidbook->mobilefirstFluidbookId; if($fluidbookMobileFirstId){ $previewMobileFirstUrl = App\Models\FluidbookPublication::find($fluidbookMobileFirstId)->getPreviewURL(); $qrCodeMobileFirst = QrCode::size(311)->color(27, 42, 78)->generate($previewMobileFirstUrl); $fluidbookMobileFirstPreview = route('deliveryThumb', ['id' => $fluidbookMobileFirstId, 'type' => 'mobile']); } + stop_measure('Generate Mobile First QR code'); + start_measure('Find settings'); $totalPages = $fluidbook->getPagesNumber(); $settings = [ __('Titre') => $fluidbook->title, @@ -32,6 +37,7 @@ 'Google Analytics' => $fluidbook->googleAnalytics ? $fluidbook->googleTagManager : __('Désactivé') ]; + function renameSettings($v, $fem = false, $plural = false) { if($fem){ if($plural){ @@ -95,13 +101,17 @@ $cid = $fluidbook->cid; $socialImage = route('social_image',['cid' => $cid]); + stop_measure('Find settings'); + start_measure('Find settings 2'); $installServerUrl = null; if($fluidbook->install_online) { if($fluidbook->install_online['server']) { $serverId = intval($fluidbook->install_online['server']); $serverPath = $fluidbook->install_online['path']; + start_measure('Find servers'); $servers=\App\Models\FluidbookExternalInstallServer::getAllServers(); + stop_measure('Find servers'); $serverInfos = $servers[$serverId]; $baseUrl = $serverInfos['base_url']; $serverName = $serverInfos['name']; @@ -109,6 +119,7 @@ } } + start_measure('Download versions'); $downloadVersions = \App\Models\FluidbookPublication::getDownloadVersions(); $prefixDownloadUrl = '/fluidbook-publication/'.$fluidbook->id; $prefixDownloadUrl = $prefixDownloadUrl.'/package'; @@ -117,40 +128,41 @@ if($key === "online") { $downloadVersions[$key]['text'] = __("Standard"); $downloadVersions[$key]['type'] = __("(Serveur Web)"); - $downloadVersions[$key]['icon'] = file_get_contents(url('images/icons/icon-standard-server.svg')); + $downloadVersions[$key]['icon'] = file_get_contents(public_path('images/icons/icon-standard-server.svg')); $downloadVersions[$key]['notice_fr'] = "1j4lEk2vqUnenXZQs2ucNZg51aFTLmTOoHPgYolj46m0"; $downloadVersions[$key]['notice_en'] = "1CeLq8R8LMhWjZ0caXrO0HcfxRtzqGQkpaKJvDcYt_ZY"; $downloadVersions[$key]['enabled'] = $fluidbook->download_online; }elseif ($key === "scorm") { $downloadVersions[$key]['text'] = __("LMS Scorm"); $downloadVersions[$key]['type'] = __("(LMS / SCORM)"); - $downloadVersions[$key]['icon'] = file_get_contents(url('images/icons/icon-lms-scorm.svg')); + $downloadVersions[$key]['icon'] = file_get_contents(public_path('images/icons/icon-lms-scorm.svg')); $downloadVersions[$key]['notice_fr'] = "1cZ_dTdehk2av0ZUGryY1xLF5IQoqSyCmgBXPH1OYPu4"; // Pas de notice en Français $downloadVersions[$key]['notice_en'] = "1cZ_dTdehk2av0ZUGryY1xLF5IQoqSyCmgBXPH1OYPu4"; $downloadVersions[$key]['enabled'] = $fluidbook->download_scorm && $fluidbook->scorm_enable; }elseif ($key === "sharepoint") { $downloadVersions[$key]['text'] = __("SharePoint"); - $downloadVersions[$key]['icon'] = file_get_contents(url('images/icons/icon-sharepoint.svg')); + $downloadVersions[$key]['icon'] = file_get_contents(public_path('images/icons/icon-sharepoint.svg')); $downloadVersions[$key]['notice_fr'] = "1O5EInYbNmNmcqi0VXq0FU7CqeYV6VJeJ0aI-bbgSlBc"; $downloadVersions[$key]['notice_en'] = "1YeBLektflXZZz6yU-EKpYxe7i0fL0Oy13pB1vMdwMgw"; $downloadVersions[$key]['enabled'] = $fluidbook->download_sharepoint; }elseif ($key === "mac_exe_html") { $downloadVersions[$key]['text'] = __("Version Offline"); $downloadVersions[$key]['type'] = __("(Application MacOS)"); - $downloadVersions[$key]['icon'] = file_get_contents(url('images/icons/icon-mac-app.svg'), true); + $downloadVersions[$key]['icon'] = file_get_contents(public_path('images/icons/icon-mac-app.svg'), true); $downloadVersions[$key]['enabled'] = $fluidbook->download_mac_exe_html; }elseif ($key === "win_ins_html") { $downloadVersions[$key]['text'] = __("Version Offline"); $downloadVersions[$key]['type'] = __("(Application Windows)"); - $downloadVersions[$key]['icon'] = file_get_contents(url('images/icons/icon-windows-app.svg')); + $downloadVersions[$key]['icon'] = file_get_contents(public_path('images/icons/icon-windows-app.svg')); $downloadVersions[$key]['enabled'] = $fluidbook->download_win_ins_html; }elseif ($key === "win_cd_html") { $downloadVersions[$key]['text'] = __("Version Offline"); $downloadVersions[$key]['type'] = __("(CD-ROM / Clé USB)"); - $downloadVersions[$key]['icon'] = file_get_contents(url('images/icons/icon-cd-usb.svg')); + $downloadVersions[$key]['icon'] = file_get_contents(public_path('images/icons/icon-cd-usb.svg')); $downloadVersions[$key]['enabled'] = $fluidbook->download_win_cd_html; } } + stop_measure('Download versions'); $objectMail = "[Fluidbook #".$fluidbook->id."]"; @@ -234,7 +246,7 @@ stroke-linejoin="round" stroke-width="1"/> '; - + stop_measure('Find settings 2'); @endphp @section('after_styles') @@ -242,6 +254,9 @@ @endsection @section('content') + @php + start_measure('delivery contents'); + @endphp
{!! $icons[0]["icons"] !!}
@@ -407,7 +422,7 @@