Skip to content
Extraits de code Groupes Projets
Valider dac1f4f3 rédigé par nicod's avatar nicod
Parcourir les fichiers

Une fonction générique pour retrouver le squelette d'un bloc

parent 8f24c5fe
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -119,22 +119,6 @@ function _block_charger_block($id_bloc) {
'b.id_bloc = ' . (int)$id_bloc
);
// chercher le squelette pour afficher le contenu du bloc
if (
test_espace_prive()
&& ($f = find_in_path($infos['identifiant'] . '.' . _EXTENSION_SQUELETTES, 'blocks_prive/'))
&& lire_fichier($f, $contenu)
) {
$squelette = 'blocks_prive/' . $infos['identifiant'];
} else if (
($f = find_in_path($infos['identifiant'] . '.' . _EXTENSION_SQUELETTES, 'blocks/'))
&& lire_fichier($f, $contenu)
) {
$squelette = 'blocks/' . $infos['identifiant'];
} else {
$squelette = 'blocks/dist';
}
$contexte = [
'id_bloc' => $id_bloc,
];
......@@ -148,6 +132,8 @@ function _block_charger_block($id_bloc) {
}
}
$squelette = blocks_trouver_squelette($infos['identifiant']);
return recuperer_fond($squelette, $contexte);
}
......@@ -174,3 +160,37 @@ function generer_TITRE_BLOC($id_bloc) {
return $titre;
}
/**
* 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
* @return string Chemin du squelette trouvé
*/
function blocks_trouver_squelette($identifiant, $force_public = false) {
static $cache;
$cle = $identifiant . ($force_public ? 'oui' : 'non');
if (isset($cache[$cle])) {
return $cache[$cle];
}
if (
!$force_public
&& test_espace_prive()
&& ($f = find_in_path($identifiant . '.' . _EXTENSION_SQUELETTES, 'blocks_prive/'))
&& lire_fichier($f, $contenu)
) {
$squelette = 'blocks_prive/' . $identifiant;
} else if (
($f = find_in_path($identifiant . '.' . _EXTENSION_SQUELETTES, 'blocks/'))
&& lire_fichier($f, $contenu)
) {
$squelette = 'blocks/' . $identifiant;
} else {
$squelette = 'blocks/dist';
}
$cache[$cle] = $squelette;
return $squelette;
}
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter