From 8c9b993dce235cb6355473b555ea6fb71bba258d Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Wed, 29 Jul 2009 05:00:08 +0000 Subject: [PATCH] =?UTF-8?q?R=C3=A9=C3=A9criture=20des=20appels=20au=20d?= =?UTF-8?q?=C3=A9busqueur=20afin=20qu'il=20puisse=20=C3=AAtre=20surcharg?= =?UTF-8?q?=C3=A9.=20La=20fonction=20{{{erreur=5Fsquelette}}}=20se=20r?= =?UTF-8?q?=C3=A9duit=20=C3=A0=20charger=20la=20version=20disponible=20et?= =?UTF-8?q?=20=C3=A0=20l'appliquer,=20et=20migre=20donc=20dans=20{{{utils.?= =?UTF-8?q?php}}}.=20L=C3=A0=20fonction=20{{{afficher=5Ferreurs=5Fpage}}}?= =?UTF-8?q?=20reste=20appel=C3=A9e=20directement=20en=20certains=20endroit?= =?UTF-8?q?s,=20notamment=20pour=20la=20double=20occurrence=20de=20INSERT?= =?UTF-8?q?=5FHEAD=20ce=20qui=20ne=20me=20semble=20pas=20motiv=C3=A9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/base/abstract_sql.php | 1 - ecrire/base/connect_sql.php | 1 - ecrire/exec/valider_xml.php | 2 -- ecrire/inc/actions.php | 2 +- ecrire/inc/filtres.php | 2 +- ecrire/inc/utils.php | 4 +++ ecrire/index.php | 2 +- ecrire/public.php | 6 ++--- ecrire/public/compiler.php | 22 ++++++++-------- ecrire/public/{debug.php => debusquer.php} | 30 ++++++---------------- ecrire/public/styliser.php | 2 -- ecrire/public/tracer.php | 6 ++--- ecrire/xml/valider.php | 2 ++ 13 files changed, 32 insertions(+), 50 deletions(-) rename ecrire/public/{debug.php => debusquer.php} (96%) diff --git a/ecrire/base/abstract_sql.php b/ecrire/base/abstract_sql.php index f12c0fe4b8..6f245906dd 100644 --- a/ecrire/base/abstract_sql.php +++ b/ecrire/base/abstract_sql.php @@ -95,7 +95,6 @@ function sql_select ( if (!is_array($res)) return $res; list($query, $num, $msg) = $res; - include_spip('public/debug'); erreur_squelette($msg, $num, $query); return false; } diff --git a/ecrire/base/connect_sql.php b/ecrire/base/connect_sql.php index a9636abe77..ba20018504 100644 --- a/ecrire/base/connect_sql.php +++ b/ecrire/base/connect_sql.php @@ -32,7 +32,6 @@ function spip_connect($serveur='', $version='') { if (isset($connexions[$index][$version])) return $connexions[$index]; include_spip('base/abstract_sql'); - if (isset($_GET['var_profile'])) include_spip('public/debug'); $install = (_request('exec') == 'install'); // Premiere connexion ? diff --git a/ecrire/exec/valider_xml.php b/ecrire/exec/valider_xml.php index 3a8079dc0b..33acc1a580 100644 --- a/ecrire/exec/valider_xml.php +++ b/ecrire/exec/valider_xml.php @@ -12,7 +12,6 @@ if (!defined("_ECRIRE_INC_VERSION")) return; include_spip('inc/presentation'); -include_spip('public/debug'); // http://doc.spip.org/@exec_valider_xml_dist function exec_valider_xml_dist() @@ -33,7 +32,6 @@ function valider_xml_ok($url, $req_ext) $onfocus = "this.value='';"; $texte = $bandeau = $err = ''; } else { - include_spip('public/debug'); include_spip('inc/distant'); if (is_dir($url)) { $dir = (substr($url,-1,1) === '/') ? $url : "$url/"; diff --git a/ecrire/inc/actions.php b/ecrire/inc/actions.php index 0b7d19a6c6..963b9be1e7 100644 --- a/ecrire/inc/actions.php +++ b/ecrire/inc/actions.php @@ -215,7 +215,7 @@ function ajax_retour($corps,$xml = true) $debut = $xml?'<' . "?xml version='1.0' encoding='" . $c . "'?" . ">\n":''; } if (count($GLOBALS['tableau_des_erreurs']) AND isset($_COOKIE['spip_admin'])) { - find_in_path('debug.php','public/',true); + include_spip('public/debusquer'); $corps = affiche_erreurs_page($GLOBALS['tableau_des_erreurs']) . $corps; } diff --git a/ecrire/inc/filtres.php b/ecrire/inc/filtres.php index 57830a11fe..d085b93396 100644 --- a/ecrire/inc/filtres.php +++ b/ecrire/inc/filtres.php @@ -2090,7 +2090,7 @@ function env_to_attributs ($texte, $ignore_params=array()) { function f_jQuery ($texte) { static $doublon=0; if ($doublon++) { - include_spip('public/debug'); + include_spip('public/debusquer'); $texte = affiche_erreurs_page(array( array("#INSERT_HEAD",_T('double_occurrence'))) ) . $texte; diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index b1bbfefa84..a22cb1e58a 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -1644,6 +1644,10 @@ function exec_info_dist() { echo "pas admin"; } +function erreur_squelette($message='', $lieu='', $quoi='') { + $debusquer = charger_fonction('debusquer', 'public'); + return $debusquer($message, $lieu, $quoi); +} /** * La fonction de base de SPIP : un squelette + un contexte => une page. diff --git a/ecrire/index.php b/ecrire/index.php index 0392e002a2..186bda9a2b 100644 --- a/ecrire/index.php +++ b/ecrire/index.php @@ -154,11 +154,11 @@ $var_f = charger_fonction($exec); $var_f(); if ($GLOBALS['var_mode'] == 'debug') { - include_spip('public/debug'); $var_mode_objet = _request('var_mode_objet'); erreur_squelette("", "", $var_mode_objet); } if (isset($tableau_des_erreurs) AND count($tableau_des_erreurs) AND $affiche_boutons_admin) + include_spip('public/debusquer'); echo affiche_erreurs_page($tableau_des_erreurs); ?> diff --git a/ecrire/public.php b/ecrire/public.php index 0ae5a135af..5297076eba 100644 --- a/ecrire/public.php +++ b/ecrire/public.php @@ -181,7 +181,6 @@ if (isset($GLOBALS['_INC_PUBLIC'])) { // la memoriser dans le tableau des erreurs // On ne revient pas ici si le nb d'erreurs > 4 if ($res === false AND $affiche_boutons_admin) { - include_spip('public/debug'); erreur_squelette(_T('zbug_erreur_execution_page')); } } @@ -192,7 +191,6 @@ if (isset($GLOBALS['_INC_PUBLIC'])) { $var_mode_affiche = _request('var_mode_affiche'); $var_mode_objet = _request('var_mode_objet'); $GLOBALS['debug_objets'][$var_mode_affiche][$var_mode_objet . 'tout'] = ($var_mode_affiche== 'validation' ? $page['texte'] :""); - include_spip('public/debug'); if ($GLOBALS['debug_objets']['sourcefile']) { erreur_squelette('', '', $var_mode_objet); } @@ -207,12 +205,12 @@ if (isset($GLOBALS['_INC_PUBLIC'])) { // page_base_href($page['texte']); - // (c'est ici qu'on fait var_recherche, tidy, boutons d'admin, + // (c'est ici qu'on fait var_recherche, validation, boutons d'admin, // cf. public/assembler.php) echo pipeline('affichage_final', $page['texte']); if (count($tableau_des_temps) AND $affiche_boutons_admin) { - include_spip('public/debug'); + include_spip('public/tracer'); echo chrono_requete($tableau_des_temps); } diff --git a/ecrire/public/compiler.php b/ecrire/public/compiler.php index bf24150308..957c37cff6 100644 --- a/ecrire/public/compiler.php +++ b/ecrire/public/compiler.php @@ -140,8 +140,7 @@ function calculer_inclure($p, $descr, &$boucles, $id_boucle) { else $path = "find_in_path(\"$fichier\")"; $code = "if (is_readable(\$path = $path)) include \$path; - else { include_spip(\"public/debug\"); - erreur_squelette(_T(\"zbug_info_erreur_squelette\"), + else { erreur_squelette(_T(\"zbug_info_erreur_squelette\"), _T(\"fichier_introuvable\", array(\"fichier\" => \"$fichier\")));}"; } else { $_contexte['fond'] = "\'fond\' => ' . argumenter_squelette(" . $code . ") . '"; @@ -592,12 +591,10 @@ function calculer_liste($tableau, $descr, &$boucles, $id_boucle='') { } return '(' . substr($res,2+$descr['niv']) . ')'; } - } else return "@debug_sequence('$id_boucle', '" . - ($descr['nom']) . - "', " . - $descr['niv'] . - ", array(" . - join(" ,\n$tab", $codes) . "))"; + } else { + $nom = $descr['nom'] . $id_boucle . ($descr['niv']?$descr['niv']:''); + return "join('', array_map('array_shift', \$GLOBALS['debug_objets']['sequence']['$nom'] = array(" . join(" ,\n$tab", $codes) . ")))"; + } } define('_REGEXP_COND_VIDE_NONVIDE',"/^[(](.*)[?]\s*''\s*:\s*('[^']+')\s*[)]$/"); @@ -736,7 +733,7 @@ function compile_cas($tableau, $descr, &$boucles, $id_boucle) { if ($code != "''") { $code = compile_retour($code, $avant, $apres, $altern, $tab, $descr['niv']); $codes[]= (($mode == 'validation') ? - "array(" . $p->ligne . ", '$commentaire', $code)" + "array($code, '$commentaire', " . $p->ligne . ")" : (($mode == 'code') ? "\n// $commentaire\n$code" : $code)); @@ -975,7 +972,9 @@ function compiler_squelette($squelette, $boucles, $nom, $descr, $sourcefile, $co } if ($debug) - $code = "\n\n/*\n" . public_decompiler($squelette) . "\n*/\n"; + $code = "\n\n/*\n" . + str_replace('*/', '* /', public_decompiler($squelette)) + . "\n*/\n"; else $code = ""; foreach($boucles as $id => $boucle) { @@ -983,7 +982,8 @@ function compiler_squelette($squelette, $boucles, $nom, $descr, $sourcefile, $co $boucle->type_requete . " " . (!$debug ? '' : - decompiler_criteres($boucle->param, $boucle->criteres)) . + str_replace('*/', '* /', + decompiler_criteres($boucle->param, $boucle->criteres))) . " */\n\n" . $boucle->return; } diff --git a/ecrire/public/debug.php b/ecrire/public/debusquer.php similarity index 96% rename from ecrire/public/debug.php rename to ecrire/public/debusquer.php index e4a10966fe..9a4d6ea647 100644 --- a/ecrire/public/debug.php +++ b/ecrire/public/debusquer.php @@ -133,8 +133,8 @@ define('_DEBUG_MAX_SQUELETTE_ERREURS', 4); // pour les appels involontaires ($message non vide => erreur) // et volontaires. // -// http://doc.spip.org/@erreur_squelette -function erreur_squelette($message='', $lieu='', $quoi='') { + +function public_debusquer_dist($message='', $lieu='', $quoi='') { global $tableau_des_erreurs; if ($message) { @@ -155,20 +155,6 @@ function erreur_squelette($message='', $lieu='', $quoi='') { } } -// appelee a chaque sortie de sequence (compilo.php) -// http://doc.spip.org/@debug_sequence -function debug_sequence($id, $nom, $niv, $sequence) { - global $debug_objets; - - if (!$niv) - { - $debug_objets['sequence'][$nom.$id] = $sequence; - } - $res = ""; - foreach($sequence as $v) if (is_array($v)) $res .= $v[2]; - return $res; -} - // http://doc.spip.org/@trouve_boucle_debug function trouve_boucle_debug($n, $nom, $debut=0, $boucle = "") { @@ -178,15 +164,15 @@ function trouve_boucle_debug($n, $nom, $debut=0, $boucle = "") if (is_array($debug_objets['sequence'][$id])) { foreach($debug_objets['sequence'][$id] as $v) { - if (!preg_match('/^(.*)(<\?.*\?>)(.*)$/s', $v[2],$r)) - $y = substr_count($v[2], "\n"); + if (!preg_match('/^(.*)(<\?.*\?>)(.*)$/s', $v[0],$r)) + $y = substr_count($v[0], "\n"); else { if ($v[1][0] == '#') // balise dynamique - $incl = $debug_objets['resultat'][$v[0]]; + $incl = $debug_objets['resultat'][$v[2]]; else // inclusion - $incl = $debug_objets['squelette'][trouve_squelette_inclus($v[2])]; + $incl = $debug_objets['squelette'][trouve_squelette_inclus($v[0])]; $y = substr_count($incl, "\n") + substr_count($r[1], "\n") + substr_count($r[3], "\n"); @@ -198,7 +184,7 @@ function trouve_boucle_debug($n, $nom, $debut=0, $boucle = "") if ($incl = trouve_squelette_inclus($v[1])) return trouve_boucle_debug($n, $incl, $debut); } - return array($nom, $boucle, $v[0] -1 + $n - $debut ); + return array($nom, $boucle, $v[2] -1 + $n - $debut ); } $debut += $y; } @@ -357,7 +343,7 @@ function debug_dumpfile ($texte, $fonc) { _T($titre), ' ', $err, - "</legend>"; + "</legend>"; echo $texte; echo "</fieldset></div>"; echo "\n</div>"; diff --git a/ecrire/public/styliser.php b/ecrire/public/styliser.php index e731a9d842..1dbef1105c 100644 --- a/ecrire/public/styliser.php +++ b/ecrire/public/styliser.php @@ -49,8 +49,6 @@ function public_styliser_dist($fond, $contexte, $lang='', $connect='', $ext='htm // pas de squelette : erreur ! if (!$squelette) { - // Indiquer une erreur squelette - include_spip('public/debug'); erreur_squelette(_T('info_erreur_squelette2', array('fichier'=>"'$fond.$ext'")), $GLOBALS['dossier_squelettes']); diff --git a/ecrire/public/tracer.php b/ecrire/public/tracer.php index f7d547467f..3b27d08ef5 100644 --- a/ecrire/public/tracer.php +++ b/ecrire/public/tracer.php @@ -33,12 +33,9 @@ function trace_query_end($query, $start, $result, $err, $serveur='') trace_query_chrono($start, microtime(), $query, $result, $serveur); if (!($err = sql_errno())) return $result; $err .= ' '.sql_error(); - if (autoriser('debug')) { - include_spip('public/debug'); - $tableau_des_erreurs[] = array( + $tableau_des_erreurs[] = array( _T('info_erreur_requete'). " " . htmlentities($query), "« " . htmlentities($err)," »"); - } return $result; } @@ -139,6 +136,7 @@ function chrono_requete($temps) ("<tr><td>" . count($temps) . " </td><td> " . _T('info_total') . '</td><td>' . $total . "</td></td><td></td></tr>")) . "</table>"; + include_spip('public/debusquer'); return (_DIR_RESTREINT ? '' : affiche_erreurs_page($GLOBALS['tableau_des_erreurs'])) . affiche_erreurs_page($temps, $titre); } diff --git a/ecrire/xml/valider.php b/ecrire/xml/valider.php index f72fff38e7..3b8851b025 100644 --- a/ecrire/xml/valider.php +++ b/ecrire/xml/valider.php @@ -310,6 +310,8 @@ function phraserTout($phraseur, $data) // http://doc.spip.org/@emboite_texte function emboite_texte($res, $fonc='',$self='') { + include_spip('public/debusquer'); + list($texte, $errs) = $res; if (!$texte) return array(ancre_texte('', array('','')), false); -- GitLab