if (!FluidbookPublication::hasPermission($id, 'read')) {
abort(401);
}
- return view('fluidbook_publication.delivery', ['fluidbook' => FluidbookPublication::where('id', $id)->first()]);
+ return view('fluidbook_publication.delivery.index', ['fluidbook' => FluidbookPublication::where('id', $id)->first()]);
}
protected function deliveryThumb($id, $type)
+++ /dev/null
-@extends(backpack_view('blank'))
-
-@php
- $breadcrumbs = [
- trans('backpack::crud.admin') => url(config('backpack.base.route_prefix'), 'dashboard'),
- trans('backpack::base.my_account') => false,
- ];
- $statusText = $fluidbook->status ? __('prêt') : __('en cours de production');
- $qrCodeMobile = QrCode::size(311)->color(27, 42, 78)->generate($fluidbook->getPreviewURL());
-
- $fluidbookDesktopPreview = route('deliveryThumb', ['id' => $fluidbook->id, 'type' => 'desktop']);
- $fluidbookMobilePreview = route('deliveryThumb', ['id' => $fluidbook->id, 'type' => 'mobile']);
-
- $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']);
- }
-
- $totalPages = $fluidbook->getPagesNumber();
- $settings = [
- ['Titre' => $fluidbook->title],
- ['Nombre de pages' => $totalPages. ' pages'],
- ['Langue principale' => renameSettings($fluidbook->locale)],
- [__('Date de création') => ( new \Carbon\Carbon($fluidbook->created_at))->isoFormat('DD/MM/Y') ],
- [__('Dernière modification') => ( new \Carbon\Carbon($fluidbook->updated_at))->isoFormat('DD/MM/Y') ],
- ['Mode de navigation' => renameSettings($fluidbook->mobileTransitions)],
- ['SEO' => renameSettings($fluidbook->seoVersion)],
- ['SCORM (e-learning)' => $fluidbook->scorm_enabled ? 'SCORM '.$fluidbook->getSCORMVersion() : __('Désactivé')],
- ['Statistiques Fluidbook' => renameSettings($fluidbook->stats, true, true)],
- ['Google Analytics' => $fluidbook->googleAnalytics ? $fluidbook->googleTagManager : __('Désactivé')]
- ];
-
- function renameSettings($v, $fem = false, $plurial = false) {
- $e = $fem ? 'e' : '';
- $s = $plurial ? 's' : '';
- return match ($v) {
- 'flip3d','flip' => 'Flip',
- 'fade' => 'Air',
- '1' => __('Activé'.($e).($s)),
- '0','',null => __('Désactivé'.($e).($s)),
- 'fr' => __('Français'),
- 'en' => __('Anglais'),
- default => ucfirst($v)
- };
- }
-
- $features = [
- 'index' => ["value" => $fluidbook->index,"text" => __('Index'),"svg" => "nav-index"],
- 'print' => ["value" => $fluidbook->print,"text" => __('Imprimer'),"svg" => "nav-print"],
- 'chapters' => ["value" => $fluidbook->chapters,"text" => __('Sommaire'),"svg" => "nav-chapters"],
- 'friend' => ["value" => $fluidbook->share,"text" => __('Partager'),"svg" => "nav-share"],
- 'bookmark' => ["value" => $fluidbook->bookmark,"text" => __('Marques-pages'),"svg" => "nav-bookmarks"],
- 'pdf' => ["value" => $fluidbook->pdf,"text" => __('Télécharger'),"svg" => "nav-download"],
- 'sound' => ["value" => $fluidbook->soundTheme,"text" => __('Son'),"svg" => "nav-sound-on"],
- 'search' => ["value" => $fluidbook->search,"text" => __('Recherche'),"svg" => "nav-search"],
- 'help' => ["value" => $fluidbook->help,"text" => __('Aide'),"svg" => "nav-help"],
- 'notes' => ["value" => $fluidbook->notes,"text" => __('Notes'),"svg" => "nav-notes"],
- 'fullscreen' => ["value" => $fluidbook->fullscreen,"text" => __('Plein écran'),"svg" => "nav-fullscreen"],
- ];
-
- $orders = explode(',',$fluidbook->navOrder);
- $orders = array_map(function($n) { return trim($n); }, $orders);
- $orders = array_flip($orders);
- $orders = array_intersect_key($orders,$features);
-
- $featuresSorted = array_merge($orders, $features);
-
- $enabledFeatures = array_filter($featuresSorted, function($n){ return $n['value'] !== "0" && !empty($n['value']); });
- $disabledFeatures = array_filter($featuresSorted, function($n){ return $n['value'] !== "1" && empty($n['value']); });
-
- $icons = App\Models\FluidbookIconset::get('icons')->toArray();
-
- $statUrl = route('stats', ['fluidbook_id' => $fluidbook->id, 'hash' => $fluidbook->hash]);
- $cid = $fluidbook->cid;
-
- $socialImage = route('social_image',['cid' => $cid]);
- if($fluidbook->facebook_image)
- $socialImage = $fluidbook->facebook_image;
-
- $installServerUrl = null;
- if($fluidbook->install_online) {
- if($fluidbook->install_online['server']) {
- $serverId = intval($fluidbook->install_online['server']);
- $serverPath = $fluidbook->install_online['path'];
- $servers=\App\Models\FluidbookExternalInstallServer::getAllServers();
- $serverInfos = $servers[$serverId];
- $baseUrl = $serverInfos['base_url'];
- $serverName = $serverInfos['name'];
- $installServerUrl = $baseUrl.$serverPath;
- }
- }
-
- $downloadVersions = $fluidbook->getDownloadVersions();
- $prefixDownloadUrl = '/fluidbook-publication/'.$fluidbook->id;
- $prefixDownloadUrl = $prefixDownloadUrl.'/package';
-
- foreach ($downloadVersions as $key => $version) {
- 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]['notice_fr'] = "https://docs.google.com/document/d/1MK9aswqXXYleJwmbexKiAHNeNei-zTUb7CnbjkmNur4/edit";
- $downloadVersions[$key]['notice_en'] = "https://docs.google.com/document/d/18GlmLzUqJq_1UgAasSZKN9xDHmKQr4Mt8dY9Pex-Llw/edit?usp=drive_link";
- }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]['notice_fr'] = "https://docs.google.com/document/d/1wDrOihLieSRWLiXVHE4n7Ka_qHcDde_DeU6R--mzAZM/edit?usp=drive_link";
- $downloadVersions[$key]['notice_en'] = "https://docs.google.com/document/d/1g3jXC20krSiOSFG0TqzoJ7FsB8OUnvvjoI4yOMO8xUM/edit?usp=drive_link";
- }elseif ($key === "sharepoint") {
- $downloadVersions[$key]['text'] = __("SharePoint");
- $downloadVersions[$key]['icon'] = file_get_contents(url('images/icons/icon-sharepoint.svg'));
- $downloadVersions[$key]['notice_fr'] = "https://docs.google.com/document/d/15r6ajKDjLTlELhYVyIWJNzLkrsp8aqy4aRkP5vwNVQU/edit?usp=drive_link";
- $downloadVersions[$key]['notice_en'] = "https://docs.google.com/document/d/1FMh-fgMoFKPztGmexNA2h6VAbFa-OclPeYpLsv2eRtw/edit?usp=drive_link";
- }elseif ($key === "mac_exe_html") {
- $downloadVersions[$key]['text'] = __("Version Offline");
- $downloadVersions[$key]['type'] = __("(Mac App)");
- $downloadVersions[$key]['icon'] = file_get_contents(url('images/icons/icon-mac-app.svg'), true);
- }elseif ($key === "win_ins_html") {
- $downloadVersions[$key]['text'] = __("Version Offline");
- $downloadVersions[$key]['type'] = __("(Windows App)");
- $downloadVersions[$key]['icon'] = file_get_contents(url('images/icons/icon-windows-app.svg'));
- }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'));
- }
- }
-
- $objectMail = "[Fluidbook #".$fluidbook->id."]";
-
- $lang = app()->getLocale();
-
- $noticesUrls = [
- 'fr' => [
- 'widget' => "https://docs.google.com/document/d/1ezbBxEWqmTbWgBwGXmJUefCpRsRFuF6VAFRh5rDIJUQ/edit?usp=drive_link",
- 'ga' => "https://docs.google.com/document/d/1ycKxPWOtXUFyaPB2Eltfnq-Y5yn_XwwVue1TKwh4Kbk/edit?usp=drive_link"
- ],
- 'en' => [
- 'widget' => "https://docs.google.com/document/d/1J8xEY727rhdoAgD5mk96BZOuBES4sFvctuwomyIXWKI/edit?usp=drive_link",
- 'ga' => "https://docs.google.com/document/d/1dus2uWddT8VY8MIoEnx6KOfJWRQq_AYRGhYLtd2dYgI/edit?usp=drive_link"
- ],
- ];
-
- $CDPMail = $fluidbook->getProjectManagerEmail();
-@endphp
-
-@section('after_styles')
- <link rel="stylesheet" href="/packages/fluidbook/toolbox/css/delivery.css"/>
-@endsection
-
-@section('content')
- <div id="svg-container">
- {!! $icons[0]["icons"] !!}
- </div>
- <div class="row">
- <div class="col-spec col-lg-8 col-xl-9 bold-labels">
- <div class="w-100">
- <section class="container-fluid animated fadeIn">
- <h2 class="m-0">
- <span class="font-weight-light">{{ __('Bonjour :nom, votre Fluidbook est :status', ['nom' => Auth::user()->firstname ?: '', 'status' => $statusText]) }} !</span>
- </h2>
- @if($fluidbook->status)
- <h2 class="mb-4">
- <span class="text-capitalize">{{ $fluidbook->title }}</span>
- </h2>
- @else
- <p style="line-height: 22px;">{{ __('Vous pouvez voir ci-dessous les différentes versions de votre Fluidbook et vérifier ses
- caractéristiques') }}. <br>{{ __('Si tout vous convient, faites le savoir à votre chef de projet, il vous
- préparera les livrables') }}.</p>
- @endif
- <div class="delivery-anchor">
- <ul class="d-flex flex-md-row flex-sm-column list-none p-0 icon-m">
- <li><a href="#s_glimpses" class="text-decoration-none"><img
- src="{{ url('images/icons/icon-eye.svg') }}"/>{{ __('Aperçu de votre Fluidbook') }}
- </a></li>
- <li><a href="#s_settings" class="text-decoration-none"><img
- src="{{ url('images/icons/icon-settings.svg') }}"/>{{ __('Paramètres du Fluidbook') }}
- </a></li>
- <li class="{{ !$fluidbook->status ? 'disabled' : '' }}"><a href="#s_social"
- class="text-decoration-none"><img
- src="{{ url('images/icons/icon-like.svg') }}"/>{{ __('Faites connaitre votre Fluidbook') }}
- </a></li>
- <li class="{{ !$fluidbook->status ? 'disabled' : '' }}"><a href="#s_stats"
- class="text-decoration-none"><img
- src="{{ url('images/icons/icon-stats.svg') }}"/>{{ __('Mesurez votre audience') }}
- </a></li>
- </ul>
- </div>
- </section>
- <div id="s_glimpses" class="card">
- <div class="card-body">
- <div class="mb-4">
- <h2 class="m-0">{{ __('Aperçu de votre Fluidbook :id', ['id' => $fluidbook->id ]) }} -
- <span class="text-uppercase">{{ $fluidbook->locale }}</span>
- </h2>
- <span>{{ __('Cliquez sur l’une des versions ci-dessous pour la visualiser :') }}</span>
- </div>
- <div class="delivery-glimpses row">
- <div class="preview {{ $fluidbookMobileFirstId ? 'col-md-6' : 'col-md-8' }}">
- <p>{{ __('Version Desktop') }}</p>
- <div class="block">
- <a href="{{ $fluidbook->getPreviewURL() }}" target="_blank" rel="noopener"
- class="overlay-link"></a>
- <div class="preview-block">
- <img class="preview-desktop" src="{{ $fluidbookDesktopPreview }}"/>
- </div>
- <a href="{{ $fluidbook->getPreviewURL() }}" target="_blank" rel="noopener"
- class="btn btn-primary">{{ __('Voir') }}</a>
- </div>
- </div>
- <div class="preview {{ $fluidbookMobileFirstId ? 'col-md-3' : 'col-md-4' }}">
- <p>{{ __('Version Mobile') }}</p>
- <div class="block">
- <a href="" data-featherlight="#scanBoxMobile" class="overlay-link"></a>
- <div class="preview-block">
- <img class="preview-mobile" src="{{ $fluidbookMobilePreview }}"/>
- </div>
- <a href="#" data-featherlight="#scanBoxMobile"
- class="btn btn-primary">{{ __('Voir') }}</a>
- </div>
- @include('fluidbook_publication.qrcode_popup', ['id' => 'scanBoxMobile', 'text' => 'Mobile', 'qrcode' => $qrCodeMobile])
- </div>
- @if($fluidbookMobileFirstId)
- <div class="preview col-md-3">
- <p>{{ __('Version Mobile-first') }}</p>
- <div class="block">
- <a href="#" data-featherlight="#scanBoxMobileFirst" class="overlay-link"></a>
- <div class="preview-block">
- <img class="preview-mobile" src="{{ $fluidbookMobileFirstPreview }}"/>
- </div>
- <a href="#" data-featherlight="#scanBoxMobileFirst"
- class="btn btn-primary">{{ __('Voir') }}</a>
- </div>
- @include('fluidbook_publication.qrcode_popup', ['id' => 'scanBoxMobileFirst', 'text' => 'Mobile-first', 'qrcode' => $qrCodeMobileFirst])
- </div>
- @endif
- </div>
- <div class="indication align-items-center flex-row d-flex icon-m">
- <img src="{{ url('images/icons/icon-indication.svg') }}"/>
- <p class="m-0">{{__('Attention, ces liens temporaires de démo ne doivent être utilisés que pour
- la validation du Fluidbook') }}. {{__('Merci de ne pas les partager !') }}</p>
- </div>
- </div>
- </div>
-
- <div id="s_settings" class="card">
- <div class="card-body">
- <div>
- <h2 class="m-0">{{ __('Paramètres du Fluidbook') }}</h2>
- <span>{{ __('Voici les caractéristiques et fonctionnalités de votre Fluidbook') }}</span>
- </div>
- <div class="row mb-3">
- @if($settings)
- <div class="col-md-6">
- @include('fluidbook_publication.delivery_params', ['init' => 0, 'settings', $settings])
- </div>
- <div class="col-md-6">
- @include('fluidbook_publication.delivery_params', ['init' => 5, 'settings', $settings])
- </div>
- @endif
- </div>
- @if($enabledFeatures || $disabledFeatures)
- <div class="row mb-3">
- @if($enabledFeatures)
- <div class="col-md-6">
- <p>{{ __('Principales fonctionnalités activées') }}</p>
- <div class="d-grid gap-8 feature-grid">
- @foreach($enabledFeatures as $enabledFeature)
- <div
- class="delivery-feature d-flex align-center text-center flex-column">
- <svg xmlns="http://www.w3.org/2000/svg">
- <use href="#{{ $enabledFeature['svg'] }}"/>
- </svg>
- <p class="title">{{ $enabledFeature['text'] }}</p>
- </div>
- @endforeach
- </div>
- </div>
- @endif
- @if($disabledFeatures)
- <div class="col-md-6">
- <p>{{ __('Principales fonctionnalités désactivées') }}</p>
- <div class="d-grid gap-8 feature-grid">
- @foreach($disabledFeatures as $disabledFeature)
- <div
- class="delivery-feature disabled-feature d-flex align-center text-center flex-column">
- <svg xmlns="http://www.w3.org/2000/svg">
- <use href="#{{ $disabledFeature['svg'] }}"/>
- </svg>
- <p class="title">{{ $disabledFeature['text'] }}</p>
- </div>
- @endforeach
- </div>
- </div>
- @endif
- </div>
- @endif
- <div class="">
- <p class="m-0">{{ __('Vous souhaitez modifier un paramètre ou une fonctionnalité ?') }}
- @include('fluidbook_publication.link_contact_manager', ['mail' => $CDPMail, 'object' => $objectMail])
- </p>
- </div>
- </div>
- </div>
- @if($fluidbook->status)
- <div id="s_social" class="card">
- <div class="card-body">
- <div class="">
- <h2>{{ __('Faites connaitre votre Fluidbook') }}</h2>
- <p>{{ __('Pour gagner en visibilité, vous devez donner de la visibilité à votre Fluidbook sur votre site web, votre blog, vos réseaux sociaux, etc.
- verez ci-dessous quelques images pour vous aider à le diffuser') }}.</p>
- </div>
-
- <p class="fw-semibold">{{ __('Image pour réseaux sociaux') }}</p>
-
- <div class="row">
- <div class="col-md-4 delivery-social-image">
- <img src="{{ $socialImage }}"/>
- </div>
-
- <div class="col-md-8">
- <div class="card">
- <div class="card-body">
- <a href="https://www.opengraph.xyz/url/{{ $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>
- <ul class="list-none p-0">
- <li class="pb-2">
- {{ __('Si lorsque vous partager votre publication sur les réseaux sociaux, l\'image n\'apparaît pas ou si c\'est une autre image,
- vous pouvez utiliser les outils suivant pour réinitialiser le cache des principaux réseaux sociaux') }}.
- </li>
- <li>Linkedin : <a href="https://www.linkedin.com/post-inspector">https://www.linkedin.com/post-inspector</a>
- </li>
- <li>Facebook : <a
- href="https://developers.facebook.com/tools/debug/sharing/batch">https://developers.facebook.com/tools/debug/sharing/batch</a>
- </li>
- <li>Twitter : <a href="https://cards-dev.twitter.com/validator">https://cards-dev.twitter.com/validator</a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <!--<div class="row">
- <div class="col-sm-12">
- <p>Images de promotion (sites web, emails, newsletters etc.)</p>
- </div>
- <div class="col-md-4">
- </div>
- <div class="col-md-4">
- </div>
- <div class="col-md-4">
- </div>
- </div>-->
- <div class="delivery-preview-mini">
- <p class="fw-semibold">{{ __('Mini Fluidbook animé') }}</p>
- <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>
- </div>
- <div class="mt-2">
- <a href="{{ $noticesUrls[$lang]['widget'] }}" target="_blank"
- rel="noopener">{{ __('Voir la notice') }}</a>
- </div>
- </div>
- </div>
- </div>
- @endif
- <div id="s_stats" class="card">
- <div class="card-body">
- <div class="">
- <h2>{{ __('Mesurez votre audience') }}</h2>
- <p>{{ __('Les statistiques vous aident à mesurer l\'efficacité de votre Fluidbook et vous
- fournissent des informations précieuses sur votre public.')}} {{ __('Connaître les préférences
- et
- les besoins de vos lecteurs constitue également une base solide pour améliorer votre
- document')}}.</p>
- </div>
- <div class="row">
- <div class="col-md-6">
- <div class="card">
- <div class="card-body">
- <h3 class="font-xl">{{ __('Statistiques Fluidbook') }}</h3>
- <p>{{ __('Avec notre module de statistiques intégré, vous savez combien de personnes
- ont vu
- votre Fluidbook, quelles pages les ont le plus intéressé, quels
- mots-clés ils ont
- cherché, etc...') }}</p>
- @if($fluidbook->stats)
- <a href="{{ $statUrl }}" class="btn btn-primary" target="_blank"
- rel="noopener">
- {{ __('Voir les statistiques') }}
- </a>
- @else
- <button
- class="btn bg-default pointer-none disabled">{{ __('Statistiques désactivées') }}</button>
- @endif
- </div>
- </div>
- </div>
- <div class="col-md-6">
- <div class="card">
- <div class="card-body">
- <h3 class="font-xl">{{ __('Statistiques Google Analytics') }}</h3>
- <p>{{ __('Fluidbook est conçu pour fonctionner avec Google Analytics et Google Tag
- Manager
- (GTM) pour vous donner accès à l\'un des outils de statistiques gratuits les
- plus
- puissants du marché')}}.</p>
- @if($fluidbook->googleAnalytics)
- <a href="https://analytics.google.com/" class="btn btn-primary"
- target="_blank" rel="noopener">
- {{ __('Voir les statistiques') }}
- </a>
- @else
- <button
- class="btn bg-default pointer-none disabled">{{ __('Statistiques désactivées') }}</button>
- <a href="{{ $noticesUrls[$lang]['ga'] }}" class="btn bg-default ml-2"
- target="_blank" rel="noopener">{{ __('Voir
- la notice')}}</a>
- @endif
- <div class="mt-3">
- <p class="m-0">{{ __('Vous souhaitez activer Google Analytics dans votre Fluidbook
- ?')}}</p>
- @include('fluidbook_publication.link_contact_manager', ['mail' => $CDPMail, 'object' => $objectMail])
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
-
-
- <div class="card bg-dark">
- <div class="card-body">
- <h2>{{ __('Une question sur votre Fluidbook ?') }}</h2>
- <p>
- {{ __('Vous avez remarqué une erreur ou vous souhaitez changer un paramètre ?') }}
- @if(!$CDPMail)
- {{ __('Contacter votre chef de projet') }}
- @endif
- </p>
- @if($CDPMail)
- <a href="mailto:{{ $CDPMail }}?subject={{ $objectMail }}" class="btn btn-primary">
- {{ __('Contacter votre chef de projet') }}
- </a>
- @endif
- </div>
- </div>
- </div>
- </div>
- @if($fluidbook->status)
- <div class="col-spec col-lg-4 col-xl-3">
- <div class="card position-sticky" style="top: 50px">
- <div class="card-body">
- <h2>{{ __('Publiez votre Fluidbook') }}</h2>
- <p>{{ __('L\'adresse d’hébergement a déjà été configurée, vous pouvez mettre votre Fluidbook
- directement en ligne en cliquant ci-dessous :')}}</p>
- <div class="btn-install">
- <a href="{{ $prefixDownloadUrl.'/install/online' }}"
- class="btn btn-primary font-weight-normal text-left" target="_blank" rel="noopener">
- {!! __('Installer sur le serveur :server', ['server' => "<span class='font-weight-bold'>".$serverName."</span>"]) !!}
- <p class="m-0 font-xs font-weight-normal">{{ $installServerUrl }}</p>
- </a>
- </div>
- <div class="delivery-dropdown position-relative">
- <div class="dropdown-control d-flex justify-content-between">
- <span>{{ __('Téléchargez et installez votre Fluidbook') }}</span>
- <img src="{{ url('images/icons/icon-arrow-down.svg') }}"/>
- </div>
- <div class="dropdown-content position-relative">
- @php
- $activeVersions = array_filter($downloadVersions, function($n) {
- return $n['install'];
- });
- $winVersion = array_filter(array_keys($downloadVersions), function($n) {
- return str_contains($n, "win");
- });
- $winActiveVersion = array_filter(array_keys($activeVersions), function($n) {
- return str_contains($n, "win");
- });
-
- if(sizeof($winVersion) > 1 && sizeof($winActiveVersion) === 0)
- unset($downloadVersions['win_cd_html'])
- @endphp
- @foreach($downloadVersions as $key => $version)
- @php
- $downloadUrl = $prefixDownloadUrl.'/download/';
- $downloadUrl .= $key === 'scorm/' ?'scorm/'.$key : $key;
- if(str_contains(key($activeVersions), "win")) {
- if(str_contains($key, "win")) $version['install'] = true;
- }
- @endphp
- @isset($version['text'])
- <div
- class="dropdown-element position-relative d-flex align-items-center {{ $version['install'] || ( str_contains($key, "win") && sizeof($winActiveVersion) > 0 ) ? 'active' : '' }}">
- <a href=""></a>
- <div class="icon">
- {!! $version['icon'] !!}
- </div>
- <div class="text">
- <p class="version m-0">
- {{ $version['text'] }}
- </p>
- @if((sizeof($winActiveVersion) === sizeof($winVersion) && str_contains($key, "win")) || (sizeof($winActiveVersion) > 1 && str_contains($key, "win") ) || !str_contains($key, "win"))
- @isset($version['type'])
- <p class="type m-0">
- {{ $version['type'] }}
- </p>
- @endisset
- @endif
- </div>
- <div class="tools d-flex align-center ml-auto">
- @isset($version['notice_fr'])
- <a href="{{ $version['notice_fr'] }}"
- class="mr-1 instruction position-relative">
- <svg id="Instruction" xmlns="http://www.w3.org/2000/svg"
- width="30" height="30" viewBox="0 0 30 30">
- <circle id="Ellipse_24" data-name="Ellipse 24" cx="15"
- cy="15" r="15" fill="rgba(70,127,207,0.1)"/>
- <g id="Groupe_270" data-name="Groupe 270"
- transform="translate(9.5 8.5)">
- <path id="Tracé_124" data-name="Tracé 124"
- d="M12.5,13.54H3a1.5,1.5,0,0,1,0-3h8.5a1,1,0,0,0,1-1v-8a1,1,0,0,0-1-1H3A1.5,1.5,0,0,0,1.5,2V12"
- transform="translate(-1.5 -0.54)" fill="none"
- stroke="#3a72c5" stroke-linecap="round"
- stroke-linejoin="round" stroke-width="1"/>
- <line id="Ligne_20" data-name="Ligne 20" y2="3"
- transform="translate(10 10)" fill="none"
- stroke="#3a72c5" stroke-linecap="round"
- stroke-linejoin="round" stroke-width="1"/>
- </g>
- </svg>
- </a>
- @endisset
- @if($version['install'] || (str_contains($key, "win") && sizeof($winActiveVersion) > 0))
- <a class="download-overlay" href="{{ $downloadUrl }}"></a>
- <a href="{{ $downloadUrl }}" class="download">
- <svg id="Groupe_268" data-name="Groupe 268"
- xmlns="http://www.w3.org/2000/svg" width="30" height="30"
- viewBox="0 0 30 30">
- <rect id="Rectangle_480" data-name="Rectangle 480"
- width="30" height="30" rx="15" fill="#467fcf"/>
- <g id="Groupe_265" data-name="Groupe 265"
- transform="translate(8.5 8)">
- <path id="Tracé_122" data-name="Tracé 122"
- d="M.5,10.5v1a2,2,0,0,0,2,2h9a2,2,0,0,0,2-2v-1"
- transform="translate(-0.5 -0.5)" fill="none"
- stroke="#fff" stroke-linecap="round"
- stroke-linejoin="round" stroke-width="1"/>
- <path id="Tracé_123" data-name="Tracé 123"
- d="M4,6,7,9.5,10,6"
- transform="translate(-0.5 -0.5)" fill="none"
- stroke="#fff" stroke-linecap="round"
- stroke-linejoin="round" stroke-width="1"/>
- <line id="Ligne_19" data-name="Ligne 19" y1="9"
- transform="translate(6.5)" fill="none"
- stroke="#fff" stroke-linecap="round"
- stroke-linejoin="round" stroke-width="1"/>
- </g>
- </svg>
- </a>
- @else
- <svg id="Groupe_271" data-name="Groupe 271"
- xmlns="http://www.w3.org/2000/svg" width="30" height="30"
- viewBox="0 0 30 30">
- <circle id="Ellipse_24" data-name="Ellipse 24" cx="15" cy="15"
- r="15" fill="#fff"/>
- <g id="Groupe_271-2" data-name="Groupe 271"
- transform="translate(10 8.252)" opacity="0.2">
- <rect id="Rectangle_481" data-name="Rectangle 481"
- width="10" height="8" rx="1"
- transform="translate(0 5)" fill="none"
- stroke="#1b2a4e" stroke-linecap="round"
- stroke-linejoin="round" stroke-width="1"/>
- <path id="Tracé_125" data-name="Tracé 125"
- d="M10.5,5.5V4a3.5,3.5,0,0,0-7,0V5.5"
- transform="translate(-2 -0.5)" fill="none"
- stroke="#1b2a4e" stroke-linecap="round"
- stroke-linejoin="round" stroke-width="1"/>
- <circle id="Ellipse_30" data-name="Ellipse 30" cx="0.5"
- cy="0.5" r="0.5" transform="translate(4.5 8.5)"
- fill="none" stroke="#1b2a4e" stroke-linecap="round"
- stroke-linejoin="round" stroke-width="1"/>
- </g>
- </svg>
- @endif
- </div>
- </div>
- @endisset
- @endforeach
- <p class="m-0">{{ __('Il vous manque une version ?') }}</p>
- @include('fluidbook_publication.link_contact_manager', ['mail' => $CDPMail, 'object' => $objectMail])
- </div>
- </div>
- </div>
- </div>
- </div>
- @endif
- </div>
-@endsection
-
-@push('after_scripts')
- <script>
- (function ($) {
- $(function () {
- document.documentElement.style.setProperty('--dropdown-content-height', $(".delivery-dropdown").height + 'px');
- document.documentElement.style.setProperty('--dropdown-control-height', $(".dropdown-control").innerHeight() + 2 + 'px');
- $(document).on('click', '.dropdown-control', function () {
- $(".delivery-dropdown").toggleClass("active")
- });
- })
- })(jQuery);
- </script>
-@endpush
--- /dev/null
+@if($mail)
+ <a href="mailto:{{$mail}}?subject={{$object}}" {!! (isset($class)?'class="'.e($class).'"':'')!!}>
+ @endif
+ {{ $text??__('Contactez votre chef de projet') }}
+ @if($mail)
+ </a>
+@endif
--- /dev/null
+@extends(backpack_view('blank'))
+
+@php
+ $breadcrumbs = [
+ trans('backpack::crud.admin') => url(config('backpack.base.route_prefix'), 'dashboard'),
+ trans('backpack::base.my_account') => false,
+ ];
+ $statusText = $fluidbook->status ? __('prêt') : __('en cours de production');
+ $qrCodeMobile = QrCode::size(311)->color(27, 42, 78)->generate($fluidbook->getPreviewURL());
+
+ $fluidbookDesktopPreview = route('deliveryThumb', ['id' => $fluidbook->id, 'type' => 'desktop']);
+ $fluidbookMobilePreview = route('deliveryThumb', ['id' => $fluidbook->id, 'type' => 'mobile']);
+
+ $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']);
+ }
+
+ $totalPages = $fluidbook->getPagesNumber();
+ $settings = [
+ __('Titre') => $fluidbook->title,
+ __('Nombre de pages') => $totalPages. ' pages',
+ __('Langue principale') => renameSettings($fluidbook->locale),
+ __('Date de création') => ( new \Carbon\Carbon($fluidbook->created_at))->isoFormat('DD/MM/Y'),
+ __('Dernière modification') => ( new \Carbon\Carbon($fluidbook->updated_at))->isoFormat('DD/MM/Y'),
+ __('Mode de navigation') => renameSettings($fluidbook->mobileTransitions),
+ __('SEO') => renameSettings($fluidbook->seoVersion),
+ 'SCORM ('.__('e-learning').')' => $fluidbook->scorm_enabled ? 'SCORM '.$fluidbook->getSCORMVersion() : __('Désactivé'),
+ __('Statistiques Fluidbook') => renameSettings($fluidbook->stats, true, true),
+ 'Google Analytics' => $fluidbook->googleAnalytics ? $fluidbook->googleTagManager : __('Désactivé')
+ ];
+
+ function renameSettings($v, $fem = false, $plural = false) {
+ if($fem){
+ if($plural){
+ $enabled=__('Activées');
+ $disabled=__('Désactivées');
+ }else{
+ $enabled=__('Activée');
+ $disabled=__('Désactivée');
+ }
+ }else{
+ if($plural){
+ $enabled=__('Activés');
+ $disabled=__('Désactivés');
+ }else{
+ $enabled=__('Activé');
+ $disabled=__('Désactivé');
+ }
+ }
+ return match ($v) {
+ 'flip3d','flip' => 'Flip',
+ 'fade' => 'Air',
+ '1' => $enabled,
+ '0','',null => $disabled,
+ 'fr' => __('Français'),
+ 'en' => __('Anglais'),
+ default => ucfirst($v)
+ };
+ }
+
+ function getGoogleDocsURL($id){
+ return 'https://docs.google.com/document/d/'.$id.'/export?format=pdf';
+ }
+
+ $features = [
+ 'index' => ["value" => $fluidbook->index,"text" => __('Index'),"svg" => "nav-index"],
+ 'print' => ["value" => $fluidbook->print,"text" => __('Imprimer'),"svg" => "nav-print"],
+ 'chapters' => ["value" => $fluidbook->chapters,"text" => __('Sommaire'),"svg" => "nav-chapters"],
+ 'friend' => ["value" => $fluidbook->share,"text" => __('Partager'),"svg" => "nav-share"],
+ 'bookmark' => ["value" => $fluidbook->bookmark,"text" => __('Marques-pages'),"svg" => "nav-bookmarks"],
+ 'pdf' => ["value" => $fluidbook->pdf,"text" => __('Télécharger'),"svg" => "nav-download"],
+ 'sound' => ["value" => $fluidbook->soundTheme,"text" => __('Son'),"svg" => "nav-sound-on"],
+ 'search' => ["value" => $fluidbook->search,"text" => __('Recherche'),"svg" => "nav-search"],
+ 'help' => ["value" => $fluidbook->help,"text" => __('Aide'),"svg" => "nav-help"],
+ 'notes' => ["value" => $fluidbook->notes,"text" => __('Notes'),"svg" => "nav-notes"],
+ 'fullscreen' => ["value" => $fluidbook->fullscreen,"text" => __('Plein écran'),"svg" => "nav-fullscreen"],
+ ];
+
+ $orders = explode(',',$fluidbook->navOrder);
+ $orders = array_map(function($n) { return trim($n); }, $orders);
+ $orders = array_flip($orders);
+ $orders = array_intersect_key($orders,$features);
+
+ $featuresSorted = array_merge($orders, $features);
+
+ $enabledFeatures = array_filter($featuresSorted, function($n){ return $n['value'] !== "0" && !empty($n['value']); });
+ $disabledFeatures = array_filter($featuresSorted, function($n){ return $n['value'] !== "1" && empty($n['value']); });
+
+ $icons = App\Models\FluidbookIconset::get('icons')->toArray();
+
+ $statUrl = route('stats', ['fluidbook_id' => $fluidbook->id, 'hash' => $fluidbook->hash]);
+ $cid = $fluidbook->cid;
+
+ $socialImage = route('social_image',['cid' => $cid]);
+ if($fluidbook->facebook_image)
+ $socialImage = $fluidbook->facebook_image;
+
+ $installServerUrl = null;
+ if($fluidbook->install_online) {
+ if($fluidbook->install_online['server']) {
+ $serverId = intval($fluidbook->install_online['server']);
+ $serverPath = $fluidbook->install_online['path'];
+ $servers=\App\Models\FluidbookExternalInstallServer::getAllServers();
+ $serverInfos = $servers[$serverId];
+ $baseUrl = $serverInfos['base_url'];
+ $serverName = $serverInfos['name'];
+ $installServerUrl = $baseUrl.$serverPath;
+ }
+ }
+
+ $downloadVersions = $fluidbook->getDownloadVersions();
+ $prefixDownloadUrl = '/fluidbook-publication/'.$fluidbook->id;
+ $prefixDownloadUrl = $prefixDownloadUrl.'/package';
+
+ foreach ($downloadVersions as $key => $version) {
+ 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]['notice_fr'] = "1j4lEk2vqUnenXZQs2ucNZg51aFTLmTOoHPgYolj46m0";
+ $downloadVersions[$key]['notice_en'] = "1CeLq8R8LMhWjZ0caXrO0HcfxRtzqGQkpaKJvDcYt_ZY";
+ }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]['notice_fr'] = "1cZ_dTdehk2av0ZUGryY1xLF5IQoqSyCmgBXPH1OYPu4"; // Pas de notice en Français
+ $downloadVersions[$key]['notice_en'] = "1cZ_dTdehk2av0ZUGryY1xLF5IQoqSyCmgBXPH1OYPu4";
+ }elseif ($key === "sharepoint") {
+ $downloadVersions[$key]['text'] = __("SharePoint");
+ $downloadVersions[$key]['icon'] = file_get_contents(url('images/icons/icon-sharepoint.svg'));
+ $downloadVersions[$key]['notice_fr'] = "1O5EInYbNmNmcqi0VXq0FU7CqeYV6VJeJ0aI-bbgSlBc";
+ $downloadVersions[$key]['notice_en'] = "1YeBLektflXZZz6yU-EKpYxe7i0fL0Oy13pB1vMdwMgw";
+ }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);
+ }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'));
+ }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'));
+ }
+ }
+
+ $objectMail = "[Fluidbook #".$fluidbook->id."]";
+
+ $lang = app()->getLocale();
+
+ $noticesUrls = [
+ 'fr' => [
+ 'widget' => "15F40AfCYpAvT_w2Y1cC-Y88rV1bCOXUuiRh7C__RugM",
+ 'ga' => "1gDnVgCx7MMcKlqJbPFCpRN27hBGpXEC1-s7f1Lsev5E"
+ ],
+ 'en' => [
+ 'widget' => "1rn-fW8cRJsBiBrNonZgZNcZ-4sSmvglvJsSsmhdfXA8",
+ 'ga' => "1wg2dr7zs68k_Pq33idwbROSmamGHsAU0kdNYswSyklc"
+ ],
+ ];
+
+ $CDPMail = $fluidbook->getProjectManagerEmail();
+@endphp
+
+@section('after_styles')
+ <link rel="stylesheet" href="/packages/fluidbook/toolbox/css/delivery.css"/>
+@endsection
+
+@section('content')
+ <div id="svg-container">
+ {!! $icons[0]["icons"] !!}
+ </div>
+ <div class="row">
+ <div class="col-spec col-lg-8 col-xl-9 bold-labels">
+ <div class="w-100">
+ <section class="container-fluid animated fadeIn">
+ <h2 class="m-0">
+ <span class="font-weight-light">{{ __('Bonjour :nom, votre Fluidbook est :status', ['nom' => Auth::user()->firstname ?: '', 'status' => $statusText]) }} !</span>
+ </h2>
+ @if($fluidbook->status)
+ <h2 class="mb-4">
+ <span class="text-capitalize">{{ $fluidbook->title }}</span>
+ </h2>
+ @else
+ <p style="line-height: 22px;">
+ {{ __('Vous pouvez voir ci-dessous les différentes versions de votre Fluidbook et vérifier ses caractéristiques.') }}
+ <br>{{ __('Si tout vous convient, faites le savoir à votre chef de projet, il vous préparera les livrables.') }}
+ </p>
+ @endif
+ <div class="delivery-anchor">
+ <ul class="d-flex flex-md-row flex-sm-column list-none p-0 icon-m">
+ <li><a href="#s_glimpses" class="text-decoration-none"><img
+ src="{{ url('images/icons/icon-eye.svg') }}"/>{{ __('Aperçu de votre Fluidbook') }}
+ </a></li>
+ <li><a href="#s_settings" class="text-decoration-none"><img
+ src="{{ url('images/icons/icon-settings.svg') }}"/>{{ __('Paramètres du Fluidbook') }}
+ </a></li>
+ <li class="{{ !$fluidbook->status ? 'disabled' : '' }}"><a href="#s_social"
+ class="text-decoration-none"><img
+ src="{{ url('images/icons/icon-like.svg') }}"/>{{ __('Faites connaitre votre Fluidbook') }}
+ </a></li>
+ <li class="{{ !$fluidbook->status ? 'disabled' : '' }}"><a href="#s_stats"
+ class="text-decoration-none"><img
+ src="{{ url('images/icons/icon-stats.svg') }}"/>{{ __('Mesurez votre audience') }}
+ </a></li>
+ </ul>
+ </div>
+ </section>
+ <div id="s_glimpses" class="card">
+ <div class="card-body">
+ <div class="mb-4">
+ <h2 class="m-0">{{ __('Aperçu de votre Fluidbook :id', ['id' => $fluidbook->id ]) }} -
+ <span class="text-uppercase">{{ $fluidbook->locale }}</span>
+ </h2>
+ <span>{{ __('Cliquez sur l’une des versions ci-dessous pour la visualiser :') }}</span>
+ </div>
+ <div class="delivery-glimpses row">
+ <div class="preview {{ $fluidbookMobileFirstId ? 'col-md-6' : 'col-md-8' }}">
+ <p>{{ __('Version Desktop') }}</p>
+ <div class="block">
+ <a href="{{ $fluidbook->getPreviewURL() }}" target="_blank" rel="noopener"
+ class="overlay-link"></a>
+ <div class="preview-block">
+ <img class="preview-desktop" src="{{ $fluidbookDesktopPreview }}"/>
+ </div>
+ <a href="{{ $fluidbook->getPreviewURL() }}" target="_blank" rel="noopener"
+ class="btn btn-primary">{{ __('Voir') }}</a>
+ </div>
+ </div>
+ <div class="preview {{ $fluidbookMobileFirstId ? 'col-md-3' : 'col-md-4' }}">
+ <p>{{ __('Version Mobile') }}</p>
+ <div class="block">
+ <a href="" data-featherlight="#scanBoxMobile" class="overlay-link"></a>
+ <div class="preview-block">
+ <img class="preview-mobile" src="{{ $fluidbookMobilePreview }}"/>
+ </div>
+ <a href="#" data-featherlight="#scanBoxMobile"
+ class="btn btn-primary">{{ __('Voir') }}</a>
+ </div>
+ @include('fluidbook_publication.qrcode_popup', ['id' => 'scanBoxMobile', 'text' => 'Mobile', 'qrcode' => $qrCodeMobile])
+ </div>
+ @if($fluidbookMobileFirstId)
+ <div class="preview col-md-3">
+ <p>{{ __('Version Mobile-first') }}</p>
+ <div class="block">
+ <a href="#" data-featherlight="#scanBoxMobileFirst" class="overlay-link"></a>
+ <div class="preview-block">
+ <img class="preview-mobile" src="{{ $fluidbookMobileFirstPreview }}"/>
+ </div>
+ <a href="#" data-featherlight="#scanBoxMobileFirst"
+ class="btn btn-primary">{{ __('Voir') }}</a>
+ </div>
+ @include('fluidbook_publication.qrcode_popup', ['id' => 'scanBoxMobileFirst', 'text' => 'Mobile-first', 'qrcode' => $qrCodeMobileFirst])
+ </div>
+ @endif
+ </div>
+ <div class="indication align-items-center flex-row d-flex icon-m">
+ <img src="{{ url('images/icons/icon-indication.svg') }}"/>
+ <p class="m-0">{{__('Attention, ces liens temporaires de démo ne doivent être utilisés que pour la validation du Fluidbook.') }} {{__('Merci de ne pas les partager !') }}</p>
+ </div>
+ </div>
+ </div>
+
+ <div id="s_settings" class="card">
+ <div class="card-body">
+ <div>
+ <h2 class="m-0">{{ __('Paramètres du Fluidbook') }}</h2>
+ <span>{{ __('Voici les caractéristiques et fonctionnalités de votre Fluidbook') }}</span>
+ </div>
+ <div class="row mb-3">
+ @if($settings)
+ @include('fluidbook_publication.delivery.mainsettings', ['settings'=> $settings])
+ @endif
+ </div>
+ @if($enabledFeatures || $disabledFeatures)
+ <div class="row mb-3">
+ @if($enabledFeatures)
+ <div class="col-md-6">
+ <p>{{ __('Principales fonctionnalités activées') }}</p>
+ <div class="d-grid gap-8 feature-grid">
+ @foreach($enabledFeatures as $enabledFeature)
+ <div
+ class="delivery-feature d-flex align-center text-center flex-column">
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <use href="#{{ $enabledFeature['svg'] }}"/>
+ </svg>
+ <p class="title">{{ $enabledFeature['text'] }}</p>
+ </div>
+ @endforeach
+ </div>
+ </div>
+ @endif
+ @if($disabledFeatures)
+ <div class="col-md-6">
+ <p>{{ __('Principales fonctionnalités désactivées') }}</p>
+ <div class="d-grid gap-8 feature-grid">
+ @foreach($disabledFeatures as $disabledFeature)
+ <div
+ class="delivery-feature disabled-feature d-flex align-center text-center flex-column">
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <use href="#{{ $disabledFeature['svg'] }}"/>
+ </svg>
+ <p class="title">{{ $disabledFeature['text'] }}</p>
+ </div>
+ @endforeach
+ </div>
+ </div>
+ @endif
+ </div>
+ @endif
+ <div class="">
+ <p class="m-0">{{ __('Vous souhaitez modifier un paramètre ou une fonctionnalité ?') }}
+ @include('fluidbook_publication.delivery.contact_manager', ['mail' => $CDPMail, 'object' => $objectMail])
+ </p>
+ </div>
+ </div>
+ </div>
+ @if($fluidbook->status)
+ <div id="s_social" class="card">
+ <div class="card-body">
+ <div class="">
+ <h2>{{ __('Faites connaitre votre Fluidbook') }}</h2>
+ <p>{{ __('Pour gagner en visibilité, vous devez donner de la visibilité à votre Fluidbook sur votre site web, votre blog, vos réseaux sociaux, etc.') }}</p>
+ <p>{{__('Vous trouverez ci-dessous des images, outils et informations pour vous aider à le diffuser.')}}</p>
+ </div>
+
+ <p class="fw-semibold">{{ __('Image pour réseaux sociaux') }}</p>
+
+ <div class="row">
+ <div class="col-md-4 delivery-social-image">
+ <img src="{{ $socialImage }}"/>
+ </div>
+
+ <div class="col-md-8">
+ <div class="card">
+ <div class="card-body">
+ <a href="https://www.opengraph.xyz/url/{{ $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>
+ <ul class="list-none p-0">
+ <li class="pb-2">
+ {{ __('Si lorsque vous partager votre publication sur les réseaux sociaux, l\'image n\'apparaît pas ou si c\'est une image qui n\'est plus à jour, vous pouvez utiliser les outils suivant pour réinitialiser le cache des principaux réseaux sociaux.') }}
+ </li>
+ @php
+ $social=[
+ 'Facebook'=>'https://developers.facebook.com/tools/debug/sharing/batch',
+ 'LinkedIn'=>'https://www.linkedin.com/post-inspector',
+ 'Twitter'=>'https://cards-dev.twitter.com/validator'
+ ];
+ @endphp
+ @foreach($social as $name=>$url)
+ <li>{{$name}} : <a href="{{$url}}">{{$url}}</a>
+ </li>
+ @endforeach
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!--<div class="row">
+ <div class="col-sm-12">
+ <p>Images de promotion (sites web, emails, newsletters etc.)</p>
+ </div>
+ <div class="col-md-4">
+ </div>
+ <div class="col-md-4">
+ </div>
+ <div class="col-md-4">
+ </div>
+ </div>-->
+ <div class="delivery-preview-mini">
+ <p class="fw-semibold">{{ __('Mini Fluidbook animé') }}</p>
+ <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>
+ </div>
+ <div class="mt-2">
+ <a href="{{ getGoogleDocsURL($noticesUrls[$lang]['widget']) }}"
+ rel="noopener">{{ __('Voir la notice') }}</a>
+ </div>
+ </div>
+ </div>
+ </div>
+ @endif
+ <div id="s_stats" class="card">
+ <div class="card-body">
+ <div class="">
+ <h2>{{ __('Mesurez votre audience') }}</h2>
+ <p>{{ __('Les statistiques vous aident à mesurer l\'efficacité de votre Fluidbook et vous fournissent des informations précieuses sur votre public.')}}
+ {{ __('Connaître les préférences et les besoins de vos lecteurs constitue également une base solide pour améliorer votre document')}}
+ .</p>
+ </div>
+ <div class="row">
+ <div class="col-md-6">
+ <div class="card">
+ <div class="card-body">
+ <h3 class="font-xl">{{ __('Statistiques Fluidbook') }}</h3>
+ <p>{{ __('Avec notre module de statistiques intégré, vous savez combien de personnes ont vu votre Fluidbook, quelles pages les ont le plus intéressé, quels mots-clés ils ont cherché, etc...') }}</p>
+ @if($fluidbook->stats)
+ <a href="{{ $statUrl }}" class="btn btn-primary" target="_blank"
+ rel="noopener">
+ {{ __('Voir les statistiques') }}
+ </a>
+ @else
+ <button
+ class="btn bg-default pointer-none disabled">{{ __('Statistiques désactivées') }}</button>
+ @endif
+ </div>
+ </div>
+ </div>
+ <div class="col-md-6">
+ <div class="card">
+ <div class="card-body">
+ <h3 class="font-xl">{{ __('Statistiques Google Analytics') }}</h3>
+ <p>{{ __('Fluidbook est conçu pour fonctionner avec Google Analytics et Google Tag Manager (GTM) pour vous donner accès à l\'un des outils de statistiques gratuits les plus puissants du marché')}}
+ .</p>
+ @if($fluidbook->googleAnalytics)
+ <a href="https://analytics.google.com/" class="btn btn-primary"
+ target="_blank" rel="noopener">
+ {{ __('Voir les statistiques') }}
+ </a>
+ @else
+ <button
+ class="btn bg-default pointer-none disabled">{{ __('Statistiques désactivées') }}</button>
+ <a href="{{ getGoogleDocsURL($noticesUrls[$lang]['ga']) }}"
+ class="btn bg-default ml-2" rel="noopener">{{ __('Voir la notice')}}</a>
+ @endif
+ <div class="mt-3">
+ <p class="m-0">{{ __('Vous souhaitez activer Google Analytics dans votre Fluidbook ?')}}</p>
+ @include('fluidbook_publication.delivery.contact_manager', ['mail' => $CDPMail, 'object' => $objectMail])
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+ <div class="card bg-dark">
+ <div class="card-body">
+ <h2>{{ __('Une question sur votre Fluidbook ?') }}</h2>
+ <p>
+ {{ __('Vous avez remarqué une erreur ou vous souhaitez changer un paramètre ?') }}
+ </p>
+ @include('fluidbook_publication.delivery.contact_manager', ['mail' => $CDPMail, 'object' => $objectMail,'class'=>'btn btn-primary'])
+ </div>
+ </div>
+ </div>
+ </div>
+ @if($fluidbook->status)
+ <div class="col-spec col-lg-4 col-xl-3">
+ <div class="card position-sticky" style="top: 50px">
+ <div class="card-body">
+ <h2>{{ __('Publiez votre Fluidbook') }}</h2>
+ <p>{{ __('L\'adresse d’hébergement a déjà été configurée, vous pouvez mettre votre Fluidbook
+ directement en ligne en cliquant ci-dessous :')}}</p>
+ <div class="btn-install">
+ <a href="{{ $prefixDownloadUrl.'/install/online' }}"
+ class="btn btn-primary font-weight-normal text-left" rel="noopener">
+ {!! __('Installer sur le serveur :server', ['server' => "<span class='font-weight-bold'>".$serverName."</span>"]) !!}
+ <p class="m-0 font-xs font-weight-normal">{{ $installServerUrl }}</p>
+ </a>
+ </div>
+ <div class="delivery-dropdown position-relative">
+ <div class="dropdown-control d-flex justify-content-between">
+ <span>{{ __('Téléchargez et installez votre Fluidbook') }}</span>
+ <img src="{{ url('images/icons/icon-arrow-down.svg') }}"/>
+ </div>
+ <div class="dropdown-content position-relative">
+ @php
+ $activeVersions = array_filter($downloadVersions, function($n) {
+ return $n['install'];
+ });
+ $winVersion = array_filter(array_keys($downloadVersions), function($n) {
+ return str_contains($n, "win");
+ });
+ $winActiveVersion = array_filter(array_keys($activeVersions), function($n) {
+ return str_contains($n, "win");
+ });
+
+ if(sizeof($winVersion) > 1 && sizeof($winActiveVersion) === 0)
+ unset($downloadVersions['win_cd_html'])
+ @endphp
+ @foreach($downloadVersions as $key => $version)
+ @php
+ $downloadUrl = $prefixDownloadUrl.'/download/';
+ $downloadUrl .= $key === 'scorm/' ?'scorm/'.$key : $key;
+ if(str_contains(key($activeVersions), "win")) {
+ if(str_contains($key, "win")) $version['install'] = true;
+ }
+ @endphp
+ @isset($version['text'])
+ <div
+ class="dropdown-element position-relative d-flex align-items-center {{ $version['install'] || ( str_contains($key, "win") && sizeof($winActiveVersion) > 0 ) ? 'active' : '' }}">
+ <a href=""></a>
+ <div class="icon">
+ {!! $version['icon'] !!}
+ </div>
+ <div class="text">
+ <p class="version m-0">
+ {{ $version['text'] }}
+ </p>
+ @if((sizeof($winActiveVersion) === sizeof($winVersion) && str_contains($key, "win")) || (sizeof($winActiveVersion) > 1 && str_contains($key, "win") ) || !str_contains($key, "win"))
+ @isset($version['type'])
+ <p class="type m-0">
+ {{ $version['type'] }}
+ </p>
+ @endisset
+ @endif
+ </div>
+ <div class="tools d-flex align-center ml-auto">
+ @isset($version['notice_'.$lang])
+ <a href="{{ getGoogleDocsURL($version['notice_'.$lang]) }}"
+ class="mr-1 instruction position-relative">
+ <svg id="Instruction" xmlns="http://www.w3.org/2000/svg"
+ width="30" height="30" viewBox="0 0 30 30">
+ <circle id="Ellipse_24" data-name="Ellipse 24" cx="15"
+ cy="15" r="15" fill="rgba(70,127,207,0.1)"/>
+ <g id="Groupe_270" data-name="Groupe 270"
+ transform="translate(9.5 8.5)">
+ <path id="Tracé_124" data-name="Tracé 124"
+ d="M12.5,13.54H3a1.5,1.5,0,0,1,0-3h8.5a1,1,0,0,0,1-1v-8a1,1,0,0,0-1-1H3A1.5,1.5,0,0,0,1.5,2V12"
+ transform="translate(-1.5 -0.54)" fill="none"
+ stroke="#3a72c5" stroke-linecap="round"
+ stroke-linejoin="round" stroke-width="1"/>
+ <line id="Ligne_20" data-name="Ligne 20" y2="3"
+ transform="translate(10 10)" fill="none"
+ stroke="#3a72c5" stroke-linecap="round"
+ stroke-linejoin="round" stroke-width="1"/>
+ </g>
+ </svg>
+ </a>
+ @endisset
+ @if($version['install'] || (str_contains($key, "win") && sizeof($winActiveVersion) > 0))
+ <a class="download-overlay" href="{{ $downloadUrl }}"></a>
+ <a href="{{ $downloadUrl }}" class="download">
+ <svg id="Groupe_268" data-name="Groupe 268"
+ xmlns="http://www.w3.org/2000/svg" width="30" height="30"
+ viewBox="0 0 30 30">
+ <rect id="Rectangle_480" data-name="Rectangle 480"
+ width="30" height="30" rx="15" fill="#467fcf"/>
+ <g id="Groupe_265" data-name="Groupe 265"
+ transform="translate(8.5 8)">
+ <path id="Tracé_122" data-name="Tracé 122"
+ d="M.5,10.5v1a2,2,0,0,0,2,2h9a2,2,0,0,0,2-2v-1"
+ transform="translate(-0.5 -0.5)" fill="none"
+ stroke="#fff" stroke-linecap="round"
+ stroke-linejoin="round" stroke-width="1"/>
+ <path id="Tracé_123" data-name="Tracé 123"
+ d="M4,6,7,9.5,10,6"
+ transform="translate(-0.5 -0.5)" fill="none"
+ stroke="#fff" stroke-linecap="round"
+ stroke-linejoin="round" stroke-width="1"/>
+ <line id="Ligne_19" data-name="Ligne 19" y1="9"
+ transform="translate(6.5)" fill="none"
+ stroke="#fff" stroke-linecap="round"
+ stroke-linejoin="round" stroke-width="1"/>
+ </g>
+ </svg>
+ </a>
+ @else
+ <svg id="Groupe_271" data-name="Groupe 271"
+ xmlns="http://www.w3.org/2000/svg" width="30" height="30"
+ viewBox="0 0 30 30">
+ <circle id="Ellipse_24" data-name="Ellipse 24" cx="15" cy="15"
+ r="15" fill="#fff"/>
+ <g id="Groupe_271-2" data-name="Groupe 271"
+ transform="translate(10 8.252)" opacity="0.2">
+ <rect id="Rectangle_481" data-name="Rectangle 481"
+ width="10" height="8" rx="1"
+ transform="translate(0 5)" fill="none"
+ stroke="#1b2a4e" stroke-linecap="round"
+ stroke-linejoin="round" stroke-width="1"/>
+ <path id="Tracé_125" data-name="Tracé 125"
+ d="M10.5,5.5V4a3.5,3.5,0,0,0-7,0V5.5"
+ transform="translate(-2 -0.5)" fill="none"
+ stroke="#1b2a4e" stroke-linecap="round"
+ stroke-linejoin="round" stroke-width="1"/>
+ <circle id="Ellipse_30" data-name="Ellipse 30" cx="0.5"
+ cy="0.5" r="0.5" transform="translate(4.5 8.5)"
+ fill="none" stroke="#1b2a4e" stroke-linecap="round"
+ stroke-linejoin="round" stroke-width="1"/>
+ </g>
+ </svg>
+ @endif
+ </div>
+ </div>
+ @endisset
+ @endforeach
+ <p class="m-0">{{ __('Il vous manque une version ?') }}</p>
+ @include('fluidbook_publication.delivery.contact_manager', ['mail' => $CDPMail, 'object' => $objectMail])
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ @endif
+ </div>
+@endsection
+
+@push('after_scripts')
+ <script>
+ (function ($) {
+ $(function () {
+ document.documentElement.style.setProperty('--dropdown-content-height', $(".delivery-dropdown").height + 'px');
+ document.documentElement.style.setProperty('--dropdown-control-height', $(".dropdown-control").innerHeight() + 2 + 'px');
+ $(document).on('click', '.dropdown-control', function () {
+ $(".delivery-dropdown").toggleClass("active")
+ });
+ })
+ })(jQuery);
+ </script>
+@endpush
--- /dev/null
+@php
+ $indexLeft=ceil(count($settings)/2);
+ $sides=['left'=>array_slice($settings,0,$indexLeft),'right'=>array_slice($settings,$indexLeft)];
+
+@endphp
+
+@foreach($sides as $side=>$settingsSide)
+ <div class="col-md-6">
+ <table
+ class="bg-white table table-striped table-hover nowrap rounded shadow-xs border-xs mt-2 dataTable dtr-inline"
+ data-responsive-table="1" data-has-details-row="0" data-has-bulk-actions="1" cellspacing="0"
+ aria-describedby="crudTable_info">
+ <tbody>
+ @foreach($settingsSide as $key=>$value)
+ <tr class="odd">
+ <td class="dtr-control d-flex justify-content-between">
+ <p class="m-0">{{$key }}</p>
+ <p class="m-0">{{ $value }}</p>
+ </td>
+ </tr>
+ @endforeach
+ </tbody>
+ </table>
+ </div>
+@endforeach
+++ /dev/null
-<table class="bg-white table table-striped table-hover nowrap rounded shadow-xs border-xs mt-2 dataTable dtr-inline" data-responsive-table="1" data-has-details-row="0" data-has-bulk-actions="1" cellspacing="0" aria-describedby="crudTable_info">
- <tbody>
- @foreach($settings as $value)
- @php
- $index = $loop->index;
- $key = key($settings[$index]);
- $value_ = $settings[$index][$key]
- @endphp
- @if($init === 0 && $loop->iteration < 6)
- <tr class="odd">
- <td class="dtr-control d-flex justify-content-between">
- <p class="m-0">{{ __($key) }}</p>
- <p class="m-0">{{ $value_ }}</p>
- </td>
- </tr>
- @elseif($init === 5 && $loop->iteration > 5)
- <tr class="odd">
- <td class="dtr-control d-flex justify-content-between">
- <p class="m-0">{{ __($key) }}</p>
- <p class="m-0">{{ $value_ }}</p>
- </td>
- </tr>
- @endif
- @endforeach
- </tbody>
-</table>
+++ /dev/null
-@if($mail)
-<a href="mailto:{{$mail}}?subject={{$object}}">
-@endif
- {{ __('Contactez votre chef de projet') }}
-@if($mail)
-</a>
-@endif