/* [Discuz!] (C)2001-2006 Comsenz Inc. This is NOT a freeware, use is subject to license terms $RCSfile: db_mysql_error.inc.php,v $ $Revision: 1.3 $ $Date: 2006/02/23 13:44:02 $ */ if(!defined('IN_DISCUZ')) { exit('Access Denied'); } $timestamp = time(); $errmsg = ''; $dberror = $this->error(); $dberrno = $this->errno(); if($dberrno == 1114) { ?>
|
";
echo nl2br($errmsg);
if($GLOBALS['adminemail']) {
$errlog = array();
if(@$fp = fopen(DISCUZ_ROOT.'./forumdata/dberror.log', 'r')) {
while((!feof($fp)) && count($errlog) < 20) {
$log = explode("\t", fgets($fp, 50));
if($timestamp - $log[0] < 86400) {
$errlog[$log[0]] = $log[1];
}
}
fclose($fp);
}
if(!in_array($dberrno, $errlog)) {
$errlog[$timestamp] = $dberrno;
@$fp = fopen(DISCUZ_ROOT.'./forumdata/dberror.log', 'w');
@flock($fp, 2);
foreach(array_unique($errlog) as $dateline => $errno) {
@fwrite($fp, "$dateline\t$errno");
}
@fclose($fp);
if(function_exists('errorlog')) {
errorlog('MySQL', basename($GLOBALS['_SERVER']['PHP_SELF'])." : $dberror - ".cutstr($sql, 120), 0);
}
if($GLOBALS['dbreport']) {
echo "
An error report has been dispatched to our administrator.";
@sendmail($GLOBALS['adminemail'], '[Discuz!] MySQL Error Report',
"There seems to have been a problem with the database of your Discuz! Board\n\n".
strip_tags($errmsg)."\n\n".
"Please check-up your MySQL server and forum scripts, similar errors will not be reported again in recent 24 hours\n".
"If you have troubles in solving this problem, please visit Discuz! Community http://www.Discuz.net.");
}
} else {
echo '
Similar error report has beed dispatched to administrator before.';
}
}
echo '