diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php index 37bd9389a60bb1f744fa0409542ee6993a700f2f..52f3c1432b40e3513deec88344d1f09545c0584b 100644 --- a/ecrire/inc_version.php +++ b/ecrire/inc_version.php @@ -289,19 +289,18 @@ $liste_des_forums = array( // Droits d'acces maximum par defaut @umask(0); -// version de la base (= numero SVN de sa derniere modif) +// version des signatures de fonctions PHP +// (= numero SVN de leur derniere modif cassant la compatibilite) +$spip_version_code = 11056; +// version de la base SQL (= numero SVN de sa derniere modif) $spip_version = 11042; - // version de l'interface a la base $spip_sql_version = 1; // version de spip en chaine -// et en numerique a incrementer sur les evolutions qui cassent la compatibilite descendante // 1.xxyy : xx00 versions stables publiees, xxyy versions de dev // (ce qui marche pour yy ne marchera pas forcement sur une version plus ancienne) -// type nouvelles fonctionnalites, deplacement de fonctions ... $spip_version_affichee = '1.9.3 dev'; -$spip_version_code = '1.9303'; // ** Securite ** $visiteur_session = $auteur_session = $connect_statut = $connect_toutes_rubriques = $hash_recherche = $hash_recherche_strict = $ldap_present =''; diff --git a/ecrire/public/composer.php b/ecrire/public/composer.php index 4e202624715fe4b6ae74ec8458b1cdcf621adc95..8ac3b3760c427d4c5b13978fd9ed4f276149e722 100644 --- a/ecrire/public/composer.php +++ b/ecrire/public/composer.php @@ -30,14 +30,7 @@ include_spip('public/interfaces'); # Toutefois pour 2. et 3. preferer la technique de la surcharge // http://doc.spip.org/@public_composer_dist -function public_composer_dist($squelette, $mime_type, $gram, $source, $connect) { - - $nom = $mime_type . ($connect ? "_$connect" : '') . '_' - . md5($GLOBALS['spip_version_code'].' * '.$squelette); - - // si squelette est deja en memoire (INCLURE a repetition) - if (function_exists($nom)) - return $nom; +function public_composer_dist($squelette, $nom, $gram, $source, $connect) { $phpfile = sous_repertoire(_DIR_SKELS,'',false,true) . $nom . '.php'; diff --git a/ecrire/public/debug.php b/ecrire/public/debug.php index 50ddef74ae5eec6da12659e86cceb7ae504b5fcf..eb6059db94d39937c859b26b42bd3b9b18d1d35f 100644 --- a/ecrire/public/debug.php +++ b/ecrire/public/debug.php @@ -229,7 +229,7 @@ function squelette_debug_compile($nom, $sourcefile, $code, $squelette) { // http://doc.spip.org/@boucle_debug function boucle_debug ($nom, $id_parent, $id, $type, $crit, $avant, $milieu, $apres, $altern) { global $debug_objets; - $debug_objets['courant'] = $nom; + $debug_objets['parent'][$nom.$id] = $id_parent; $debug_objets['pretty'][$nom.$id] = "BOUCLE$id($type)" . htmlspecialchars( diff --git a/ecrire/public/parametrer.php b/ecrire/public/parametrer.php index 04112aed3f526cfbb80eb9b6eef4f6fed3ddfd12..94ee8a5cbcb60f13b51364810a027bc629ad7018 100644 --- a/ecrire/public/parametrer.php +++ b/ecrire/public/parametrer.php @@ -297,18 +297,34 @@ function public_parametrer_dist($fond, $local='', $cache='', $connect='') { list($skel,$mime_type, $gram, $sourcefile) = $styliser($fond, $id_rubrique_fond, $GLOBALS['spip_lang'], $connect); - // Charger le squelette en specifiant les langages cibles et source + // calcul du nom du squelette + $fonc = $mime_type . ($connect ? "_$connect" : '') . '_' + . md5($GLOBALS['spip_version_code'].' * '.$skel); + + $debug = (isset($GLOBALS['var_mode']) && ($GLOBALS['var_mode'] == 'debug')); + // sauver le nom de l'eventuel squelette en cours d'execution + // (recursion possible a cause des modeles) + $courant = $debug ? @$GLOBALS['debug_objets']['courant'] : ''; + + // si pas deja en memoire (INCLURE a repetition), + // charger le squelette en specifiant les langages cibles et source // au cas il faudrait le compiler (source posterieure au resultat) - // et appliquer sa fonction principale sur le contexte. - // Passer le nom du cache pour produire sa destruction automatique - $composer = charger_fonction('composer', 'public'); + if (!function_exists($fonc)) { + + $composer = charger_fonction('composer', 'public'); - // Le debugueur veut afficher le contexte - if (isset($GLOBALS['var_mode']) && ($GLOBALS['var_mode'] == 'debug')) - $GLOBALS['debug_objets']['contexte'][$sourcefile] = $local; + if ($debug) { + $GLOBALS['debug_objets']['contexte'][$sourcefile] = $local; + $GLOBALS['debug_objets']['courant'] = $fonc; + } + $fonc = $composer($skel, $fonc, $gram, $sourcefile, $connect); + } + + // Appliquer le squelette compile' sur le contexte. + // Passer le nom du cache pour produire sa destruction automatique - if ($fonc = $composer($skel, $mime_type, $gram, $sourcefile, $connect)){ + if ($fonc) { spip_timer($a = 'calcul page '.rand(0,1000)); $notes = calculer_notes(); // conserver les notes... @@ -329,7 +345,7 @@ function public_parametrer_dist($fond, $local='', $cache='', $connect='') { . join(', ',$info) .' ('.strlen($page['texte']).' octets)' ); - if (isset($GLOBALS['var_mode']) && ($GLOBALS['var_mode'] == 'debug')) + if ($debug) $GLOBALS['debug_objets']['profile'][$sourcefile] = $profile; // Si #CACHE{} n'etait pas la, le mettre a $delais @@ -339,9 +355,10 @@ function public_parametrer_dist($fond, $local='', $cache='', $connect='') { } else $page = array(); - if (isset($GLOBALS['var_mode']) && ($GLOBALS['var_mode'] == 'debug')) { + if ($debug) { include_spip('public/debug'); debug_dumpfile (strlen($page['texte'])?$page['texte']:" ", $fonc, 'resultat'); + $GLOBALS['debug_objets']['courant'] = $courant; } $page['contexte'] = $local;