1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| function gerer_plantage($Code, $Message, $Fichier, $Ligne, $Contexte=array()) {
/* Gestion des plantages (erreurs et exceptions)
/* Prend en arguments :
/* - $Code, le code du plantage (entier)
/* - $Message, le message décrivant le plantage (chaîne)
/* - $Fichier, le fichier ayant géneré le plantage (chaîne)
/* - $Ligne, la ligne où s'est produit le plantage (entier)
/* - $Contexte, le contexte lors du plantage (tableau)
/* Renvoie true si tout s'est bien passé, false sinon. */
/* Ecriture du message d'erreur dans les logs */
ecrire_log("Plantage n°$Code \"$Message\" à la ligne $Ligne", "E", basename($Fichier));
/* Envoi d'un mail à l'administrateur */
$Sujet = "[Cadeaux] Plantage n°$Code";
$Message = "Plantage n°$Code \"$Message\" à la ligne $Ligne dans le fichier $Fichier";
/* Si l'erreur/exception n'implique pas la fonction mail(), envoie d'un mail à l'administrateur.
/* Sinon affichage d'un message pour l'utilisateur. */
if (stripos($Message, "mail()") === false ) {
$Message = wordwrap($Message,70);
$EnTetes = "From: " . EXPEDITEUR_MAILS ."\r\n";
$EnTetes .= "X-Mailer: PHP/" . phpversion();
if (mail(DESTINATAIRE_MAILS_ERR, $Sujet, $Message, $EnTetes)) {
return true;
} else {
print formater_message("Echec lors de la gestion de l'erreur. Merci de prévenir l'administrateur à l'adresse " . DESTINATAIRE_MAILS_ERR . ".", "E");
return false;
}
} else {
print formater_message("Echec lors de la gestion de l'erreur. Merci de prévenir l'administrateur à l'adresse " . DESTINATAIRE_MAILS_ERR . ".", "E");
return false;
}
} |
Partager