40090-vm/publication.php
Flatlogic Bot d6311a3a5e 1.0
2026-05-26 10:05:49 +00:00

74 lines
3.0 KiB
PHP

<?php
declare(strict_types=1);
require_once __DIR__ . '/includes/app.php';
$slug = trim((string) ($_GET['slug'] ?? ''));
$publication = publication_by_slug($slug);
$activePage = 'publications';
if (!$publication) {
http_response_code(404);
$pageTitle = 'Publication Not Found';
$pageDescription = 'The requested publication could not be found.';
} else {
$pageTitle = $publication['title'];
$pageDescription = $publication['summary'];
}
$relatedPublications = array_filter(publication_catalog(), static fn (array $item): bool => $publication ? $item['slug'] !== $publication['slug'] : true);
$relatedPublications = array_slice(array_values($relatedPublications), 0, 2);
require __DIR__ . '/includes/header.php';
?>
<section class="page-section pt-4 pt-lg-5">
<div class="container">
<?php if (!$publication): ?>
<div class="empty-panel">
<span class="signal-chip signal-chip--gold mb-3">404</span>
<h1 class="page-title">Publication unavailable</h1>
<p class="empty-copy">Return to the publication index to keep exploring the ecosystem editorial layer.</p>
<a class="btn btn-brand mt-3" href="publications.php">Back to publications</a>
</div>
<?php else: ?>
<article class="hero-shell">
<span class="section-kicker"><?= h($publication['category']) ?></span>
<h1 class="page-title"><?= h($publication['title']) ?></h1>
<div class="meta-row mb-4">
<span class="signal-chip"><?= h(format_date_label($publication['date'])) ?></span>
<span class="signal-chip signal-chip--accent">Publication detail</span>
</div>
<p class="lead-copy mb-0"><?= h($publication['summary']) ?></p>
</article>
<div class="row g-4 mt-1">
<div class="col-lg-8">
<div class="surface-card h-100 publication-body">
<?php foreach ($publication['body'] as $paragraph): ?>
<p class="card-copy mb-3"><?= h($paragraph) ?></p>
<?php endforeach; ?>
</div>
</div>
<div class="col-lg-4">
<div class="surface-card h-100">
<span class="section-kicker">Continue exploring</span>
<h2 class="section-title">Related reading</h2>
<div class="stack-list mt-3">
<?php foreach ($relatedPublications as $related): ?>
<div class="stack-item">
<div>
<span><?= h($related['title']) ?></span>
<small><?= h($related['summary']) ?></small>
</div>
<a class="button-link" href="<?= h(page_url('publication.php', ['slug' => $related['slug']])) ?>">Open</a>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
</div>
<?php endif; ?>
</div>
</section>
<?php require __DIR__ . '/includes/footer.php'; ?>