diff --git a/ecrire/inc/invalideur.php b/ecrire/inc/invalideur.php index 4a162d93a73c194aa50cc5b926a909fdafdf9e21..8761232e88f35d33473e4727a0f42c2780519805 100644 --- a/ecrire/inc/invalideur.php +++ b/ecrire/inc/invalideur.php @@ -19,16 +19,6 @@ function supprime_invalideurs() { spip_query("DELETE FROM spip_caches"); } - -// Compilateur : ajouter un invalideur "$type/$valeur" a un code donne -// Attention le type est compile, pas forcement la valeur -function ajouter_invalideur($type, $valeur, $code) { - return ' - // invalideur '.$type.' - (!($Cache[\''.$type.'\']['.$valeur."]=1) ? '':\n\t" . $code .")\n"; -} - - // // Calcul des pages : noter dans la base les liens d'invalidation // diff --git a/ecrire/public/balises.php b/ecrire/public/balises.php index e8cad9531e55a89282dbc15e6e3ef7c7c5550e5a..7b6fab5456b447017e44e76626b8cd04e740e77b 100644 --- a/ecrire/public/balises.php +++ b/ecrire/public/balises.php @@ -713,16 +713,17 @@ function balise_PARAMETRES_FORUM_dist($p) { // Noter l'invalideur de la page contenant ces parametres, // en cas de premier post sur le forum function code_invalideur_forums($p, $code) { - include_spip('inc/invalideur'); $type = 'id_forum'; $valeur = "\n\t\tcalcul_index_forum(" - // Retournera 4 [$SP] mais force la demande du champ a MySQL + // Retournera 4 [$SP] mais force la demande du champ SQL . champ_sql('id_article', $p) . ',' . champ_sql('id_breve', $p) . ',' . champ_sql('id_rubrique', $p) .',' . champ_sql('id_syndic', $p) . ")\n\t"; - return ajouter_invalideur($type, $valeur, $code); + return ' + // invalideur '.$type.' + (!($Cache[\''.$type.'\']['.$valeur."]=1) ? '':\n\t" . $code .")\n"; } // Reference a l'URL de la page courante diff --git a/ecrire/public/compiler_squelette.php b/ecrire/public/compiler_squelette.php index 3086e8590d4b316afa29c121284aaec1a28ab217..5bec042483be287f52fb8eb973c63f364d48b30c 100644 --- a/ecrire/public/compiler_squelette.php +++ b/ecrire/public/compiler_squelette.php @@ -659,8 +659,6 @@ function public_compiler_squelette_dist($squelette, $nom, $gram, $sourcefile) { // Calcul du corps de toutes les fonctions PHP, // en particulier les requetes SQL et TOTAL_BOUCLE // de'terminables seulement maintenant - // Les 4 premiers parame`tres sont passe's par re'fe'rence - // (les 1er et 3e pour modif, les 2 et 4 pour gain de place) foreach($boucles as $id => $boucle) { // appeler la fonction de definition de la boucle @@ -693,7 +691,7 @@ function public_compiler_squelette_dist($squelette, $nom, $gram, $sourcefile) { .preg_replace(',\.html$,', '', $sourcefile) ."] ".creer_repertoire(_DIR_CACHE, 'skel')."$nom.php"); - $squelette_compile = "<"."?php + $code = "<"."?php /* * Squelette : $sourcefile * Date : ".http_gmoddate(@filemtime($sourcefile))." GMT @@ -701,23 +699,25 @@ function public_compiler_squelette_dist($squelette, $nom, $gram, $sourcefile) { * " . (!$boucles ? "Pas de boucle" : ("Boucles : " . join (', ', array_keys($boucles)))) ." */ " . - // ATTENTION, le calcul du l'expression $corps affectera $Cache - // ==> l'affecter a une variable auxiliaire avant de referencer $Cache - $code . " + $code . ' // -// Fonction principale du squelette $sourcefile +// Fonction principale du squelette ' . $sourcefile ." // -function $nom (\$Cache, \$Pile, \$doublons=array(), \$Numrows='', \$SP=0) { - \$page = $corps; +function " . $nom . '($Cache, $Pile, $doublons=array(), $Numrows=array(), $SP=0) { + $page = ' . + // ATTENTION, le calcul du l'expression $corps affectera + // c'est pourquoi on l'affecte a cette variable auxiliaire + // avant de referencer $Cache + $corps . "; return analyse_resultat_skel('$nom', \$Cache, \$page); } ?".">"; if ($GLOBALS['var_mode'] == 'debug') - squelette_debug_compile($nom, $sourcefile, $squelette_compile, $squelette); - return $squelette_compile; + squelette_debug_compile($nom, $sourcefile, $code, $squelette); + return $code; } diff --git a/ecrire/public/executer_squelette.php b/ecrire/public/executer_squelette.php index dbab42d42dbe593e15b7a7dc621aa93d42858932..47b3b4baa5b6c26668c49a3eb23e3ecacf7e38bf 100644 --- a/ecrire/public/executer_squelette.php +++ b/ecrire/public/executer_squelette.php @@ -435,7 +435,7 @@ function sql_auteurs($id_article, $table, $id_boucle, $serveur='') { return (!$auteurs) ? "" : join($auteurs, ", "); } -function sql_petitions($id_article, $table, $id_boucle, $serveur, &$Cache) { +function sql_petitions($id_article, $table, $id_boucle, $serveur, &$cache) { $retour = spip_abstract_fetsel( array('texte'), array('spip_petitions'), @@ -445,7 +445,7 @@ function sql_petitions($id_article, $table, $id_boucle, $serveur, &$Cache) { if (!$retour) return ''; # cette page est invalidee par toute petition - $Cache['varia']['pet'.$id_article] = 1; + $cache['varia']['pet'.$id_article] = 1; # ne pas retourner '' car le texte sert aussi de presence return ($retour['texte'] ? $retour['texte'] : ' '); } diff --git a/ecrire/public/localiser_page.php b/ecrire/public/localiser_page.php index aafdfc11b3e6774cdab7b20425199263d23891ee..d984a87af60a9af85a6780dfe18e666130c5ee82 100644 --- a/ecrire/public/localiser_page.php +++ b/ecrire/public/localiser_page.php @@ -152,7 +152,7 @@ function signaler_squelette($contexte) -function analyse_resultat_skel($nom, $Cache, $corps) { +function analyse_resultat_skel($nom, $cache, $corps) { $headers = array(); // Recupere les < ?php header('Xx: y'); ? > pour $page['headers'] @@ -171,7 +171,7 @@ function analyse_resultat_skel($nom, $Cache, $corps) { return array('texte' => $corps, 'squelette' => $nom, 'process_ins' => ((strpos($corps,'<'.'?')=== false)?'html':'php'), - 'invalideurs' => $Cache, + 'invalideurs' => $cache, 'entetes' => $headers, 'duree' => $headers['X-Spip-Cache'] );