tpl_name = '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(); // Get used layout $layout = (preg_match('#bgcolor#i', $phpinfo)) ? 'old' : 'new'; // 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('#]*>(.*)#siU', $phpinfo, $output); switch ($layout) { case 'old': $output = preg_replace('#(.*?)(.*?)#s', '
\2\1
', $output); $output = preg_replace('#(.*?)#', '\1', $output); $output = preg_replace('##', '', $output); $output = preg_replace('##', '', $output); $output = preg_replace('#valign="middle"#', '', $output); $output = preg_replace('##', '', $output); $output = preg_replace('##', '', $output); $output = preg_replace('#

#i', '

', $output); $output = preg_replace('#

#i', '

', $output); break; case 'new': $output = preg_replace('#(\w),(\w)#', '\1, \2', $output[1][0]); $output = preg_replace('#(.*?)(.*?)#s', '
\2\1
', $output); $output = preg_replace('#class="e"#', 'class="row1"', $output); $output = preg_replace('#class="v"#', 'class="row2"', $output); $output = preg_replace('#class="h"#', '', $output); $output = preg_replace('#
#', '', $output); $output = preg_replace('##i', '
', $output); $output = preg_replace('#'), array(''), $output); preg_match_all('#
(.*)
#siU', $output, $output); $output = $output[1][0]; break; } $template->assign_var('PHPINFO', $output); } } /** * @package module_install */ class acp_php_info_info { function module() { return array( 'filename' => 'acp_php_info', 'title' => 'ACP_PHP_INFO', 'version' => '1.0.0', 'modes' => array( 'info' => array('title' => 'ACP_PHP_INFO', 'auth' => 'acl_a_phpinfo'), ), ); } function install() { } function uninstall() { } } ?>