PluginProbe ʕ •ᴥ•ʔ
Advanced Database Cleaner – Optimize & Clean Database to Speed Up Site Performance / 4.2.0
Advanced Database Cleaner – Optimize & Clean Database to Speed Up Site Performance v4.2.0
4.2.0 trunk 1.0.0 1.1.0 1.1.1 1.2.0 1.2.1 1.2.2 1.2.3 1.3.0 1.3.1 1.3.5 1.3.6 1.3.7 2.0.0 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.1.0 4.1.1
advanced-database-cleaner / includes / endpoints / class-adbc-info-endpoints.php
advanced-database-cleaner / includes / endpoints Last commit date
class-adbc-automation-endpoints.php 3 months ago class-adbc-common-endpoints.php 4 months ago class-adbc-cron-jobs-endpoints.php 3 months ago class-adbc-general-cleanup-endpoints.php 3 months ago class-adbc-info-endpoints.php 3 months ago class-adbc-logs-endpoints.php 3 months ago class-adbc-options-endpoints.php 3 months ago class-adbc-post-types-endpoints.php 3 months ago class-adbc-posts-meta-endpoints.php 3 months ago class-adbc-settings-endpoints.php 3 months ago class-adbc-tables-endpoints.php 3 months ago class-adbc-transients-endpoints.php 3 months ago class-adbc-users-meta-endpoints.php 3 months ago
class-adbc-info-endpoints.php
155 lines
1 <?php
2
3 // Exit if accessed directly
4 if ( ! defined( 'ABSPATH' ) )
5 exit;
6
7 /**
8 * ADBC Info Endpoints.
9 *
10 * This class provides the endpoints (controllers) for the info routes.
11 */
12 class ADBC_Info_Endpoints {
13
14 /**
15 * Get the system info.
16 *
17 * @return WP_REST_Response The system info.
18 */
19 public static function get_system_information() {
20
21 try {
22
23 global $wpdb;
24 $settings = ADBC_Settings::instance()->get_settings();
25
26 // Get locale info.
27 $locale = get_locale();
28
29 // Get theme info
30 $theme_data = wp_get_theme();
31 $theme = $theme_data->get( 'Name' ) . ' ' . $theme_data->get( 'Version' );
32 $parent_theme = "N/A";
33 if ( $theme_data->parent() ) {
34 $parent_theme_data = $theme_data->parent();
35 $parent_theme = $parent_theme_data->get( 'Name' ) . ' ' . $parent_theme_data->get( 'Version' );
36 }
37
38 $adbc_plugin_type = ADBC_VERSION_TYPE;
39 $adbc_plugin_type = ADBC_IS_PRO_VERSION ? 'PRO' : $adbc_plugin_type;
40
41 $data = array(
42 'wordpress' => array(
43 'title' => __( 'WordPress', 'advanced-database-cleaner' ),
44 'generated_on' => date( 'Y-m-d H:i:s' ),
45 'data' => array(
46 __( 'Version', 'advanced-database-cleaner' ) . ": " . get_bloginfo( 'version' ),
47 __( 'Site URL', 'advanced-database-cleaner' ) . ": " . site_url(),
48 __( 'Home URL', 'advanced-database-cleaner' ) . ": " . home_url(),
49 __( 'Multisite', 'advanced-database-cleaner' ) . ": " . ( is_multisite() ? __( 'Yes', 'advanced-database-cleaner' ) : __( 'No', 'advanced-database-cleaner' ) ),
50 __( 'Sites', 'advanced-database-cleaner' ) . ": " . ADBC_Sites::instance()->count_sites_in_multisite(),
51 __( 'Language', 'advanced-database-cleaner' ) . ": " . ( ! empty( $locale ) ? $locale : 'en_US' ),
52 __( 'Theme', 'advanced-database-cleaner' ) . ": " . $theme,
53 __( 'Parent theme', 'advanced-database-cleaner' ) . ": " . $parent_theme,
54 __( 'Memory limit', 'advanced-database-cleaner' ) . ": " . ( defined( 'WP_MEMORY_LIMIT' ) ? WP_MEMORY_LIMIT : 'N/A' ),
55 __( 'Autoload warning threshold', 'advanced-database-cleaner' ) . ": " . ADBC_Common_Utils::format_bytes( ADBC_Options::get_autoload_warning_limit() )
56 )
57 ),
58 'database' => array(
59 'title' => __( 'Database', 'advanced-database-cleaner' ),
60 'data' => array(
61 __( 'Database size', 'advanced-database-cleaner' ) . ": " . ADBC_Database::get_database_size_sql(),
62 __( 'Total tables', 'advanced-database-cleaner' ) . ": " . ADBC_Tables::get_total_tables_count() . " (" . ADBC_Tables::get_total_tables_with_invalid_prefix_count() . " " . __( 'with invalid prefix', 'advanced-database-cleaner' ) . ")",
63 __( 'Total options', 'advanced-database-cleaner' ) . ": " . ADBC_Options::get_total_options_count(),
64 __( 'Total cron jobs', 'advanced-database-cleaner' ) . ": " . ADBC_Cron_Jobs::get_total_cron_jobs_count(),
65 __( 'Total transients', 'advanced-database-cleaner' ) . ": " . ADBC_Transients::get_total_transients_count(),
66 __( 'Total user meta', 'advanced-database-cleaner' ) . ": " . ADBC_Users_Meta::get_total_users_meta_count(),
67 __( 'Total post meta', 'advanced-database-cleaner' ) . ": " . ADBC_Posts_Meta::get_total_posts_meta_count(),
68 __( 'Total post types', 'advanced-database-cleaner' ) . ": " . ADBC_Post_Types::get_total_post_types_count(),
69 )
70 ),
71 'adbc' => array(
72 'title' => 'Advanced DB Cleaner',
73 'data' => array(
74 __( 'Version', 'advanced-database-cleaner' ) . ": " . ADBC_PLUGIN_VERSION . ' - ' . $adbc_plugin_type,
75 __( 'Installed on', 'advanced-database-cleaner' ) . ": " . ADBC_Common_Utils::format_date_friendly( $settings['installed_on'] ),
76 __( 'License status', 'advanced-database-cleaner' ) . ": " . ( ADBC_VERSION_TYPE === 'PREMIUM' ? ADBC_License_Manager::get_license_status() : 'adbc_hidden' ),
77 __( 'License plan', 'advanced-database-cleaner' ) . ": " . ( ADBC_VERSION_TYPE === 'PREMIUM' ? ADBC_License_Manager::get_plan_name() : 'adbc_hidden' ),
78 __( 'License expiry/renewal', 'advanced-database-cleaner' ) . ": " . ( ADBC_VERSION_TYPE === 'PREMIUM' ? ADBC_License_Manager::get_license_expiration() : 'adbc_hidden' ),
79 )
80 ),
81 'adbc_settings' => array(
82 'title' => __( 'Settings', 'advanced-database-cleaner' ),
83 'data' => array(
84 __( 'Cleanup method', 'advanced-database-cleaner' ) . ": " . $settings['sql_or_native_cleanup_method'],
85 __( 'Database rows batches', 'advanced-database-cleaner' ) . ": " . $settings['database_rows_batch'],
86 __( 'Reduce CPU usage', 'advanced-database-cleaner' ) . ": " . ( $settings['reduce_cpu_usage'] === '1' ? __( 'Yes', 'advanced-database-cleaner' ) : __( 'No', 'advanced-database-cleaner' ) ),
87 __( 'CPU work time', 'advanced-database-cleaner' ) . ": " . $settings['cpu_work_time_ms'],
88 __( 'CPU rest time', 'advanced-database-cleaner' ) . ": " . $settings['cpu_rest_time_ms'],
89 __( 'File line batches', 'advanced-database-cleaner' ) . ": " . $settings['file_lines_batch'],
90 __( 'File content chunks', 'advanced-database-cleaner' ) . ": " . $settings['file_content_chunks'],
91 __( 'Scan max execution time', 'advanced-database-cleaner' ) . ": " . $settings['scan_max_execution_time'],
92 __( 'Analytics enabled', 'advanced-database-cleaner' ) . ": " . ( $settings['analytics_enabled'] === '1' ? __( 'Yes', 'advanced-database-cleaner' ) : __( 'No', 'advanced-database-cleaner' ) ),
93 __( 'Addons activity enabled', 'advanced-database-cleaner' ) . ": " . ( $settings['addons_activity_enabled'] === '1' ? __( 'Yes', 'advanced-database-cleaner' ) : __( 'No', 'advanced-database-cleaner' ) ),
94 __( 'Show tables with invalid prefix', 'advanced-database-cleaner' ) . ": " . ( $settings['show_tables_with_invalid_prefix'] === '1' ? __( 'Yes', 'advanced-database-cleaner' ) : __( 'No', 'advanced-database-cleaner' ) ),
95 __( 'Last successful analytics execution', 'advanced-database-cleaner' ) . ": " . ADBC_Common_Utils::format_timestamp_friendly( $settings['analytics_execution']['success'] ),
96 __( 'Last failed analytics execution', 'advanced-database-cleaner' ) . ": " . ADBC_Common_Utils::format_timestamp_friendly( $settings['analytics_execution']['fail'] ),
97 __( 'Last successful addons activity execution', 'advanced-database-cleaner' ) . ": " . ADBC_Common_Utils::format_timestamp_friendly( $settings['addons_activity_execution']['success'] ),
98 __( 'Last failed addons activity execution', 'advanced-database-cleaner' ) . ": " . ADBC_Common_Utils::format_timestamp_friendly( $settings['addons_activity_execution']['fail'] ),
99 )
100 ),
101 'webserver' => array(
102 'title' => __( 'Webserver', 'advanced-database-cleaner' ),
103 'data' => array(
104 __( 'PHP version', 'advanced-database-cleaner' ) . ": " . phpversion(),
105 __( 'MySQL version', 'advanced-database-cleaner' ) . ": " . $wpdb->db_version(),
106 __( 'Server', 'advanced-database-cleaner' ) . ": " . ( isset( $_SERVER['SERVER_SOFTWARE'] ) ? sanitize_text_field( $_SERVER['SERVER_SOFTWARE'] ) : 'N/A' ),
107 "HTTPS: " . ( isset( $_SERVER['HTTPS'] ) ? __( 'Yes', 'advanced-database-cleaner' ) : __( 'No', 'advanced-database-cleaner' ) ),
108 )
109 ),
110 'php' => array(
111 'title' => __( 'PHP', 'advanced-database-cleaner' ),
112 'data' => array(
113 __( 'Memory Limit', 'advanced-database-cleaner' ) . ": " . ini_get( 'memory_limit' ),
114 __( 'Upload Max Filesize', 'advanced-database-cleaner' ) . ": " . ini_get( 'upload_max_filesize' ),
115 __( 'Post Max Size', 'advanced-database-cleaner' ) . ": " . ini_get( 'post_max_size' ),
116 __( 'Max execution time', 'advanced-database-cleaner' ) . ": " . ini_get( 'max_execution_time' ),
117 "cURL: " . ( function_exists( 'curl_init' ) ? __( 'Supported', 'advanced-database-cleaner' ) : __( 'Not supported', 'advanced-database-cleaner' ) ),
118 )
119 ),
120 'dropins' => array(
121 'title' => __( 'Drop-ins', 'advanced-database-cleaner' ),
122 'data' => ADBC_Plugins::instance()->get_dropins_list()
123 ),
124 'muPlugins' => array(
125 'title' => __( 'Must-use plugins', 'advanced-database-cleaner' ),
126 'data' => ADBC_Plugins::instance()->get_mu_plugins_list()
127 ),
128 'activePlugins' => array(
129 'title' => __( 'Active plugins', 'advanced-database-cleaner' ),
130 'data' => ADBC_Plugins::instance()->get_plugins_list( 'active' )
131 ),
132 'inactivePlugins' => array(
133 'title' => __( 'Inactive plugins', 'advanced-database-cleaner' ),
134 'data' => ADBC_Plugins::instance()->get_plugins_list( 'inactive' )
135 )
136 );
137
138 // If multisite, add the 'networkActivePlugins' key
139 if ( is_multisite() ) {
140 $data['networkActivePlugins'] = array(
141 'title' => __( 'Network active plugins', 'advanced-database-cleaner' ),
142 'data' => ADBC_Plugins::instance()->get_network_active_plugins_list()
143 );
144 }
145
146 return ADBC_Rest::success( "", $data );
147
148 } catch (Exception $e) {
149
150 return ADBC_Rest::error_for_uncaught_exception( __METHOD__, $e );
151
152 }
153 }
154
155 }