1 | <?php
|
---|
2 |
|
---|
3 | include('global.php');
|
---|
4 |
|
---|
5 | $Content = file_get_contents($StdOutLogFile);
|
---|
6 | $Lines = explode("\n", $Content);
|
---|
7 | $Content = ''; // Free unused memory
|
---|
8 |
|
---|
9 | // Separate information from log file
|
---|
10 | $Line = 0;
|
---|
11 | while(($Line < count($Lines)) and (substr($Lines[$Line], 0, 6) != 'MaNGOS')) $Line++;
|
---|
12 | $MangosVersion = $Lines[$Line];
|
---|
13 |
|
---|
14 | // Try to find start of backtrace
|
---|
15 | while(($Line < count($Lines)) and (substr($Lines[$Line], 0, 16) != 'Program received')) $Line++;
|
---|
16 | $Backtrace = array_slice($Lines, $Line, count($Lines) - $Line); // Assume rest of file to be backtrace
|
---|
17 | $Backtrace = addslashes(implode("\n", $Backtrace));
|
---|
18 | $Lines = '';
|
---|
19 |
|
---|
20 | //$Log = array_slice($Lines, 0, $Line);
|
---|
21 | //$Log = addslashes(implode("\n", $Log));
|
---|
22 |
|
---|
23 | // Get used database version from database
|
---|
24 | $DbResult = $Database->query('SELECT * FROM `'.$Config['Mangos']['DatabaseMangos'].'`.`db_version`');
|
---|
25 | $DbRow = $DbResult->fetch_array();
|
---|
26 | $DbVersion = $DbRow['version'];
|
---|
27 |
|
---|
28 | // Get last uptime info
|
---|
29 | $DbResult = $Database->query('SELECT * FROM `'.$Config['Mangos']['DatabaseMangos'].'`.`uptime` ORDER BY `starttime` DESC LIMIT 1');
|
---|
30 | echo($Database->error);
|
---|
31 | $DbRow = $DbResult->fetch_array();
|
---|
32 | $MaxPlayerCount = $DbRow['maxplayers'];
|
---|
33 | $Uptime = $DbRow['uptime'];
|
---|
34 |
|
---|
35 | // Insert data to database
|
---|
36 | $Database->query('INSERT INTO `debug` (`Time`, `MangosVersion`, `DbVersion`, `Uptime`, `MaxPlayerCount`) VALUES (NOW(), "'.
|
---|
37 | $MangosVersion.'", "'.$DbVersion.'", '.$Uptime.', '.$MaxPlayerCount.')');
|
---|
38 | $InsertId = $Database->insert_id;
|
---|
39 |
|
---|
40 | // Insert data in separate query to partly avoid too long query packet error
|
---|
41 | $Database->query('UPDATE `debug` SET Backtrace="'.$Backtrace.'" WHERE Id='.$InsertId);
|
---|
42 | $Backtrace = '';
|
---|
43 | //echo($Database->error);
|
---|
44 | $Log = addslashes(file_get_contents($MangosLogFile));
|
---|
45 | $Database->query('UPDATE `debug` SET Log="'.$Log.'" WHERE Id='.$InsertId);
|
---|
46 | //echo($Database->error);
|
---|
47 | $Log = addslashes(file_get_contents($MangosDbErrorsLogFile));
|
---|
48 | $Database->query('UPDATE `debug` SET DbErrors="'.$Log.'" WHERE Id='.$InsertId);
|
---|
49 | //echo($Database->error);
|
---|
50 |
|
---|
51 | $Configuration = array();
|
---|
52 | $Log = addslashes(file_get_contents($MangosConfFile));
|
---|
53 | $LogLines = explode("\n", $Log);
|
---|
54 | foreach($LogLines as $LogLine)
|
---|
55 | {
|
---|
56 | if(substr($LogLine, 0, 1) != '#') $Configuration[] = $LogLine;
|
---|
57 | }
|
---|
58 | $Database->query('UPDATE `debug` SET Configuration="'.implode("\n", $Configuration).'" WHERE Id='.$InsertId);
|
---|
59 |
|
---|
60 | //echo($Database->error);
|
---|
61 | $Log = addslashes(file_get_contents($ErrOutLogFile));
|
---|
62 | $Database->query('UPDATE `debug` SET ErrorLog="'.$Log.'" WHERE Id='.$InsertId);
|
---|
63 |
|
---|
64 | // Clear log files
|
---|
65 | unlink($MangosLogFile);
|
---|
66 | unlink($StdOutLogFile);
|
---|
67 | unlink($ErrOutLogFile);
|
---|
68 | unlink($MangosDbErrorsLogFile);
|
---|
69 |
|
---|
70 | ?>
|
---|