387 lines
13 KiB
PHP
387 lines
13 KiB
PHP
<?php snippet('header') ?>
|
||
|
||
|
||
<?php
|
||
// Récupérer le rapport (première page enfant de type report)
|
||
$report = $page->children()->filterBy('intendedTemplate', 'report')->first();
|
||
?>
|
||
|
||
<div class="btn--group__mobile">
|
||
<?php if ($report): ?>
|
||
<button class="btn--bold"><a href="<?= $report->url() ?>">Lire le rapport</a></button>
|
||
<?php endif ?>
|
||
<div class="dropdown dropdown--position-mobile">
|
||
<button class="dropdown__trigger btn--bold-inline no-link">
|
||
<span class="icon"><?= svg('assets/icons/share.svg') ?></span>
|
||
<span class="text">Partager</span>
|
||
</button>
|
||
<div class="dropdown__content">
|
||
<?php snippet('modal-share') ?>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<main>
|
||
|
||
|
||
|
||
|
||
|
||
<div class="panel-left" id="banner--page">
|
||
<nav id="nav--page">
|
||
<ul>
|
||
<li><a href="#">Vidéo</a></li>
|
||
<li><a href="#section__synthese">Synthèse</a></li>
|
||
<li><a href="#section__impacts">Impacts</a></li>
|
||
<li><a href="#section__folder">Dossier</a></li>
|
||
<li><a href="#section__related-articles">En lien</a></li>
|
||
</ul>
|
||
</nav>
|
||
|
||
<div class="btn--group">
|
||
<?php if ($report): ?>
|
||
<button class="btn--bold"><a href="<?= $report->url() ?>">Lire le rapport</a></button>
|
||
<?php endif ?>
|
||
|
||
|
||
<div class="dropdown dropdown--position-panel">
|
||
<button class="dropdown__trigger btn--bold-inline no-link">
|
||
<span class="icon"><?= svg('assets/icons/share.svg') ?></span>
|
||
<span class="text">Partager</span>
|
||
</button>
|
||
<div class="dropdown__content">
|
||
<?php snippet('modal-share') ?>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<header class="page__header">
|
||
<p class="page__type">Enquête</p>
|
||
<h2 class="page__title"><?= $page->title()->esc() ?></h2>
|
||
<?php if ($page->chapo()->isNotEmpty()): ?>
|
||
<p class="description"><?= $page->chapo()->inline() ?></p>
|
||
<?php endif ?>
|
||
</header>
|
||
|
||
|
||
<div class="page__content">
|
||
|
||
|
||
<?php if ($page->heroType()->value() == 'image'): ?>
|
||
<?php if ($heroImage = $page->heroImages()->toFile()): ?>
|
||
<!-- HERO IMAGE SIMPLE -->
|
||
<div id="hero">
|
||
<figure>
|
||
<img src="<?= $heroImage->url() ?>" alt="<?= $page->title()->esc() ?>">
|
||
</figure>
|
||
<?php if ($heroImage->caption()->isNotEmpty()): ?>
|
||
<figcaption><?= $heroImage->caption() ?></figcaption>
|
||
<?php endif ?>
|
||
</div>
|
||
<?php endif ?>
|
||
|
||
<?php elseif ($page->heroType()->value() == 'slider'): ?>
|
||
<?php if ($heroImages = $page->heroImages()->toFiles()): ?>
|
||
<!-- HERO SLIDER -->
|
||
<div id="hero" class="hero-slider swiper">
|
||
<div class="swiper-wrapper">
|
||
<?php foreach ($heroImages as $image): ?>
|
||
<div class="swiper-slide">
|
||
<figure>
|
||
<img src="<?= $image->url() ?>" alt="<?= $page->title()->esc() ?>">
|
||
</figure>
|
||
<?php if ($image->caption()->isNotEmpty()): ?>
|
||
<figcaption><?= $image->caption() ?></figcaption>
|
||
<?php endif ?>
|
||
</div>
|
||
<?php endforeach ?>
|
||
</div>
|
||
|
||
<div class="swiper-button-prev"></div>
|
||
<div class="swiper-button-next"></div>
|
||
|
||
<div class="swiper-pagination"></div>
|
||
</div>
|
||
<?php endif ?>
|
||
|
||
<?php elseif ($page->heroType()->value() == 'video'): ?>
|
||
<!-- HERO VIDEO -->
|
||
<div id="hero" class="hero-video">
|
||
<div class="player-container">
|
||
|
||
<?php if ($page->videoExtractUrl()->isNotEmpty()): ?>
|
||
<div class="extract">
|
||
<video class="vjs-tech" id="player-element_html5_api" tabindex="-1" loop="" muted="muted" playsinline="playsinline" autoplay="" src="<?= $page->videoExtractUrl() ?>"></video>
|
||
<button id="hero-play-video"><span class="btn--bold"><?= svg('assets/icons/play.svg') ?> <span class="text">play video</span></button>
|
||
</div>
|
||
<?php endif ?>
|
||
<?php if ($page->videoFullUrl()->isNotEmpty()): ?>
|
||
<div class="video-full">
|
||
<iframe rel="0" frameborder="0" allowfullscreen="" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" title="<?= $page->title()->esc() ?>" width="480" height="320" src="<?= $page->videoFullUrl() ?>"></iframe>
|
||
</div>
|
||
<?php endif ?>
|
||
</div>
|
||
|
||
</div>
|
||
<?php endif ?>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<dl class="section__article" id="section__dl">
|
||
<?php if ($page->incidentDate()->isNotEmpty()): ?>
|
||
<div class="dl__group">
|
||
<dt>Date de l'incident</dt>
|
||
<dd><time datetime="<?= $page->incidentDate()->toDate('yyyy-MM-dd') ?>"><?= $page->incidentDate()->toDate('d MMMM yyyy', 'fr_FR') ?></time></dd>
|
||
</div>
|
||
<?php endif ?>
|
||
|
||
<?php if ($page->incidentLocation()->isNotEmpty()): ?>
|
||
<div class="dl__group">
|
||
<dt>Lieu de l'incident</dt>
|
||
<dd><?= $page->incidentLocation()->esc() ?></dd>
|
||
</div>
|
||
<?php endif ?>
|
||
|
||
<?php if ($page->incidentConsequences()->isNotEmpty()): ?>
|
||
<div class="dl__group">
|
||
<dt>Conséquences</dt>
|
||
<dd><?= $page->incidentConsequences()->esc() ?></dd>
|
||
</div>
|
||
<?php endif ?>
|
||
|
||
<?php if ($keywords = $page->keywords()->split()): ?>
|
||
<?php if (count($keywords) > 0): ?>
|
||
<div class="dl__group dl__group__keywords">
|
||
<dt>Mots-clés</dt>
|
||
<dd>
|
||
<ul class="keywords">
|
||
<?php foreach ($keywords as $keyword): ?>
|
||
<li><a href="#"><?= esc($keyword) ?></a></li>
|
||
<?php endforeach ?>
|
||
</ul>
|
||
</dd>
|
||
</div>
|
||
<?php endif ?>
|
||
<?php endif ?>
|
||
|
||
<?php if ($methodology = $page->methodology()->split()): ?>
|
||
<?php if (count($methodology) > 0): ?>
|
||
<div class="dl__group">
|
||
<dt>Méthodologie</dt>
|
||
<dd>
|
||
<ul>
|
||
<?php foreach ($methodology as $method): ?>
|
||
<li><?= esc($method) ?></li>
|
||
<?php endforeach ?>
|
||
</ul>
|
||
</dd>
|
||
</div>
|
||
<?php endif ?>
|
||
<?php endif ?>
|
||
|
||
<?php if ($team = $page->team()->split()): ?>
|
||
<?php if (count($team) > 0): ?>
|
||
<div class="dl__group">
|
||
<dt>Équipe</dt>
|
||
<dd><?= implode(', ', array_map('esc', $team)) ?></dd>
|
||
</div>
|
||
<?php endif ?>
|
||
<?php endif ?>
|
||
|
||
<?php if ($partners = $page->partners()->toStructure()): ?>
|
||
<?php if ($partners->isNotEmpty()): ?>
|
||
<div class="dl__group">
|
||
<dt>Partenaire(s)</dt>
|
||
<dd>
|
||
<?php $partnerLinks = [] ?>
|
||
<?php foreach ($partners as $partner): ?>
|
||
<?php if ($partner->link()->isNotEmpty()): ?>
|
||
<?php $partnerLinks[] = '<a href="' . $partner->link() . '" target="_blank">' . $partner->name()->esc() . '</a>' ?>
|
||
<?php else: ?>
|
||
<?php $partnerLinks[] = $partner->name()->esc() ?>
|
||
<?php endif ?>
|
||
<?php endforeach ?>
|
||
<?= implode(', ', $partnerLinks) ?>
|
||
</dd>
|
||
</div>
|
||
<?php endif ?>
|
||
<?php endif ?>
|
||
|
||
<?php if ($page->created()->isNotEmpty()): ?>
|
||
<div class="dl__group">
|
||
<dt>Date de publication</dt>
|
||
<dd><time datetime="<?= $page->created()->toDate('yyyy-MM-dd') ?>"><?= $page->created()->toDate('d MMMM yyyy', 'fr_FR') ?></time></dd>
|
||
</div>
|
||
<?php endif ?>
|
||
</dl>
|
||
|
||
<?php if ($page->synthesis()->isNotEmpty()): ?>
|
||
<div class="section__article" id="section__synthese">
|
||
<h3 class="section__title">Synthèse</h3>
|
||
<?= $page->synthesis()->kt() ?>
|
||
</div>
|
||
<?php endif ?>
|
||
|
||
<div class="section__article" id="section__impacts">
|
||
<h3 class="section__title">Impacts</h3>
|
||
|
||
<!-- Contenu statique temporaire - sera dynamique quand les pages impacts seront créées -->
|
||
<div class="card--impact" data-impact-type="media">
|
||
<p class="tag">Médiatique</p>
|
||
<div class="content">
|
||
<p>12 articles et reprises</p>
|
||
<p>1.5M de vues cumulées</p>
|
||
</div>
|
||
<details class="open-graph__details">
|
||
<summary><p class="summary-inner">Détails <span class="arrow-details"><?= svg('assets/icons/arrow-details.svg') ?></span><p></summary>
|
||
<div class="open-graph__inner">
|
||
<?php snippet('card-open-graph') ?>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
|
||
<div class="card--impact has-link" data-impact-type="judiciaire">
|
||
<p class="tag">Judiciaire</p>
|
||
<p class="date">12 Dec 2025</p>
|
||
<div class="content">
|
||
<p >La justice israélienne déclare ouvrir une enquête sur "les circonstances de la mort de Nidal et Khaled Amirah".
|
||
</p>
|
||
</div>
|
||
<button class="btn--go-to"><a href="#" target="_blank"><?= svg('assets/icons/arrow-left.svg') ?></a></button>
|
||
<a class="link-block" href="#" target="_blank"></a>
|
||
</div>
|
||
|
||
<div class="card--impact has-link" data-impact-type="judiciaire">
|
||
<p class="tag">Judiciaire</p>
|
||
<p class="date">12 Dec 2025</p>
|
||
<div class="content">
|
||
<p >La justice israélienne déclare ouvrir une enquête sur "les circonstances de la mort de Nidal et Khaled Amirah"
|
||
</p>
|
||
</div>
|
||
<button class="btn--go-to"><a href="#" target="_blank"><?= svg('assets/icons/arrow-left.svg') ?></a></button>
|
||
<a class="link-block" href="#" target="_blank"></a>
|
||
</div>
|
||
|
||
<div class="card--impact" data-impact-type="public">
|
||
<p class="tag">Judiciaire</p>
|
||
<p class="date">12 Dec 2025</p>
|
||
<div class="content">
|
||
<p>Index présente une série d'enquêtes récentes au Festival du Réel 2025.</a>
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<?php
|
||
// Récupérer les enquêtes en lien
|
||
$relatedInvestigations = $page->relatedInvestigations()->toPages();
|
||
if ($relatedInvestigations->isEmpty()) {
|
||
// Si pas d'enquêtes liées définies, prendre les 3 dernières enquêtes (sauf la page actuelle)
|
||
$relatedInvestigations = $page->parent()->children()->filterBy('intendedTemplate', 'investigation-summary')->not($page)->listed()->limit(3);
|
||
}
|
||
?>
|
||
|
||
|
||
<?php
|
||
// KIRBY TO DO : récupérer s’il y a un dossier mr
|
||
?>
|
||
|
||
<?php
|
||
// Récupérer le dossier associé à cette investigation
|
||
$folderSlug = $page->folder()->value();
|
||
$folder = null;
|
||
if (!empty($folderSlug) && site()->find('dossiers')) {
|
||
$folder = site()->find('dossiers')->children()->filterBy('slug', $folderSlug)->first();
|
||
}
|
||
|
||
if ($folder):
|
||
?>
|
||
<aside class="section__article" id="section__folder">
|
||
<h3 class="section__title">Dans le dossier</h3>
|
||
|
||
<article class="card--folder">
|
||
<?php if ($cover = $folder->cover()->toFile()): ?>
|
||
<figure>
|
||
<img src="<?= $cover->url() ?>" alt="<?= $folder->title()->esc() ?>">
|
||
</figure>
|
||
<?php endif ?>
|
||
<div class="content">
|
||
<h4 class="title"><a href="<?= $folder->url() ?>"><span class="icon"><?= svg('assets/icons/folder.svg') ?></span><?= $folder->title()->esc() ?></a></h4>
|
||
|
||
<?php if ($folder->description()->isNotEmpty()): ?>
|
||
<p class="short"><?= $folder->description()->excerpt(200) ?></p>
|
||
<?php endif ?>
|
||
|
||
<?php
|
||
// Compter les enquêtes associées à ce dossier
|
||
$investigationsCount = site()->find('enquetes')->children()->listed()->filter(function($investigation) use ($folder) {
|
||
return $investigation->folder()->value() === $folder->slug();
|
||
})->count();
|
||
?>
|
||
|
||
<ul>
|
||
<?php if ($investigationsCount > 0): ?>
|
||
<li><?= $investigationsCount ?> enquête<?= $investigationsCount > 1 ? 's' : '' ?></li>
|
||
<?php endif ?>
|
||
<li>8 impacts</li>
|
||
</ul>
|
||
|
||
</div>
|
||
<button class="btn--go-to"><a href="<?= $folder->url() ?>" target="_blank"><?= svg('assets/icons/arrow-left.svg') ?></a></button>
|
||
<a class="link-block" href="<?= $folder->url() ?>" target="_blank" aria-hidden="true"></a>
|
||
|
||
</article>
|
||
|
||
</aside>
|
||
<?php endif ?>
|
||
|
||
|
||
|
||
|
||
|
||
<?php if ($relatedInvestigations->isNotEmpty()): ?>
|
||
<aside class="section__article" id="section__related-articles">
|
||
<h3 class="section__title">En lien</h3>
|
||
|
||
<?php foreach ($relatedInvestigations as $related): ?>
|
||
<article class="card--article-small">
|
||
<?php if ($cover = $related->cover()->toFile()): ?>
|
||
<figure>
|
||
<img src="<?= $cover->url() ?>" alt="<?= $related->title()->esc() ?>">
|
||
</figure>
|
||
<?php endif ?>
|
||
<div class="content">
|
||
<h4 class="title"><a href="<?= $related->url() ?>"><?= $related->title()->esc() ?></a></h4>
|
||
<?php if ($related->incidentDate()->isNotEmpty()): ?>
|
||
<time datetime="<?= $related->incidentDate()->toDate('yyyy-MM-dd') ?>"><?= $related->incidentDate()->toDate('d MMMM yyyy', 'fr_FR') ?></time>
|
||
<?php endif ?>
|
||
<?php if ($relatedKeywords = $related->keywords()->split()): ?>
|
||
<?php if (count($relatedKeywords) > 0): ?>
|
||
<ul class="keywords--small">
|
||
<?php foreach ($relatedKeywords as $keyword): ?>
|
||
<li><a href="#"><?= esc($keyword) ?></a></li>
|
||
<?php endforeach ?>
|
||
</ul>
|
||
<?php endif ?>
|
||
<?php endif ?>
|
||
</div>
|
||
<button class="btn--go-to"><a href="<?= $related->url() ?>" target="_blank"><?= svg('assets/icons/arrow-left.svg') ?></a></button>
|
||
<a class="link-block" href="<?= $related->url() ?>" target="_blank" aria-hidden="true"></a>
|
||
</article>
|
||
<?php endforeach ?>
|
||
|
||
</aside>
|
||
|
||
</div>
|
||
<?php endif ?>
|
||
|
||
</main>
|
||
<?php snippet('footer') ?>
|