Bonjour, je propose une fonctionnalité de plus. Elle n'est cependant pas vraiment une "amélioration".
Il s'agit d'envoyer un courriel au gestionnaire dès qu'une erreur se produit, avec copie des messages de débuggage.
Cela se passe dans includes/functions.php.
Au tout début, remplacer
- Code: Tout sélectionner
if ( DEBUG && ( $msg_code == GENERAL_ERROR || $msg_code == CRITICAL_ERROR ) )
{
$sql_error = $db->sql_error();
$debug_text = '';
par :
- Code: Tout sélectionner
/* DEBUT code APRES INSTALLATION mod "Advanced Debug Mod" par Genova */
if ( DEBUG && ( $msg_code == GENERAL_ERROR || $msg_code == CRITICAL_ERROR ) )
{
echo '<p style="margin: 1em; border: 2px solid red; background-color: #ffebe8; padding: 1ex;">Vous êtes bien sur le <a href="http://forum.votre-site.net">Nom de votre forum</a>, mais il y a actuellement un bogue sur le forum.<br /> Vous pouvez <a href="http://secours.votre-site.net/forum/">aller sur le forum de secours</a> ou <a href="http://fr.siteexplorer.search.yahoo.com/siteexplorer/search?p=forum.votre-site.net">consulter les pages en mémoire dans Yahoo</a> (ou <a href="http://www.google.com/search?q=cache:forum.votre-site.net" title="pages en cache dans Google">dans Google</a>).<br />Le webmaster est déjà au courant (il a reçu un courriel l\'avertissant de cette erreur).</p> <hr />';
$sql_error = $db->sql_error();
$debug_text = '<dl>
<dt>URL référente :<dt> <dd>' . $_SERVER['HTTP_REFERER'] . '.</dd>
<dt>Chemin :</dt> <dd><a href="http://forum.votre-site.net' .$_SERVER['PHP_SELF'] . '">' .$_SERVER['PHP_SELF'] . '</a>.</dd>
<dt>Chaîne de requête :</dt> <dd><a href="http://forum.votre-site.net' .$_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING'] . '">' .$_SERVER['QUERY_STRING'] . '</a>.</dd>
<dt>Adresse IP : </dt> <dd>' . $_SERVER['REMOTE_ADDR'] . '.</dd>
</dl>';
et tout à la fin, remplacer
- Code: Tout sélectionner
if ( $file_code_draw != '' )
{
$debug_text .= '<br /><div align="left">
<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center">
<tr>
<td><span class="genmed"><b>' . $lang['DEBUG_code_debbuger'] . ':</b></span></td>
</tr>
<tr>
<td class="code">' . $file_code_draw . '</td>
</tr>
</table></div>';
}
}
}
par :
- Code: Tout sélectionner
if ( $file_code_draw != '' )
{
$debug_text .= '<br /><div align="left">
<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center">
<tr>
<td><span class="genmed"><b>' . $lang['DEBUG_code_debbuger'] . ':</b></span></td>
</tr>
<tr>
<td class="code">' . $file_code_draw . '</td>
</tr>
</table></div>';
} /* FIN du if ( $file_code_draw != '' ) */
} /* FIN du if ( $err_line != '' && $err_file != '' ) */
$bug_sujet = 'Bogue sur le forum';
$bug_message = "Il y a actuellement un bogue sur le <a href=\"http://forum.votre-site.net\">Nom de votre forum</a>." . "\r\n" .
Voici quelques détails sur le bogue :<hr />
$debug_text" . "\r\n" . "<hr />
Forum de secours : <a href=\"http://secours.votre-site.net/secours/\">http://forum.votre-site.net</a>.";
$bug_headers = 'MIME-Version: 1.0' . "\r\n";
$bug_headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$bug_headers .= 'From: forum@votre-site.net' . "\r\n";
mail('forum@votre-site.net, $bug_sujet, $bug_message, $bug_headers);
} /* FIN if ( DEBUG && ( $msg_code == GENERAL_ERROR || $msg_code == CRITICAL_ERROR ) ) */
/* FIN code APRES INSTALLATION mod "Advanced Debug Mod" par Genova */
Voila pour l'idée et un peu de code. Il y a largement moyen de l'améliorer.
Notamment :
permettre le paramétrage du message d'avertissement via l'admin
proposer l'envoi du courriel à plusieurs adresses
créer un template pour le courriel ?
...