diff options
Diffstat (limited to 'phpBB/includes/acp/acp_php_info.php')
| -rw-r--r-- | phpBB/includes/acp/acp_php_info.php | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/phpBB/includes/acp/acp_php_info.php b/phpBB/includes/acp/acp_php_info.php index fe223b623e..342d89addd 100644 --- a/phpBB/includes/acp/acp_php_info.php +++ b/phpBB/includes/acp/acp_php_info.php @@ -29,15 +29,21 @@ class acp_php_info $this->page_title = 'ACP_PHP_INFO'; ob_start(); - phpinfo(INFO_GENERAL | INFO_CONFIGURATION | INFO_MODULES | INFO_VARIABLES); - $phpinfo = ob_get_contents(); - ob_end_clean(); + @phpinfo(INFO_GENERAL | INFO_CONFIGURATION | INFO_MODULES | INFO_VARIABLES); + $phpinfo = ob_get_clean(); + + $phpinfo = trim($phpinfo); // Here we play around a little with the PHP Info HTML to try and stylise // it along phpBB's lines ... hopefully without breaking anything. The idea // for this was nabbed from the PHP annotated manual preg_match_all('#<body[^>]*>(.*)</body>#si', $phpinfo, $output); + if (empty($phpinfo) || empty($output)) + { + trigger_error('NO_PHPINFO_AVAILABLE', E_USER_WARNING); + } + $output = $output[1][0]; $output = preg_replace('#<tr class="v"><td>(.*?<a[^>]*><img[^>]*></a>)(.*?)</td></tr>#s', '<tr class="row1"><td><table class="type2"><tr><td>\2</td><td>\1</td></tr></table></td></tr>', $output); $output = preg_replace('#<table[^>]+>#i', '<table>', $output); |
