update du projet, xml collection enlevé et méthode fait maison ajouter

This commit is contained in:
Pontoporeia
2023-05-12 09:38:08 +02:00
parent 85a81079c1
commit 3ee32e17fa
2058 changed files with 837761 additions and 41938 deletions

144
index.php Executable file → Normal file
View File

@@ -1,95 +1,75 @@
<?php
// chargement du dossier custom
// si il n'existe pas, c'est que la première installation n'a pas eu lieu
// donc renommer config-custom en config
if (!is_dir("config")) {
if (is_dir("config-sample")) {
rename("config-sample","config");
// on dirait une première installation, créer le directory "content" au besoin
if(!is_dir("contenus")){
mkdir("contenus", 0775, true);
mkdir("contenus/cache", 0775, true);
mkdir("contenus/fichiers", 0775, true);
mkdir("contenus/xmls", 0775, true);
}
} else {
die("Problème : pas de dossier config-sample ni config. Il doit y avoir un problème");
}
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('error_log', 'error.log');
require_once 'vendor/autoload.php';
use Symfony\Component\Yaml\Yaml;
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$itemsPerPage = 10;
$dir = "data/yaml/*.yaml";
$yamlFiles = glob($dir);
$data = [];
foreach ($yamlFiles as $yamlFile) {
$data[] = Yaml::parseFile($yamlFile);
}
include("config/config.php");
require("inc/inc-functions.php");
require("inc/inc-display-functions.php");
require("inc/classe_xml.php");
// charger la structure pour le menu
$xml=new classe_xml(MODELE);
$structure=$xml->get_contenu();
usort($data, function ($a, $b) {
return $a['année'] <=> $b['année'];
});
include("inc/inc-head.php");
?>
$offset = ($page - 1) * $itemsPerPage;
$itemsToLoad = array_slice($data, $offset, $itemsPerPage);
include 'inc/header.php'; ?>
<section class="section">
<div class="container">
<div class="columns is-multiline">
<?php foreach ($itemsToLoad as $key => $item): ?>
<div class="column is-one-fifth">
<a href="memoire.php?file=<?= urlencode($yamlFiles[$key]); ?>" class="card-link">
<div class="card">
<?php if (isset($item['couverture'])): ?>
<div class="card-image">
<figure class="image ">
<img src="<?= $item['couverture']; ?>" alt="Image preview">
</figure>
</div>
<?php endif; ?>
<div class="card-content">
<h4 class="title is-4">
<?= $item['titre']; ?>
</h4>
<h2 class="subtitle">
<?= $item['auteurice']; ?>
</p>
<h3 class="tag title is-6 is-link is-light">
<?= $item['année']; ?>
</h3>
<p class="block content">
<?php
$excerpt_length = 150;
$description_excerpt = substr($item['description'], 0, $excerpt_length) . '...';
?>
<?= $description_excerpt; ?>
</p>
</div>
<section class="container-fluid mb-3">
<div id="tools-multi" style="display:none">
<div class='mb-3 mx-3 pb-2 border-bottom'>
<div class='mt-1 d-inline-block mr-4 fat' >
Ajouter des éléments par simple clic
</div>
<div class='mt-1 d-inline-block mr-4 pointer' onclick='collection_items_filtre("cochertout")'>
Tout cocher
</div>
<div class='mt-1 d-inline-block mr-4 pointer' onclick='collection_items_filtre("cocherrien")'>
Tout décocher
</div>
<div class='mt-1 d-inline-block mr-4 pointer' onclick='collection_items_filtre("showselect")'>
Ne montrer que la sélection
</div>
<div class='mt-1 d-inline-block mr-4 pointer' onclick='collection_items_filtre("showall")'>
Montrer tout
</div>
</a>
</div>
<?php endforeach; ?>
</div>
<div data-affichage="mosaique" id="big-container">
<div class="row mt-2" id="items-container" data-cle="<?php echo $xml->cle; ?>">
<?php
// charger le cache s'il existe
// sinon le fabriquer
if(file_exists(CHEMIN.DOSSIER_CACHE."cache.html")){
echo file_get_contents(CHEMIN.DOSSIER_CACHE."cache.html");
} else {
$page="";
// afficher les éléments
//$xml=new classe_xml(MODELE);
$liste=glob(CHEMIN.DOSSIER_XML."*.xml",GLOB_BRACE);
foreach($liste as $item){
$xml->lire_xml($item);
$page.=display_mosaique_item($xml,true);
}
file_put_contents(CHEMIN.DOSSIER_CACHE."cache.html", $page);
echo $page;
}
?>
</div>
<div id="side-container">
<div class='mover'></div>
<div class="container-inner"></div>
</div>
</div>
</section>
<section id="fullpage-container" class="fullframe">
<div class="container-inner"></div>
</section>
<section id="gal-container" class="fullframe">
<div class="container-inner"></div>
</div>
</section>
<?php
// insert du pipeline en bottom
if(file_exists(CHEMIN.DOSSIER_CUSTOM."insert-post-mosaique.php")){
include(CHEMIN.DOSSIER_CUSTOM."insert-post-mosaique.php");
}
include("inc/inc-footer.php");
include 'inc/footer.php';
?>