From 2397cdb50aac0285b3130a1d4f4d008caa16278f Mon Sep 17 00:00:00 2001 From: nicod_ <nicod@lerebooteux.fr> Date: Thu, 27 Apr 2023 15:49:16 +0200 Subject: [PATCH] =?UTF-8?q?Pouvoir=20retourner=20le=20chemin=20complet=20d?= =?UTF-8?q?u=20squelette=20trouv=C3=A9=20dans=20le=20path=20(pour=20affich?= =?UTF-8?q?age=20plus=20d=C3=A9taill=C3=A9=20dans=20le=20priv=C3=A9)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blocks_fonctions.php | 21 +++++++++++++-------- prive/objets/contenu/blocs_type.html | 4 ++-- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/blocks_fonctions.php b/blocks_fonctions.php index 77b10d2..f16a036 100644 --- a/blocks_fonctions.php +++ b/blocks_fonctions.php @@ -183,31 +183,36 @@ function generer_TITRE_BLOC($id_bloc) { /** * Chercher le squelette correspondant à un bloc par son identifiant * - * @param string $identifiant Identifiant du bloc - * @param bool $force_public Forcer une recherche du squelette public + * @param string $identifiant Identifiant du bloc + * @param bool $force_public Forcer une recherche du squelette public + * @param bool $chemin_complet Retourne le chemin complet du squelette * @return string Chemin du squelette trouvé */ -function blocks_trouver_squelette($identifiant, $force_public = false) { +function blocks_trouver_squelette($identifiant, $force_public = false, $chemin_complet = false) { static $cache; - $cle = $identifiant . ($force_public ? 'oui' : 'non'); + $cle = $identifiant . ($force_public ? 'oui' : 'non') . ($chemin_complet ? 'oui' : 'non'); if (isset($cache[$cle])) { return $cache[$cle]; } + $squelette = ''; if ( !$force_public && test_espace_prive() && ($f = find_in_path($identifiant . '.' . _EXTENSION_SQUELETTES, 'blocks_prive/')) && lire_fichier($f, $contenu) ) { - $squelette = 'blocks_prive/' . $identifiant; + $squelette = $chemin_complet ? $f : 'blocks_prive/' . $identifiant; } else if ( ($f = find_in_path($identifiant . '.' . _EXTENSION_SQUELETTES, 'blocks/')) && lire_fichier($f, $contenu) ) { - $squelette = 'blocks/' . $identifiant; - } else { - $squelette = 'blocks/dist'; + $squelette = $chemin_complet ? $f : 'blocks/' . $identifiant; + } else if ( + ($f = find_in_path('dist.' . _EXTENSION_SQUELETTES, 'blocks/')) + && lire_fichier($f, $contenu) + ) { + $squelette = $chemin_complet ? $f : 'blocks/dist'; } $cache[$cle] = $squelette; diff --git a/prive/objets/contenu/blocs_type.html b/prive/objets/contenu/blocs_type.html index 1dd184a..e3ea732 100644 --- a/prive/objets/contenu/blocs_type.html +++ b/prive/objets/contenu/blocs_type.html @@ -5,10 +5,10 @@ <strong class="label"><:blocs_type:champ_identifiant_label:/> : </strong>#IDENTIFIANT </p> <p> - <strong class="label"><:blocs_type:texte_squelette_public:/> : </strong>[(#IDENTIFIANT|blocks_trouver_squelette{1})] + <strong class="label"><:blocs_type:texte_squelette_public:/> : </strong>[(#IDENTIFIANT|blocks_trouver_squelette{1,1}|joli_repertoire)] </p> <p> - <strong class="label"><:blocs_type:texte_squelette_prive:/> : </strong>[(#IDENTIFIANT|blocks_trouver_squelette)] + <strong class="label"><:blocs_type:texte_squelette_prive:/> : </strong>[(#IDENTIFIANT|blocks_trouver_squelette{0,1}|joli_repertoire)] </p> #BOITE_FERMER -- GitLab