Update of /home/spip-cvs/spip
In directory alan:/tmp/cvs-serv3258
Modified Files:
inc-admin.php3 inc-balises.php3 inc-calcul.php3
inc-compilo-index.php3 inc-formulaires.php3
inc-html-squel.php3 inc-public.php3
Log Message:
un peu de nettoyage de tout ça (débuggueur, parcours du code, var_recherche et codes php, etc.)
La gestion de certaines erreurs php (parse errors) dans les squelettes a disparu (code mangé par ESJ qui avait très faim de bugs-frites)
Index: inc-calcul.php3
RCS file: /home/spip-cvs/spip/inc-calcul.php3,v
retrieving revision 1.110
retrieving revision 1.111
diff -u -d -r1.110 -r1.111
--- inc-calcul.php3 21 Sep 2004 16:08:42 -0000 1.110
+++ inc-calcul.php3 21 Sep 2004 21:11:16 -0000 1.111
@@ -16,9 +16,7 @@
include_ecrire("inc_documents.php3");
include_local("inc-forum.php3");
include_local("inc-calcul-outils.php3");
-
-#include_local("inc-calcul_html"); # anciens noms des fichiers
-#include_local("inc-calcul_mysql");
+include_local("inc-admin.php3");
// Ce fichier peut contenir une affectation de $dossier_squelettes indiquant
@@ -142,19 +140,17 @@
if ($fonc = charger_squelette($skel))
$page = $fonc(array('cache' => $cache), array($contexte));
- // Passer la main au debuggueur)
- if ($GLOBALS['var_debug'] AND
- $GLOBALS['debug_objet'] == $fonc AND
- $GLOBALS['debug_affiche'] == 'resultat')
+ // Passer la main au debuggueur)
+ if ($GLOBALS['var_debug']
+ AND $GLOBALS['debug_objet'] == $fonc
+ AND $GLOBALS['debug_affiche'] == 'resultat')
debug_dumpfile ($page['texte']);
}
- # flag pour spip_error_handler(), cf inc-admin ??
- $page['squelette'] = $skel;
// Nettoyer le resultat si on est fou de XML
if ($GLOBALS['xhtml']) {
- include_ecrire("inc_tidy.php");
- $page['texte'] = xhtml($page['texte']);
+ include_ecrire("inc_tidy.php");
+ $page['texte'] = xhtml($page['texte']);
}
// Entrer les invalideurs dans la base
@@ -283,6 +279,8 @@
return $page;
}
+
+## tout ce qui suit devrait etre ailleurs : ecrire/inc_db_(mysql|pgsql).php3
// Cette fonction est systematiquement appelee par les squelettes
// pour constuire une requete SQL de type "lecture" (SELECT) a partir
// de chaque boucle.
@@ -331,12 +329,13 @@
}
function spip_abstract_serveur($f, $serveur) {
- if (function_exists($f)) return $f;
- include_local("inc-admin.php3");
- erreur_squelette(_L(' serveur SQL indefini'), $serveur);
-
- // hack pour continuer la chasse aux erreurs
- return 'array';
+ if (function_exists($f))
+ return $f;
+
+ erreur_squelette(_L(' serveur SQL indefini'), $serveur);
+
+ // hack pour continuer la chasse aux erreurs
+ return 'array';
}
// Les 3 fonctions suivantes exploitent le resultat de la precedente,
@@ -363,8 +362,7 @@
return $f($res);
}
-# une composition tellement fréquente...
-
+# une composition tellement frequente...
function spip_abstract_fetsel(
$select = array(), $from = array(), $where = '',
$groupby = '', $orderby = '', $limit = '',
Index: inc-compilo-index.php3
RCS file: /home/spip-cvs/spip/inc-compilo-index.php3,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- inc-compilo-index.php3 21 Sep 2004 19:40:08 -0000 1.23
+++ inc-compilo-index.php3 21 Sep 2004 21:11:16 -0000 1.24
@@ -46,7 +46,6 @@
# spip_log("Go: idb='$idb' r='$r' c='$c' nom='$nom_champ' s=$s");
$desc = $tables_des_serveurs_sql[$s][$t];
if (!$desc) {
- include_local("inc-admin.php3");
erreur_squelette(_L("Table SQL \"$r\" inconnue"), "'$idb'");
# continuer pour chercher l'erreur suivante
return "'#" . $r . ':' . $nom_champ . "'";
Index: inc-formulaires.php3
RCS file: /home/spip-cvs/spip/inc-formulaires.php3,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -d -r1.69 -r1.70
--- inc-formulaires.php3 16 Sep 2004 20:13:08 -0000 1.69
+++ inc-formulaires.php3 21 Sep 2004 21:11:16 -0000 1.70
@@ -542,13 +542,5 @@
return $res;
}
-function formulaire_admin() {
- if (!$GLOBALS['flag_preserver'] && ($GLOBALS['HTTP_COOKIE_VARS']['spip_admin'])) {
- include_local('inc-admin.php3');
- global $page, $cle, $fraicheur;
- return afficher_boutons_admin($page, $cle, $fraicheur);
- }
- return '';
-}
?>
Index: inc-public.php3
RCS file: /home/spip-cvs/spip/inc-public.php3,v
retrieving revision 1.96
retrieving revision 1.97
diff -u -d -r1.96 -r1.97
--- inc-public.php3 21 Sep 2004 15:35:37 -0000 1.96
+++ inc-public.php3 21 Sep 2004 21:11:16 -0000 1.97
@@ -3,16 +3,11 @@
// Page inclue ?
if (defined("_INC_PUBLIC")) {
$page = inclure_page($fond, $delais, $contexte_inclus, $fichier_inclus);
- $contenu = $page['texte'];
- // Traiter var_recherche pour surligner les mots
- if ($GLOBALS['var_recherche']) {
- include_ecrire("inc_surligne.php3");
- $contenu = surligner_mots($contenu, $var_recherche);
- }
- if ($page['process_ins'] == 'php') {
- eval('?' . '>' . $contenu); // page 'php'
- } else
- echo $contenu; // page tout 'html'
+
+ if ($page['process_ins'] == 'html')
+ echo $page['texte'];
+ else
+ eval('?' . '>' . $page['texte']);
if ($page['lang_select'])
lang_dselect();
@@ -73,13 +68,12 @@
reponse_confirmation($id_article, $val_confirm);
}
+ include_local ('inc-public-global.php3');
// demande de debug ?
if ($var_debug AND ($code_activation_debug == $var_debug
- OR ($code_activation_debug == ''
- AND $auteur_session['statut'] == '0minirezo')
+ OR $auteur_session['statut'] == '0minirezo'
)) {
- include_local('inc-admin.php3');
$recalcul = 'oui';
$var_debug = true;
spip_log('debug !');
@@ -88,17 +82,15 @@
// Faut-il preparer les boutons d'admin ?
$affiche_boutons_admin = (!$flag_preserver
- AND ($HTTP_COOKIE_VARS['spip_admin']
- OR $HTTP_COOKIE_VARS['spip_debug']));
-
- // inc-admin contient aussi le traitement d'erreur
- include_local('inc-admin.php3');
- include_local ("inc-public-global.php3");
+ AND ($HTTP_COOKIE_VARS['spip_admin']
+ OR $HTTP_COOKIE_VARS['spip_debug']));
+ if ($affiche_boutons_admin)
+ include_local('inc-admin.php3');
$tableau_des_erreurs = array();
$page = afficher_page_globale ($fond, $delais, $use_cache);
- // Interdire au client de cacher un login, un admin ou un recalcul
+ // Interdire au client de cacher un login, un admin ou un recalcul
if ($flag_dynamique OR ($recalcul == 'oui')
OR $HTTP_COOKIE_VARS['spip_admin']) {
@header("Cache-Control: no-cache,must-revalidate");
@@ -108,12 +100,52 @@
@Header ("Last-Modified: ".http_gmoddate($lastmodified)." GMT");
@header("Content-Type: text/html; charset=".lire_meta('charset'));
- #entre gzip et debug, faut revoir
- #@header('Content-Length: '.strlen($contenu));
-# @header('Connection: close');
- $contenu = $page['texte'];
- spip_log($page['process_ins'] . strlen($contenu));
+ // Faudra-t-il post-traiter la page ?
+ define('spip_active_ob', $flag_ob AND
+ ($var_debug OR $var_recherche OR $affiche_boutons_admin));
+
+ // Cas d'une page contenant uniquement du HTML :
+ if ($page['process_ins'] == 'html') {
+ if (!spip_active_ob) {
+ echo $page['texte'];
+ $contenu = '';
+ } else
+ $contenu = $page['texte'];
+ }
+
+ // Cas d'une page contenant du PHP :
+ else {
+
+ // Evaluer la page
+ if (!spip_active_ob) {
+ $res = eval('?' . '>' . $page['texte']);
+ $contenu = '';
+ } else {
+ ob_start();
+ $res = eval('?' . '>' . $page['texte']);
+ $contenu = ob_get_contents();
+ ob_end_clean();
+ }
+
+ // en cas d'erreur afficher un message + demander boutons debug
+ if ($affiche_boutons_admin
+ AND $auteur_session['statut'] == '0minirezo') {
+ if (function_exists('restore_error_handler'))
+ restore_error_handler();
+ if ($res === false)
+ spip_error_handler(1,'erreur de compilation','','','');
+ }
+
+ }
+
+ // Passer la main au debuggueur le cas echeant
+ if ($var_debug) {
+ debug_dumpfile('');
+ exit;
+ } else if (count($tableau_des_erreurs) > 0)
+ affiche_erreurs_execution_page ();
+
// Traiter var_recherche pour surligner les mots
if ($var_recherche) {
include_ecrire("inc_surligne.php3");
@@ -123,58 +155,10 @@
// Ajouter les boutons admins (les normaux)
if ($affiche_boutons_admin)
$contenu = calcul_admin_page($use_cache, $contenu);
- spip_log($page['process_ins'] . $contenu);
-
- if ($page['process_ins'] == 'html')
- {if (!$var_debug) echo $contenu;}
- else {
- // Ici on va ruser pour intercepter les erreurs (meme les FATAL)
- // dans le eval : on envoie le bouton debug, et on le supprime
- // de l'autre cote ; de cette facon, si on traverse sans encombre,
- // on est propre, et sinon on a le bouton
-
- if ($affiche_boutons_admin) {
-
- // recuperer les parse errors etc., type "FATAL" (cf. infra)
- if ($auteur_session['statut'] == '0minirezo') {
- $page_principale = $page;
- if (function_exists('set_error_handler'))
- set_error_handler('spip_error_handler');
- }
-
- }
+ echo $contenu;
- //
- // Evaluer la page php
- //
- if (!$var_debug)
- $res = eval('?' . '>' . $contenu);
- else {
- ob_start();
- $res = eval('?' . '>' . $contenu);
- $contenu = ob_get_contents();
- ob_end_clean();
- }
-
- // en cas d'erreur afficher un message + demander les boutons de debug
- if ($affiche_boutons_admin
- AND $auteur_session['statut'] == '0minirezo') {
- if (function_exists('restore_error_handler'))
- restore_error_handler();
- if ($res === false)
- spip_error_handler(1,'erreur de compilation','','','');
- }
-
- }
- // Passer la main au debuggueur le cas echeant
- if ($var_debug)
- debug_dumpfile('');
- else {
- if (count($tableau_des_erreurs) > 0)
- affiche_erreurs_execution_page ();
- }
- terminer_public_global($use_cache, $page['cache']);
+ terminer_public_global($use_cache, $page['cache']);
}
?>
Index: inc-balises.php3
RCS file: /home/spip-cvs/spip/inc-balises.php3,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- inc-balises.php3 21 Sep 2004 15:35:37 -0000 1.18
+++ inc-balises.php3 21 Sep 2004 21:11:16 -0000 1.19
@@ -255,7 +255,6 @@
function balise_COMPTEUR_BOUCLE_dist($p) {
if ($p->id_mere === '') {
- include_local("inc-admin.php3");
erreur_squelette(_L("Champ #COMPTEUR_BOUCLE hors boucle"), $p->id_boucle);
$p->code = "''";
} else {
@@ -267,7 +266,6 @@
function balise_TOTAL_BOUCLE_dist($p) {
if ($p->id_mere === '') {
- include_local("inc-admin.php3");
erreur_squelette(_L("Champ #TOTAL_BOUCLE hors boucle"), $p->id_boucle);
$p->code = "''";
} else {
@@ -297,7 +295,6 @@
$b = $p->boucles[$b]->id_parent;
}
if (!$p->code) {
- include_local("inc-admin.php3");
erreur_squelette(_L("Champ #POINTS hors d'une recherche"), $p->id_boucle);
}
$p->statut = 'php';
@@ -329,7 +326,6 @@
$type_boucle = $p->type_requete;
$primary_key = $table_primary[$type_boucle];
if (!$primary_key) {
- include_local("inc-admin.php3");
erreur_squelette(_L("Champ #EXPOSER hors boucle"), $p->id_boucle);
}
$on = 'on';
@@ -774,7 +770,6 @@
function balise_distante_interdite($p) {
$nom = $p->id_boucle;
if ($p->boucles[$nom]->sql_serveur) {
- include_local("inc-admin.php3");
erreur_squelette($p->nom_champ ._L(" distant interdit"), $nom);
}
}
Index: inc-admin.php3
RCS file: /home/spip-cvs/spip/inc-admin.php3,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -d -r1.36 -r1.37
--- inc-admin.php3 21 Sep 2004 19:40:08 -0000 1.36
+++ inc-admin.php3 21 Sep 2004 21:11:16 -0000 1.37
@@ -137,18 +137,14 @@
global $tableau_des_erreurs, $page;
// On ne veut intercepter que les erreurs des $page['texte'],
- // si le code avait ete développé proprement dès le départ
- // ce serait moins approximatif que ci-dessous
-
- if (($errno & (E_ERROR | E_WARNING | E_PARSE)) &&
- (!strpos($filename, 'ecrire/')))
- {
+ // et pas celles de SPIP :^)
+ if (($errno & (E_ERROR | E_WARNING | E_PARSE))
+ && (!strpos($filename, 'ecrire/'))) {
-# si $filename = inc-public + eval, dénoncer le squelette,
-# sinon c'est un appel du handler explicitement par le compilateur
-# qui donne les bons arguments tout de suite, mais avec linenum = ''
- $tableau_des_erreurs[]
- = array($errno,
+ # si $filename = inc-public + eval, denoncer le squelette,
+ # sinon c'est un appel du handler explicitement par le compilateur
+ # qui donne les bons arguments tout de suite, mais avec linenum = ''
+ $tableau_des_erreurs[] = array($errno,
$errmsg,
($linenum ? "ligne $linenum" : ''),
((!strpos($filename, 'inc-public.php3(')) ?
@@ -183,19 +179,24 @@
global $tableau_des_erreurs, $affiche_boutons_admin;
if ($affiche_boutons_admin) {
- echo "<div style='position: absolute; top: 10px;
- z-index: 1000; background-color: pink;'>";
- echo "<h2>",
+ include_ecrire('inc_presentation.php3');
+
+ echo "<div id='spip-debug' style='position: absolute; top: 20;",
+ " z-index: 1000;'><ul><li>",
_L("Erreur(s) dans le squelette"),
- "</h2>",
- "<code><ul>";
+
+## aide locale courte a ecrire, avec lien vers une grosse page de documentation
+# aide('erreur_compilation'),
+
+ "<br /></li>",
+ "<ul>";
foreach ($tableau_des_erreurs as $err) {
echo "<li>$err[2] $err[3] $err[1]",
- "<small>$err[4]</small><br><br>",
+ "<small>$err[4]</small><br />",
"</li>\n";
}
- echo "</ul></code>";
- echo "</div>";
+ echo "</ul>";
+ echo "</ul></div>";
$GLOBALS['bouton_admin_debug'] = true;
}
}
Index: inc-html-squel.php3
RCS file: /home/spip-cvs/spip/inc-html-squel.php3,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- inc-html-squel.php3 17 Sep 2004 23:07:43 -0000 1.27
+++ inc-html-squel.php3 21 Sep 2004 21:11:16 -0000 1.28
@@ -47,7 +47,6 @@
$champ->params = '';
else {
if (!(ereg('^\\{(.*)\\}$', $p, $params))) {
- include_local("inc-admin.php3");
erreur_squelette(_L("Paramètres d'inclusion incorrects"), $s);
}
else
@@ -210,7 +209,6 @@
}
if ($params) {
- include_local("inc-admin.php3");
erreur_squelette(($result->id_boucle .
_L(": Paramètre $i (ou suivants) incorrect")),
$params);
@@ -241,7 +239,6 @@
$debut = substr($texte, 0, $p);
$milieu = substr($texte, $p);
if (!ereg(BALISE_DE_BOUCLE, $milieu, $match)) {
- include_local("inc-admin.php3");
erreur_squelette((_T('erreur_boucle_syntaxe')), $milieu);
}
$id_boucle = $match[1];
@@ -281,7 +278,6 @@
}
$milieu = substr($milieu, strlen($match[0]));
if (strpos($milieu, $s)) {
- include_local("inc-admin.php3");
erreur_squelette(_T('erreur_boucle_syntaxe'),
$id_boucle .
_L(' : balise B en aval'));
@@ -293,7 +289,6 @@
$s = "</BOUCLE$id_boucle>";
$p = strpos($milieu, $s);
if ($p === false) {
- include_local("inc-admin.php3");
erreur_squelette(_T('erreur_boucle_syntaxe'),
_T('erreur_boucle_fermant',
array('id'=>$id_boucle)));
@@ -329,7 +324,6 @@
$all_res = array_merge($all_res, parser_champs_etendus($debut));
$all_res[] = $result;
if ($boucles[$id_boucle]) {
- include_local("inc-admin.php3");
erreur_squelette(_T('erreur_boucle_syntaxe'),
_T('erreur_boucle_double',
array('id'=>$id_boucle)));