modx->hasPermission('view_sysinfo'); } /** * Custom logic code here for setting placeholders, etc * * @param array $scriptProperties * @return array */ public function process(array $scriptProperties = array()) { $pi = $this->getPhpInfo(INFO_GENERAL); $m = $this->parsePHPModules(); $dbtype_mysql = $this->modx->config['dbtype'] == 'mysql'; $dbtype_sqlsrv = $this->modx->config['dbtype'] == 'sqlsrv'; if ($dbtype_mysql && !empty($m['mysql'])) $pi = array_merge($pi,array('mysql' => $m['mysql'])); if ($dbtype_mysql && !empty($m['mysqlnd'])) $pi = array_merge($pi,array('pdo' => $m['mysqlnd'])); if ($dbtype_sqlsrv && !empty($m['sqlsrv'])) $pi = array_merge($pi,array('sqlsrv' => $m['sqlsrv'])); if (!empty($m['PDO'])) $pi = array_merge($pi,array('pdo' => $m['PDO'])); if ($dbtype_mysql && !empty($m['pdo_mysql'])) $pi = array_merge($pi,array('pdo_mysql' => $m['pdo_mysql'])); if ($dbtype_sqlsrv && !empty($m['pdo_sqlsrv'])) $pi = array_merge($pi,array('pdo_sqlsrv' => $m['pdo_sqlsrv'])); if (!empty($m['zip'])) $pi = array_merge($pi,array('zip' => $m['zip'])); $this->pi = array_merge($pi,$this->getPhpInfo(INFO_CONFIGURATION)); return array( 'pi' => $this->pi, ); } /** * Register custom CSS/JS for the page * @return void */ public function loadCustomCssJs() { $this->addJavascript($this->modx->getOption('manager_url')."assets/modext/widgets/system/{$this->modx->getOption('dbtype')}/modx.grid.databasetables.js"); $this->addJavascript($this->modx->getOption('manager_url').'assets/modext/widgets/resource/modx.grid.resource.active.js'); $this->addJavascript($this->modx->getOption('manager_url').'assets/modext/sections/system/info.js'); $this->addHtml(''); } /** * Return the pagetitle * * @return string */ public function getPageTitle() { return $this->modx->lexicon('view_sysinfo'); } /** * Return the location of the template file * @return string */ public function getTemplateFile() { return ''; } /** * Specify the language topics to load * @return array */ public function getLanguageTopics() { return array('system_info'); } public function getPhpInfo($type = -1) { ob_start(); phpinfo($type); $pi = preg_replace( array('#^.*
(.*).*$#ms', '#