diff --git a/inc-debug-squel.php3 b/inc-debug-squel.php3 index 8fb5ba4d509c74374469716d6ff6381f8c6a7bf9..ced2e7476ffa1fa0b01bf3f8e1fb08b8b5826cc5 100755 --- a/inc-debug-squel.php3 +++ b/inc-debug-squel.php3 @@ -8,20 +8,26 @@ define("_INC_DEBUG_SKEL", "1"); function erreur_requete_boucle($query, $id_boucle) { $erreur = spip_sql_error(); - if (ereg('errno:[[:space:]]+([0-9]+)', $erreur, $regs)) - $errno = $regs[1]; + $errno = spip_sql_errno(); + if (eregi('err(no|code):?[[:space:]]*([0-9]+)', $erreur, $regs)) + $errsys = $regs[2]; + else if (($errno == 1030 OR $errno <= 1026) AND ereg('[^[:alnum:]]([0-9]+)[^[:alnum:]]', $erreur, $regs)) + $errsys = $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>"; + if ($errsys > 0 AND $errsys < 200) { + $retour .= "<tt><br><br><blink>Erreur système (errno $errsys)</blink><br>\n"; $retour .= "<" ."?php if (\$GLOBALS['spip_admin']) { - echo \"<font color='red'>Essayez de <a href='ecrire/admin_repair.php3'>réparer la base</a>, \" + echo \"<b>Le disque dur est peut-être plein, ou la base de données endommagée. <br>\" + .\"<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\"; - } ?".">"; + "<blink>Erreur système (errno $errsys)</blink>\"; + } + echo \"</tt>\n\"; + ?".">"; } // Requete erronee else {