2024-10-12 15:58:50 +00:00

123 lines
4.2 KiB
PHP
Executable File

<?php
require("../../include/variables.php");
require("../../include/init.php");
if (!isset($_SESSION['userID'])) {
header("Location: /login?p=about/doc.php");
die("Seuls les utilisateurs connectés peuvent consulter ces documents");
}
require("../../include/main-functions.php");
require("../../include/panels.php");
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<?php fillHead($rootPageURL, "A propos - " . $pageName, $darkTheme, $lightTheme);?>
<style>
.documents {
margin-top: 4em;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
padding: 10px;
box-sizing: border-box;
}
.doc {
flex: 1 1 calc(33.333% - 20px); /* Trois éléments par ligne avec un espace de 20px */
margin: 2em 0.5em;
box-sizing: border-box; /* Inclut le padding et la marge dans la largeur totale des éléments */
}
.doc img {
height: 20em;
border-radius: 5px;
}
.doc h3 {
font-size: 0.8em;
}
@media(max-width: 750px) {
.doc img {
height: 15em;
}
}
</style>
</head>
<body class="body">
<header>
<div class="panel-content">
<?php fillHeader($rootPageURL, $headerTitle, $headerSubtitle, $social);?>
</div>
</header>
<nav>
<div class="panel-content">
<?php fillNav($rootPageURL);?>
</div>
</nav>
<main>
<div class="content">
<h1>Espace documentaire</h1>
<?php
// Répertoire des fichiers PDF
$pdfDir = './docs/pdf/';
// Répertoire pour stocker les miniatures
$thumbDir = './docs/img/';
if (!file_exists($thumbDir)) {
mkdir($thumbDir, 0777, true);
}
// Récupérer la liste des fichiers PDF
$pdfFiles = glob($pdfDir . '*.pdf');
// Fonction pour générer une image à partir de la première page d'un PDF
function generateThumbnail($pdfFile, $outputDir, $outputFile) {
$outputPath = $outputDir . '/' . pathinfo($outputFile, PATHINFO_FILENAME);
$command = "pdftoppm -jpeg -f 1 -singlefile " . escapeshellarg($pdfFile) . " " . escapeshellarg($outputPath);
exec($command);
}
// Générer les miniatures
foreach ($pdfFiles as $pdfFile) {
$pdfFilename = basename($pdfFile);
$thumbFilename = pathinfo($pdfFilename, PATHINFO_FILENAME) . '.jpg';
$thumbFilePath = $thumbDir . $thumbFilename;
if (!file_exists($thumbFilePath)) {
generateThumbnail($pdfFile, $thumbDir, $thumbFilename);
}
}
// Générer le HTML pour afficher la mosaïque
echo '<div class="documents">';
foreach ($pdfFiles as $pdfFile) {
$pdfFilename = basename($pdfFile);
$thumbFilename = pathinfo($pdfFilename, PATHINFO_FILENAME) . '.jpg';
$thumbFilePath = $thumbDir . $thumbFilename;
$pdfFilePath = $pdfDir . $pdfFilename;
echo '<div class="doc">';
echo '<h3>' . $pdfFilename . '</h3>';
echo '<a href="' . $pdfFilePath . '" target="_blank">';
echo '<img src="' . $thumbFilePath . '" alt="' . $pdfFilename . '">';
echo '</a>';
echo '</div>';
}
echo '</div>';
?>
</div>
</main>
<footer>
<div class="panel-content">
<?php fillFooter($footerText);?>
</div>
</footer>
</body>
</html>