addSection( 'diagnostics', __( 'Diagnostics', MCI_Footnotes_Config::C_STR_PLUGIN_NAME ), null, false ),
);
}
/**
* Returns an array of all registered meta boxes for each section of the sub page.
*
* @author Stefan Herndler
* @since 1.5.0
* @return array
*/
protected function getMetaBoxes() {
return array(
$this->addMetaBox( 'diagnostics', 'diagnostics', __( 'Displays information about the web server, PHP and WordPress', MCI_Footnotes_Config::C_STR_PLUGIN_NAME ), 'Diagnostics' ),
);
}
/**
* Displays a diagnostics about the web server, php and WordPress.
*
* @author Stefan Herndler
* @since 1.5.0
*/
public function Diagnostics() {
global $wp_version;
$l_str_PhpExtensions = '';
// iterate through each PHP extension
foreach ( get_loaded_extensions() as $l_int_Index => $l_str_Extension ) {
if ( $l_int_Index > 0 ) {
$l_str_PhpExtensions .= ' | ';
}
$l_str_PhpExtensions .= $l_str_Extension . ' ' . phpversion( $l_str_Extension );
}
/** @var WP_Theme $l_obj_CurrentTheme */
$l_obj_CurrentTheme = wp_get_theme();
$l_str_WordPressPlugins = '';
// iterate through each installed WordPress Plugin
foreach ( get_plugins() as $l_arr_Plugin ) {
$l_str_WordPressPlugins .= '
';
$l_str_WordPressPlugins .= '' . $l_arr_Plugin['Name'] . ' | ';
$l_str_WordPressPlugins .= '' . $l_arr_Plugin['Version'] . ' [' . $l_arr_Plugin['PluginURI'] . ']' . ' | ';
$l_str_WordPressPlugins .= '
';
}
// load template file
$l_obj_Template = new MCI_Footnotes_Template( MCI_Footnotes_Template::C_STR_DASHBOARD, 'diagnostics' );
// replace all placeholders
$l_obj_Template->replace(
array(
'label-server' => __( 'Server name', MCI_Footnotes_Config::C_STR_PLUGIN_NAME ),
'server' => $_SERVER['SERVER_NAME'],
'label-php' => __( 'PHP version', MCI_Footnotes_Config::C_STR_PLUGIN_NAME ),
'php' => phpversion(),
'label-user-agent' => __( 'User agent', MCI_Footnotes_Config::C_STR_PLUGIN_NAME ),
'user-agent' => $_SERVER['HTTP_USER_AGENT'],
'label-max-execution-time' => __( 'Max execution time', MCI_Footnotes_Config::C_STR_PLUGIN_NAME ),
'max-execution-time' => ini_get( 'max_execution_time' ) . ' ' . __( 'seconds', MCI_Footnotes_Config::C_STR_PLUGIN_NAME ),
'label-memory-limit' => __( 'Memory limit', MCI_Footnotes_Config::C_STR_PLUGIN_NAME ),
'memory-limit' => ini_get( 'memory_limit' ),
'label-php-extensions' => __( 'PHP extensions', MCI_Footnotes_Config::C_STR_PLUGIN_NAME ),
'php-extensions' => $l_str_PhpExtensions,
'label-wordpress' => __( 'WordPress version', MCI_Footnotes_Config::C_STR_PLUGIN_NAME ),
'wordpress' => $wp_version,
'label-theme' => __( 'Active Theme', MCI_Footnotes_Config::C_STR_PLUGIN_NAME ),
'theme' => $l_obj_CurrentTheme->get( 'Name' ) . ' ' . $l_obj_CurrentTheme->get( 'Version' ) . ', ' . $l_obj_CurrentTheme->get( 'Author' ) . ' [' . $l_obj_CurrentTheme->get( 'AuthorURI' ) . ']',
'plugins' => $l_str_WordPressPlugins,
)
);
// display template with replaced placeholders
echo $l_obj_Template->getContent();
}
}