123 lines
4.2 KiB
PHP
Executable File
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>
|