diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 8ba340568f2..73f6e621a37 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -14,6 +14,15 @@ ErrorGoToModuleSetup=Go to Module setup to fix this ErrorFailedToSendMail=Failed to send mail (sender=%s, receiver=%s) ErrorAttachedFilesDisabled=Attaching files feature is disabled on this serveur ErrorFileNotUploaded=File was not uploaded +ErrorInternalErrorDetected=Internal error detected +ErrorNoRequestRan=No request ran +RequestedUrl=Requested Url +DatabaseTypeManager=Database type manager +RequestLastAccess=Request for last database access +ReturnCodeLastAccess=Return code for last database access +InformationLastAccess=Information for last database access +DolibarrHasDetectedError=Dolibarr has detected a technical error +InformationToHelpDiagnose=This is informations that can help to diagnose yes=yes Yes=Yes no=no diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index dec5be23c5c..47ea918f6c9 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -14,6 +14,15 @@ ErrorGoToModuleSetup=Allez dans la Configuration du module pour corriger ErrorFailedToSendMail=Échec de l'envoi du mail (emetteur=%s, destinataire=%s) ErrorAttachedFilesDisabled=La gestion des fichiers associés est désactivée sur ce serveur ErrorFileNotUploaded=Le fichier n'a pas été transféré +ErrorInternalErrorDetected=Erreur interne détectée +ErrorNoRequestRan=Aucune requête exécutée +RequestedUrl=Url sollicitée +DatabaseTypeManager=Type gestionnaire de base de donnée +RequestLastAccess=Requete dernier acces en base +ReturnCodeLastAccess=Code retour dernier acces en base +InformationLastAccess=Information sur le dernier accès en base +DolibarrHasDetectedError=Dolibarr a détecté une erreur technique +InformationToHelpDiagnose=Voici les informations qui pourront aider au diagnostique yes=oui Yes=Oui no=non diff --git a/htdocs/lib/functions.inc.php b/htdocs/lib/functions.inc.php index c27bb0f9eaf..c2e99b8200f 100644 --- a/htdocs/lib/functions.inc.php +++ b/htdocs/lib/functions.inc.php @@ -682,63 +682,69 @@ function accessforbidden() */ function dolibarr_print_error($db='',$msg='') { - global $langs; - $syslog = ''; - - if ($_SERVER['DOCUMENT_ROOT']) // Mode web - { - print "Dolibarr a détecté une erreur technique.
\n"; - print "Voici les informations qui pourront aider au diagnostique:

\n"; - + global $langs; + $syslog = ''; + + // Si erreur intervenu avant chargement langue + if (! $langs) { + require_once(DOL_DOCUMENT_ROOT ."/translate.class.php"); + $langs = new Translate(DOL_DOCUMENT_ROOT ."/langs", "en_US"); + $langs->load("main"); + } + + if ($_SERVER['DOCUMENT_ROOT']) // Mode web + { + print $langs->trans("DolibarrHasDetectedError").".
\n"; + print $langs->trans("InformationToHelpDiagnose").":

\n"; + print "".$langs->trans("Server").": ".$_SERVER["SERVER_SOFTWARE"]."
\n";; - print "URL sollicitée: ".$_SERVER["REQUEST_URI"]."
\n";; + print "".$langs->trans("RequestedUrl").": ".$_SERVER["REQUEST_URI"]."
\n";; print "QUERY_STRING: ".$_SERVER["QUERY_STRING"]."
\n";; - print "Referer: ".$_SERVER["HTTP_REFERER"]."
\n";; + print "".$langs->trans("Referer").": ".$_SERVER["HTTP_REFERER"]."
\n";; $syslog.="url=".$_SERVER["REQUEST_URI"]; $syslog.=", query_string=".$_SERVER["QUERY_STRING"]; - } - else // Mode CLI - { - - print "Erreur interne détectée...\n"; + } + else // Mode CLI + { + + print $langs->trans("ErrorInternalErrorDetected")."...\n"; $syslog.="pid=".getmypid(); - } - - if ($db) { - if ($_SERVER['DOCUMENT_ROOT']) // Mode web - { - print "
\n"; - print "Type gestionnaire de base de donnée: ".$db->type."
\n"; - print "Requete dernier acces en base: ".$db->lastquery()."
\n"; - print "Code retour dernier acces en base: ".$db->errno()."
\n"; - print "Information sur le dernier accès en base: ".$db->error()."
\n"; } - else // Mode CLI - { - print "Type gestionnaire de base de donnée:\n".$db->type."\n"; - 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ès en base:\n".$db->error()."\n"; - + + if ($db) { + if ($_SERVER['DOCUMENT_ROOT']) // Mode web + { + print "
\n"; + print "".$langs->trans("DatabaseTypeManager").": ".$db->type."
\n"; + print "".$langs->trans("RequestLastAccess").": ".($db->lastquery()?$db->lastquery():$langs->trans("ErrorNoRequestRan"))."
\n"; + print "".$langs->trans("ReturnCodeLastAccess").": ".$db->errno()."
\n"; + print "".$langs->trans("InformationLastAccess").": ".$db->error()."
\n"; + } + else // Mode CLI + { + print $langs->trans("DatabaseTypeManager").":\n".$db->type."\n"; + print $langs->trans("RequestLastAccess").":\n".($db->lastquery()?$db->lastquery():$langs->trans("ErrorNoRequestRan"))."\n"; + print $langs->trans("ReturnCodeLastAccess").":\n".$db->errno()."\n"; + print $langs->trans("InformationLastAccess").":\n".$db->error()."\n"; + + } + $syslog.=", sql=".$db->lastquery(); + $syslog.=", db_error=".$db->error(); } - $syslog.=", sql=".$db->lastquery(); - $syslog.=", db_error=".$db->error(); - } - - if ($msg) { - if ($_SERVER['DOCUMENT_ROOT']) // Mode web - { - print "".$langs->trans("Message").": ".$msg."
\n" ; + + if ($msg) { + if ($_SERVER['DOCUMENT_ROOT']) // Mode web + { + print "".$langs->trans("Message").": ".$msg."
\n" ; + } + else // Mode CLI + { + print $langs->trans("Message").":\n".$msg."\n" ; + } + $syslog.=", msg=".$msg; } - else // Mode CLI - { - print $langs->trans("Message").":\n".$msg."\n" ; - } - $syslog.=", msg=".$msg; - } - - dolibarr_syslog("Error $syslog"); - + + dolibarr_syslog("Error $syslog"); }