Отсылает уведомление о любой ошибке форума по email (который прописан в конфиге форума) с описанием этой ошибки.
Пример текста письма:
Общая ошибка Message:
Couldn't obtain blocked user information.<br /><br /><b><u>DEBUG MODE</u></b><br /><br />SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND u.user_id = b.blocked_id AND b.owner_id = 2' at line 1<br /><br />SELECT b.*, u.username, u.user_id FROM phpbb_weblog_blocked b, phpbb_users u WHERE b.blocked_id IN () AND u.user_id = b.blocked_id AND b.owner_id = 2 </br /><br />Line : 177<br />File : weblog_blocked.php
IP: (это вам не к чему =))
USER: Siava
URL: /forum/weblog_blocked.php?u=2
##############################################################
## MOD Title: Email on Errors
## MOD Author: aboyd < N/A > (N/A) http://www.outshine.com/forums/
## MOD Description: Emails the admin address when phpBB errors out.
## MOD Version: 1.0
##
## Installation Level: Easy
## Installation Time: 5 Minutes
## Files To Edit: includes/functions.php
##
## Included Files: N/A
##############################################################
## For Security Purposes, Please Check: http://www.outshine.com/ for
## the latest version of this MOD. Downloading this MOD from other sites could
## cause malicious code to enter into your phpBB Forum.
##############################################################
## Author Notes: This is not an official mod from phpBB. It is licensed under
## the GPL, which should have been included. If you find bugs, visit:
## http://www.outshine.com/forums/
##
##############################################################
## MOD History:
##
## 2005-07-23 - Version 1.0
## - Initial release
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To
## This MOD
##############################################################
#
#-----[ OPEN ]------------------------------------------
#
includes/functions.php
#
#-----[ FIND ]------------------------------------------
#
$template->pparse('message_body');
#
#-----[ AFTER, ADD ]------------------------------------------
#
/*
Adding email here so I can be aware of errors. Avoid using phpBB-specific
code (such as the built-in emailer class), in case that's part of the error.
*/
if ($msg_code == GENERAL_ERROR) {
if (isset($board_config['board_email'])) {
$email_from = 'From: ' . $board_config['board_email'] . "\n";
$email_to = $board_config['board_email'];
$email_username = (isset($userdata['username'])) ? $userdata['username']: '';
$email_username = ($email_username == '') ? 'no defined username': $email_username;
$email_subject = 'FORUM ERROR';
$email_body = $msg_title . " Message:\n\n" . $msg_text . "\n\n\nIP: " . $_SERVER['REMOTE_ADDR'] . "\nUSER: " . $email_username . "\nURL: " . $_SERVER['REQUEST_URI'] . "\n\nFORM:\n" . print_r($_POST, true);
mail($email_to, $email_subject, $email_body, $email_from);
}
}
#
#-----[ FIND ]------------------------------------------
#
echo "<html>\n<body>\n" . $msg_title . "\n<br /><br />\n" . $msg_text . "</body>\n</html>";
#
#-----[ BEFORE, ADD ]------------------------------------------
#
/*
Adding email here so I can be aware of errors. Avoid using phpBB-specific
code (such as the built-in emailer class), in case that's part of the error.
TO DO: drop this into a function so the code isn't duplicated.
*/
if (isset($board_config['board_email'])) {
$email_from = 'From: ' . $board_config['board_email'] . "\n";
$email_to = $board_config['board_email'];
$email_username = (isset($userdata['username'])) ? $userdata['username']: '';
$email_username = ($email_username == '') ? 'no defined username': $email_username;
$email_subject = 'FORUM ERROR';
$email_body = $msg_title . " Message:\n\n" . $msg_text . "\n\n\nIP: " . $_SERVER['REMOTE_ADDR'] . "\nUSER: " . $email_username . "\nURL: " . $_SERVER['REQUEST_URI'] . "\n\nFORM:\n" . print_r($_POST, true);
mail($email_to, $email_subject, $email_body, $email_from);
}
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Вообще-то обработчик ошибок предполагает полную автономность, а значит адрес почты сюда нужно вписывать ручками...
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
MAzZY писал(а):Мод хороший. Установил его. А как теперь проверить? Как сгенерировать ошибку?
Испортите какой-нибудь запрос к базе например...
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Xpert
Мод работал нормально.. только в последнее время с увеличением активности посещения форума стало проиходить куча писем, туда сыпется всё подряд, любые переходы по несуществующим ссылкам и т.п... после того, как во входящих обнаружил 15тыс. писем мод был снесён к чертям
Xpert, Siava, подскажите, как же поступить с $HTTP_SERVER_VARS и $HTTP_POST_VARS? Можно ли оставить так, как есть сейчас в моде или надо заменять? Если надо, то приведите пример замены.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений