}
$nointerface = !!request('nointerface', false);
$shortLoading = !!request('shortLoading', false);
+ $skipCompile = $shortLoading || !$time;
self::_getFluidbookAndTheme($id, $hash, $fluidbook, $theme);
}
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);
}
/**
* @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);
$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;
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,
'Google Analytics' => $fluidbook->googleAnalytics ? $fluidbook->googleTagManager : __('Désactivé')
];
+
function renameSettings($v, $fem = false, $plural = false) {
if($fem){
if($plural){
$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'];
}
}
+ start_measure('Download versions');
$downloadVersions = \App\Models\FluidbookPublication::getDownloadVersions();
$prefixDownloadUrl = '/fluidbook-publication/'.$fluidbook->id;
$prefixDownloadUrl = $prefixDownloadUrl.'/package';
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."]";
stroke-linejoin="round" stroke-width="1"/>
</g>';
-
+ stop_measure('Find settings 2');
@endphp
@section('after_styles')
@endsection
@section('content')
+ @php
+ start_measure('delivery contents');
+ @endphp
<div id="svg-container">
{!! $icons[0]["icons"] !!}
</div>
<div class="col-md-8">
<div class="card">
<div class="card-body">
- <a href="https://www.opengraph.xyz/url/{{ $fluidbook->getPreviewURL(['time'=>0]) }}"
+ <a href="https://www.opengraph.xyz/url/{{ rawurlencode($fluidbook->getPreviewURL(['time'=>0]).'/') }}"
class="mb-3 d-inline-block" target="_blank" rel="noopener">
{{ __('Simuler l\'apparence de votre Fluidbook lorsqu\'il est partagé sur les principaux réseaux sociaux') }}
</a>
<div class="container-iframe">
<iframe width="677" height="401" frameborder="0" marginheight="0" marginwidth="0"
allowfullscreen="true"
- src="{{$fluidbook->getPreviewUrl()}}/?widget=1&action=fullscreen&nav=auto"></iframe>
+ src="{{$fluidbook->getPreviewUrl(['time'=>0])}}/?widget=1&action=fullscreen&nav=auto"></iframe>
</div>
<div class="mt-2">
<a href="{{ getGoogleDocsURL($noticesUrls[$lang]['widget']) }}"
</div>
@endif
</div>
+ @php
+ stop_measure('delivery contents');
+ @endphp
@endsection
@push('after_scripts')