From 22a590b8c3e8c2b3f779bdee5b76795eaa6ca5b2 Mon Sep 17 00:00:00 2001 From: Antoine Pitrou <pitrou@free.fr> Date: Sun, 7 Sep 2003 21:57:00 +0000 Subject: [PATCH] detection des erreurs systeme --- ecrire/aide_index.php3 | 3 ++- inc-debug-squel.php3 | 40 +++++++++++++++++++++++++++++----------- 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/ecrire/aide_index.php3 b/ecrire/aide_index.php3 index 51347d0208..01a0bd8432 100644 --- a/ecrire/aide_index.php3 +++ b/ecrire/aide_index.php3 @@ -1,9 +1,10 @@ <?php include ("inc_version.php3"); + // Recuperer les infos de langue (preferences auteur), si possible if (file_exists("inc_connect.php3")) { - include_ecrire ("inc_auth.php3"); + include_ecrire ("inc_auth.php3"); } include_ecrire("inc_lang.php3"); diff --git a/inc-debug-squel.php3 b/inc-debug-squel.php3 index 6587b1ba1e..8fb5ba4d50 100755 --- a/inc-debug-squel.php3 +++ b/inc-debug-squel.php3 @@ -7,18 +7,36 @@ define("_INC_DEBUG_SKEL", "1"); function erreur_requete_boucle($query, $id_boucle) { - $retour .= "<tt><br><br><blink><BOUCLE".$id_boucle."></blink><br>\n". - "<b>Erreur dans la requête envoyée à MySQL :</b><br>\n". - htmlspecialchars($query)."<br>\n<font color=\'red\'><b>> ". - spip_sql_error()."</b></font><br>\n". - "<blink></BOUCLE".$id_boucle."></blink></tt>\n"; - $retour .= "<" ."?php + $erreur = spip_sql_error(); + if (ereg('errno:[[:space:]]+([0-9]+)', $erreur, $regs)) + $errno = $regs[1]; + $erreur = htmlspecialchars($erreur); + + // Erreur systeme + if ($errno > 0) { + $retour .= "<tt><br><br><blink>Erreur système</blink><br>\n". + "<b>Le disque dur est peut-être plein, ou la base de données endommagée. <br>"; + $retour .= "<" ."?php + if (\$GLOBALS['spip_admin']) { + echo \"<font color='red'>Essayez de <a href='ecrire/admin_repair.php3'>réparer la base</a>, \" + .\"ou contactez votre hébergeur.</font><br></b>". + "<blink>Erreur système</blink></tt>\n\"; + } ?".">"; + } + // Requete erronee + else { + $retour .= "<tt><br><br><blink><BOUCLE".$id_boucle."></blink><br>\n". + "<b>Erreur dans la requête envoyée à MySQL :</b><br>\n". + htmlspecialchars($query)."<br><font color='red'><b>$erreur</b></font><br>". + "<blink></BOUCLE".$id_boucle."></blink></tt>\n"; + $retour .= "<" ."?php if (\$GLOBALS['spip_admin']) { - include_ecrire ('inc_lang.php3'); - utiliser_langue_visiteur(); - include_ecrire('inc_presentation.php3'); - echo aide('erreur_mysql'); - } ?".">"; + include_ecrire ('inc_lang.php3'); + utiliser_langue_visiteur(); + include_ecrire('inc_presentation.php3'); + echo aide('erreur_mysql'); + } ?".">"; + } $retour .= "<br><br>\n"; // debugger les squelettes return $retour; } -- GitLab