2
0
forked from Wavyzz/dolibarr

Amlioration fonction error en attendant gestion autonome des erreurs dans toutes les classes.

This commit is contained in:
Laurent Destailleur
2004-09-22 19:20:19 +00:00
parent 3486c00baf
commit 6df95f265e

View File

@@ -561,37 +561,65 @@ function accessforbidden()
}
/*!
\brief Affiche message erreur system avec toutes les informations pour faciliter le diagnostique et la remont<6E>e des bugs
On doit appeler cette fonction quand une erreur technique bloquante est rencontr<74>e
\brief Affiche message erreur system avec toutes les informations pour faciliter le diagnostique et la remont<6E>e des bugs.
On doit appeler cette fonction quand une erreur technique bloquante est rencontr<74>e.
Toutefois, il faut essayer de ne l'appeler qu'au sein de page php, les classes devant
renvoyer leur erreur par l'interm<72>diaire de leur propri<72>t<EFBFBD> "error".
*/
function dolibarr_print_error($db='',$msg='')
{
global $langs;
print "Dolibarr a d<>tect<63> une erreur technique.<br>\n";
print "Voici les informations qui pourront aider au diagnostique:<br><br>\n";
print "<b>Serveur:</b> ".$_SERVER["SERVER_SOFTWARE"]."<br>\n";;
print "<b>URL sollicit<69>e:</b> ".$_SERVER["REQUEST_URI"]."<br>\n";;
print "<b>QUERY_STRING:</b> ".$_SERVER["QUERY_STRING"]."<br>\n";;
print "<b>Referer:</b> ".$_SERVER["HTTP_REFERER"]."<br>\n";;
$syslog = '';
$syslog="url=".$_SERVER["REQUEST_URI"];
$syslog.=", query_string=".$_SERVER["QUERY_STRING"];
if ($_SERVER['DOCUMENT_ROOT']) {
// Mode web
print "Dolibarr a d<>tect<63> une erreur technique.<br>\n";
print "Voici les informations qui pourront aider au diagnostique:<br><br>\n";
print "<b>Serveur:</b> ".$_SERVER["SERVER_SOFTWARE"]."<br>\n";;
print "<b>URL sollicit<69>e:</b> ".$_SERVER["REQUEST_URI"]."<br>\n";;
print "<b>QUERY_STRING:</b> ".$_SERVER["QUERY_STRING"]."<br>\n";;
print "<b>Referer:</b> ".$_SERVER["HTTP_REFERER"]."<br>\n";;
$syslog.="url=".$_SERVER["REQUEST_URI"];
$syslog.=", query_string=".$_SERVER["QUERY_STRING"];
}
else {
// Mode CLI
print "Erreur interne d<>tect<63>e...\n";
$syslog.="pid=".getmypid();
}
if ($db) {
print "<br>\n";
print "<b>Requete dernier acces en base:</b> ".$db->lastquery()."<br>\n";
print "<b>Code retour dernier acces en base:</b> ".$db->errno()."<br>\n";
print "<b>Information sur le dernier acc<EFBFBD>s en base:</b> ".$db->error()."<br>\n";
$syslog=", sql=".$db->lastquery();
$syslog=", db_error=".$db->error();
if ($_SERVER['DOCUMENT_ROOT']) {
// Mode web
print "<br>\n";
print "<b>Requete dernier acces en base:</b> ".$db->lastquery()."<br>\n";
print "<b>Code retour dernier acces en base:</b> ".$db->errno()."<br>\n";
print "<b>Information sur le dernier acc<63>s en base:</b> ".$db->error()."<br>\n";
}
else {
// Mode CLI
print "Requete dernier acces en base:\n".$db->lastquery()."\n";
print "Code retour dernier acces en base:\n".$db->errno()."\n";
print "Information sur le dernier acc<63>s en base:\n".$db->error()."\n";
}
$syslog.=", sql=".$db->lastquery();
$syslog.=", db_error=".$db->error();
}
if ($msg) {
print "<b>Message:</b> ".$msg."<br>\n" ;
$syslog=", msg=".$msg;
if ($_SERVER['DOCUMENT_ROOT']) {
// Mode web
print "<b>Message:</b> ".$msg."<br>\n" ;
} else {
// Mode CLI
print "Message:\n".$msg."\n" ;
}
$syslog.=", msg=".$msg;
}
dolibarr_syslog("Error $syslog");
/* Comment<6E>e voir mail dans la Mailing liste.