-
-
Notifications
You must be signed in to change notification settings - Fork 35
/
system_debug.php
94 lines (78 loc) · 3.17 KB
/
system_debug.php
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?php
/*
part-db version 0.1
Copyright (C) 2005 Christoph Lechner
http://www.cl-projects.de/
part-db version 0.2+
Copyright (C) 2009 K. Jacobs and others (see authors.php)
http://code.google.com/p/part-db/
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
include_once __DIR__ . '/start_session.php';
use PartDB\HTML;
$errors = array();
\PartDB\User::getLoggedInUser()->tryDo(\PartDB\Permissions\PermissionManager::SYSTEM, \PartDB\Permissions\SystemPermission::USE_DEBUG);
if (isset($_REQUEST['add'])) {
try {
debug($_REQUEST['new_type'], $_REQUEST['new_text'], __FILE__, __LINE__, __METHOD__, false);
} catch (Exception $exception) {
$errors[] = $exception->getMessage();
}
} elseif (isset($_REQUEST['clear'])) {
try {
createDebugLogFile(); // override the existing debug log with a new, empty debug log
} catch (Exception $exception) {
$errors[] = $exception->getMessage();
}
} elseif (isset($_REQUEST['download'])) {
if (is_readable(DEBUG_LOG_FILENAME)) {
sendFile(DEBUG_LOG_FILENAME);
// TODO: how can we re-activate the autorefresh now?!
} else {
$errors[] = _('Die Log-Datei kann nicht gelesen werden!');
}
} elseif (isset($_REQUEST['enable'])) {
try {
setDebugEnable(true);
header('Location: system_debug.php');
} catch (Exception $exception) {
$errors[] = $exception->getMessage();
}
} elseif (isset($_REQUEST['disable']) || isset($_REQUEST['disable_and_delete'])) {
try {
setDebugEnable(false);
if (isset($_REQUEST['disable_and_delete'])) {
deleteDebugLogFile();
}
header('Location: system_debug.php');
} catch (Exception $exception) {
$errors[] = $exception->getMessage();
}
}
if ($config['debug']['enable'] && (count($errors) == 0) && ! isset($_REQUEST['stop_autorefresh'])
&& (! isset($_REQUEST['autorefresh_disabled']) || isset($_REQUEST['start_autorefresh']))) {
$autorefresh = true;
} else {
$autorefresh = false;
}
//Fill template with values
$html = new HTML($config['html']['theme'], $user_config['theme'], 'Debugging');
$html->setVariable('debug_enable', $config['debug']['enable'], 'boolean');
$html->setVariable('autorefresh', $autorefresh, 'boolean');
//$html->set_variable("errors_count", count($errors), "integer");
$html->setVariable('errors', $errors);
$html->setVariable('logs', getDebugLogElements());
// Print template
$html->printHeader();
$html->printTemplate('system_debug');
$html->printFooter();