Skip to content
Extraits de code Groupes Projets
Valider 04b3c764 rédigé par esj's avatar esj
Parcourir les fichiers

nouvelle API de public_trouver_squelette, explicitant langage but et langage...

nouvelle API de public_trouver_squelette, explicitant langage but et langage cible et fichier dans son resultat
parent e62e02f4
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -61,12 +61,11 @@ function squelette_obsolete($skel, $squelette) { ...@@ -61,12 +61,11 @@ function squelette_obsolete($skel, $squelette) {
# - des fonctions de traduction de balise, de critere et de boucle # - des fonctions de traduction de balise, de critere et de boucle
# - des declaration de tables SQL supplementaires # - des declaration de tables SQL supplementaires
function charger_squelette ($squelette, $mime_type, $gram) { function charger_squelette ($squelette, $mime_type, $gram, $sourcefile) {
$nom = $mime_type . '_' . md5($squelette); $nom = $mime_type . '_' . md5($squelette);
$sourcefile = $squelette . ".$gram";
// le squelette est-il deja en memoire (INCLURE a repetition) // si squelette est deja en memoire (INCLURE a repetition)
if (function_exists($nom)) if (function_exists($nom))
return $nom; return $nom;
...@@ -87,9 +86,6 @@ function charger_squelette ($squelette, $mime_type, $gram) { ...@@ -87,9 +86,6 @@ function charger_squelette ($squelette, $mime_type, $gram) {
// Le fichier suivant peut contenir entre autres: // Le fichier suivant peut contenir entre autres:
// 1. les filtres utilises par le squelette // 1. les filtres utilises par le squelette
// 2. des ajouts au compilateur // 2. des ajouts au compilateur
// Le point 1 exige qu'il soit lu dans tous les cas.
// Le point 2 exige qu'il soit lu apres inc-compilo
// (car celui-ci initialise $tables_principales) mais avant la compil
@include_once($squelette . '_fonctions'.'.php3'); # compatibilite @include_once($squelette . '_fonctions'.'.php3'); # compatibilite
@include_once($squelette . '_fonctions'.'.php'); @include_once($squelette . '_fonctions'.'.php');
...@@ -145,7 +141,7 @@ function cherche_page ($cache, $contexte, $fond) { ...@@ -145,7 +141,7 @@ function cherche_page ($cache, $contexte, $fond) {
lang_select($lang); lang_select($lang);
$f = include_fonction('trouver_squelette', 'public'); $f = include_fonction('trouver_squelette', 'public');
list($skel,$mime_type, $gram) = $f($fond, $id_rubrique_fond,$GLOBALS['spip_lang']); list($skel,$mime_type, $gram, $sourcefile) = $f($fond, $id_rubrique_fond,$GLOBALS['spip_lang']);
// Compiler le squelette en specifiant les langages cibles et source // Compiler le squelette en specifiant les langages cibles et source
// (cette compilation n'intervient qu'en cas de modif du squelette) // (cette compilation n'intervient qu'en cas de modif du squelette)
...@@ -154,7 +150,7 @@ function cherche_page ($cache, $contexte, $fond) { ...@@ -154,7 +150,7 @@ function cherche_page ($cache, $contexte, $fond) {
$page = array(); $page = array();
if ($fonc = charger_squelette($skel, $mime_type, $gram)) { if ($fonc = charger_squelette($skel, $mime_type, $gram, $sourcefile)){
spip_timer('calcul page'); spip_timer('calcul page');
$page = $fonc(array('cache' => $cache), array($contexte)); $page = $fonc(array('cache' => $cache), array($contexte));
spip_log("calcul (" spip_log("calcul ("
......
...@@ -15,7 +15,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return; ...@@ -15,7 +15,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
// Ce fichier doit imperativement definir la fonction ci-dessous: // Ce fichier doit imperativement definir la fonction ci-dessous:
function public_trouver_squelette($fond, $id_rubrique, $lang) { function public_trouver_squelette_dist($fond, $id_rubrique, $lang) {
$ext = $GLOBALS['extension_squelette']; $ext = $GLOBALS['extension_squelette'];
// Accrocher un squelette de base dans le chemin, sinon erreur // Accrocher un squelette de base dans le chemin, sinon erreur
...@@ -24,7 +24,11 @@ function public_trouver_squelette($fond, $id_rubrique, $lang) { ...@@ -24,7 +24,11 @@ function public_trouver_squelette($fond, $id_rubrique, $lang) {
erreur_squelette(_T('info_erreur_squelette2', erreur_squelette(_T('info_erreur_squelette2',
array('fichier'=>$fond)), array('fichier'=>$fond)),
$GLOBALS['dossier_squelettes']); $GLOBALS['dossier_squelettes']);
return substr(find_in_path('404.html'), 0, -strlen(".$ext")); $f = find_in_path('404.html');
return array(substr($f, 0, -strlen(".$ext")),
$ext,
$ext,
$f);
} }
// supprimer le ".html" pour pouvoir affiner par id_rubrique ou par langue // supprimer le ".html" pour pouvoir affiner par id_rubrique ou par langue
...@@ -56,7 +60,6 @@ function public_trouver_squelette($fond, $id_rubrique, $lang) { ...@@ -56,7 +60,6 @@ function public_trouver_squelette($fond, $id_rubrique, $lang) {
$squelette = $f; $squelette = $f;
} }
return array($squelette, $ext, $ext); return array($squelette, $ext, $ext, "$squelette.$ext");
} }
?> ?>
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