diff --git a/blocks_fonctions.php b/blocks_fonctions.php index 77b10d2b21ba51be74e04cc3603597d2698daf88..f16a0361f9109e567ea420f88f3743d7d606130e 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 1dd184ab130b2b714c0b76375a00066ae9b92925..e3ea732698e947bc9e31cce50d88d79723346c3f 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