*/ class ServerInformation { private $url; public $prefix = '_wpadminify_server_info'; public function __construct() { $this->url = WP_ADMINIFY_URL . 'inc/Modules/ServerInformation'; add_action('adminify_loaded', [$this, 'jltwp_adminify_server_info_menu']); if (is_admin()) { add_action('admin_enqueue_scripts', [$this, 'jltwp_adminify_server_info_styles'], 99); // Refresh Debug Log add_action('wp_ajax_jltwp_adminify_error_log_content_refresh', [$this, 'jltwp_adminify_error_log_content_refresh']); add_action('wp_ajax_nopriv_jltwp_adminify_error_log_content_refresh', [$this, 'jltwp_adminify_error_log_content_refresh']); // Clear Debug Log add_action('wp_ajax_jltwp_adminify_error_log_content_clear', [$this, 'jltwp_adminify_error_log_content_clear']); add_action('wp_ajax_nopriv_jltwp_adminify_error_log_content_clear', [$this, 'jltwp_adminify_error_log_content_clear']); } } /** * Server Information Script/Styles * * @return void */ public function jltwp_adminify_server_info_styles() { global $pagenow; if (('admin.php' === $pagenow) && ('adminify-server-info' === $_GET['page'])) { echo ''; wp_enqueue_script('wp-adminify-error-logs', $this->url . '/error-logs.js', ['jquery'], null, true); wp_localize_script('wp-adminify-error-logs', 'WPAdminify', $this->adminify_error_logs_object()); } } /** * JS Object * * @return void */ public function adminify_error_logs_object() { return array( 'ajax_url' => admin_url('admin-ajax.php'), 'security_nonce' => wp_create_nonce('adminify-error-logs-security-nonce'), 'label_update' => esc_html__('Will be updated...', WP_ADMINIFY_TD), 'label_clear' => esc_html__('Will be cleared...', WP_ADMINIFY_TD), 'label_done' => esc_html__('Done!', WP_ADMINIFY_TD) ); } public function jltwp_adminify_server_info_menu() { if (!class_exists('ADMINIFY')) { return; } // WP Adminify Server Infos Settings \ADMINIFY::createOptions($this->prefix, array( // Framework Title 'framework_title' => 'WP Adminify Server Info by Jewel Theme', 'framework_class' => 'adminify-server-info', // menu settings 'menu_title' => 'Server Info', 'menu_slug' => 'adminify-server-info', 'menu_type' => 'submenu', // menu, submenu, options, theme, etc. 'menu_capability' => 'manage_options', 'menu_icon' => '', 'menu_position' => 56, 'menu_hidden' => false, 'menu_parent' => 'wp-adminify-settings', //Footer Credits 'footer_text' => ' ', 'footer_after' => ' ', 'footer_credit' => ' ', // menu extras 'show_bar_menu' => false, 'show_sub_menu' => false, 'show_in_network' => false, 'show_in_customizer' => false, 'show_search' => false, 'show_reset_all' => false, 'show_reset_section' => false, 'show_footer' => false, 'show_all_options' => false, 'show_form_warning' => false, 'sticky_header' => false, 'save_defaults' => false, 'ajax_save' => false, // admin bar menu settings 'admin_bar_menu_icon' => '', 'admin_bar_menu_priority' => 45, // database model 'database' => 'network', // options, transient, theme_mod, network(multisite support) 'transient_time' => 0, // typography options 'enqueue_webfont' => false, 'async_webfont' => false, // others 'output_css' => false, // theme and wrapper classname 'nav' => 'normal', 'theme' => 'dark', 'class' => 'wp-adminify_page_adminify-server-info', )); // Server Info Section \ADMINIFY::createSection( $this->prefix, array( 'title' => 'Server Info', 'icon' => 'fas fa-rocket', 'fields' => array( array( 'id' => 'server-info-tab', 'type' => 'tabbed', 'title' => '', 'tabs' => array( array( 'title' => 'WordPress', 'icon' => 'fab fa-wordpress', 'fields' => array( array( 'id' => 'wordpress', 'type' => 'callback', 'function' => 'WPAdminify\Inc\Modules\ServerInformation\ServerInformation::jltwp_adminify_wordpress_details' ), ) ), array( 'title' => 'Server', 'icon' => 'fa fa-gear', 'fields' => array( array( 'id' => 'server', 'type' => 'callback', 'function' => 'WPAdminify\Inc\Modules\ServerInformation\ServerInformation::jltwp_adminify_server_details' ), ) ), array( 'title' => 'PHP Info', 'icon' => 'fa fa-gear', 'fields' => array( array( 'id' => 'php_info', 'type' => 'callback', 'function' => 'WPAdminify\Inc\Modules\ServerInformation\ServerInformation::jltwp_adminify_get_phpinfo' ), ) ), array( 'title' => 'MySQL', 'icon' => 'fa fa-gear', 'fields' => array( array( 'id' => 'mysql_info', 'type' => 'callback', 'function' => 'WPAdminify\Inc\Modules\ServerInformation\ServerInformation::jltwp_adminify_get_mysqlinfo' ), ) ), array( 'title' => 'Constants', 'icon' => 'fa fa-gear', 'fields' => array( array( 'id' => 'constants', 'type' => 'callback', 'function' => 'WPAdminify\Inc\Modules\ServerInformation\ServerInformation::jltwp_adminify_constant_details' ), ) ), array( 'title' => '.htaccess File', 'icon' => 'fa fa-gear', 'fields' => array( array( 'id' => 'htaccess', 'type' => 'callback', 'function' => 'WPAdminify\Inc\Modules\ServerInformation\ServerInformation::jltwp_adminify_htacces_details' ), ) ), array( 'title' => 'php.ini File', 'icon' => 'fa fa-gear', 'fields' => array( array( 'id' => 'php_ini', 'type' => 'callback', 'function' => 'WPAdminify\Inc\Modules\ServerInformation\ServerInformation::jltwp_adminify_php_ini_details' ), ) ), array( 'title' => 'Robots.txt File', 'icon' => 'fa fa-gear', 'fields' => array( array( 'id' => 'robots_txt', 'type' => 'callback', 'function' => 'WPAdminify\Inc\Modules\ServerInformation\ServerInformation::jltwp_adminify_robots_details' ), ) ), array( 'title' => 'Error Logs', 'icon' => 'fa fa-gear', 'fields' => array( array( 'id' => 'error_logs', 'type' => 'callback', 'function' => '\WPAdminify\Inc\Modules\ServerInformation\ServerInformation::jltwp_adminify_error_log_details' ), ) ), ) ), ) ) ); } /** * Server Details */ public static function jltwp_adminify_server_details() { new ServerInfo_Server_Details(); } /** * WordPress Details */ public static function jltwp_adminify_wordpress_details() { new ServerInfo_WP_Details(); } /** * Constant Details */ public static function jltwp_adminify_constant_details() { new ServerInfo_Constant_Details(); } /** * .htaccess file Details */ public static function jltwp_adminify_htacces_details() { new ServerInfo_Htaccess_Details(); } /** * php.ini file Details */ public static function jltwp_adminify_php_ini_details() { new ServerInfo_PHP_INI_Details(); } /** * Robots file Details */ public static function jltwp_adminify_robots_details() { new ServerInfo_Robots_Details(); } /** * Error Logs Details */ public static function jltwp_adminify_error_log_details() { new ServerInfo_Error_Logs_Details(); } /** * Error Logs Details */ public static function jltwp_adminify_get_phpinfo() { if (!class_exists('DOMDocument')) { echo '
| ' . __('Variable Name', WP_ADMINIFY_TD) . ' | ' . __('Value', WP_ADMINIFY_TD) . ' |
|---|---|
| ' . $info->Variable_name . ' | ' . htmlspecialchars($info->Value) . ' |