Amazon_S3_And_CloudFront::output_diagnostic_info PHP Method

output_diagnostic_info() public method

Diagnostic information for the support tab
public output_diagnostic_info ( boolean $escape = true ) : string
$escape boolean
return string
    function output_diagnostic_info($escape = true)
    {
        global $table_prefix;
        global $wpdb;
        $output = 'site_url(): ';
        $output .= esc_html(site_url());
        $output .= "\r\n";
        $output .= 'home_url(): ';
        $output .= esc_html(home_url());
        $output .= "\r\n";
        $output .= 'Database Name: ';
        $output .= esc_html($wpdb->dbname);
        $output .= "\r\n";
        $output .= 'Table Prefix: ';
        $output .= esc_html($table_prefix);
        $output .= "\r\n";
        $output .= 'WordPress: ';
        $output .= get_bloginfo('version', 'display');
        if (is_multisite()) {
            $output .= ' Multisite';
            $output .= "\r\n";
            $output .= 'Multisite Site Count: ';
            $output .= esc_html(get_blog_count());
        }
        $output .= "\r\n";
        $output .= 'Web Server: ';
        $output .= esc_html(!empty($_SERVER['SERVER_SOFTWARE']) ? $_SERVER['SERVER_SOFTWARE'] : '');
        $output .= "\r\n";
        $output .= 'PHP: ';
        if (function_exists('phpversion')) {
            $output .= esc_html(phpversion());
        }
        $output .= "\r\n";
        $output .= 'MySQL: ';
        $output .= esc_html($wpdb->db_version());
        $output .= "\r\n";
        $output .= 'ext/mysqli: ';
        $output .= empty($wpdb->use_mysqli) ? 'no' : 'yes';
        $output .= "\r\n";
        $output .= 'PHP Memory Limit: ';
        if (function_exists('ini_get')) {
            $output .= esc_html(ini_get('memory_limit'));
        }
        $output .= "\r\n";
        $output .= 'WP Memory Limit: ';
        $output .= esc_html(WP_MEMORY_LIMIT);
        $output .= "\r\n";
        $output .= 'Memory Usage: ';
        $output .= size_format(memory_get_usage(true));
        $output .= "\r\n";
        $output .= 'Blocked External HTTP Requests: ';
        if (!defined('WP_HTTP_BLOCK_EXTERNAL') || !WP_HTTP_BLOCK_EXTERNAL) {
            $output .= 'None';
        } else {
            $accessible_hosts = defined('WP_ACCESSIBLE_HOSTS') ? WP_ACCESSIBLE_HOSTS : '';
            if (empty($accessible_hosts)) {
                $output .= 'ALL';
            } else {
                $output .= 'Partially (Accessible Hosts: ' . esc_html($accessible_hosts) . ')';
            }
        }
        $output .= "\r\n";
        $output .= 'WP Locale: ';
        $output .= esc_html(get_locale());
        $output .= "\r\n";
        $output .= 'Organize uploads by month/year: ';
        $output .= esc_html(get_option('uploads_use_yearmonth_folders') ? 'Enabled' : 'Disabled');
        $output .= "\r\n";
        $output .= 'WP_DEBUG: ';
        $output .= esc_html(defined('WP_DEBUG') && WP_DEBUG ? 'Yes' : 'No');
        $output .= "\r\n";
        $output .= 'WP_DEBUG_LOG: ';
        $output .= esc_html(defined('WP_DEBUG_LOG') && WP_DEBUG_LOG ? 'Yes' : 'No');
        $output .= "\r\n";
        $output .= 'WP_DEBUG_DISPLAY: ';
        $output .= esc_html(defined('WP_DEBUG_DISPLAY') && WP_DEBUG_DISPLAY ? 'Yes' : 'No');
        $output .= "\r\n";
        $output .= 'SCRIPT_DEBUG: ';
        $output .= esc_html(defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? 'Yes' : 'No');
        $output .= "\r\n";
        $output .= 'WP Max Upload Size: ';
        $output .= esc_html(size_format(wp_max_upload_size()));
        $output .= "\r\n";
        $output .= 'PHP Time Limit: ';
        if (function_exists('ini_get')) {
            $output .= esc_html(ini_get('max_execution_time'));
        }
        $output .= "\r\n";
        $output .= 'PHP Error Log: ';
        if (function_exists('ini_get')) {
            $output .= esc_html(ini_get('error_log'));
        }
        $output .= "\r\n";
        $output .= 'WP Cron: ';
        $output .= esc_html(defined('DISABLE_WP_CRON') && DISABLE_WP_CRON ? 'Disabled' : 'Enabled');
        $output .= "\r\n";
        $output .= 'fsockopen: ';
        if (function_exists('fsockopen')) {
            $output .= 'Enabled';
        } else {
            $output .= 'Disabled';
        }
        $output .= "\r\n";
        $output .= 'allow_url_fopen: ';
        $allow_url_fopen = ini_get('allow_url_fopen');
        if (empty($allow_url_fopen)) {
            $output .= 'Disabled';
        } else {
            $output .= 'Enabled';
        }
        $output .= "\r\n";
        $output .= 'OpenSSL: ';
        if ($this->open_ssl_enabled()) {
            $output .= esc_html(OPENSSL_VERSION_TEXT);
        } else {
            $output .= 'Disabled';
        }
        $output .= "\r\n";
        $output .= 'cURL: ';
        if (function_exists('curl_init')) {
            $output .= 'Enabled';
        } else {
            $output .= 'Disabled';
        }
        $output .= "\r\n";
        $output .= 'Zlib Compression: ';
        if (function_exists('gzcompress')) {
            $output .= 'Enabled';
        } else {
            $output .= 'Disabled';
        }
        $output .= "\r\n";
        $output .= 'PHP GD: ';
        if ($this->gd_enabled()) {
            $gd_info = gd_info();
            $output .= isset($gd_info['GD Version']) ? esc_html($gd_info['GD Version']) : 'Enabled';
        } else {
            $output .= 'Disabled';
        }
        $output .= "\r\n";
        $output .= 'Imagick: ';
        if ($this->imagick_enabled()) {
            $output .= 'Enabled';
        } else {
            $output .= 'Disabled';
        }
        $output .= "\r\n";
        $output .= 'Basic Auth: ';
        if (isset($_SERVER['REMOTE_USER']) || isset($_SERVER['PHP_AUTH_USER']) || isset($_SERVER['REDIRECT_REMOTE_USER'])) {
            $output .= 'Enabled';
        } else {
            $output .= 'Disabled';
        }
        $output .= "\r\n";
        $output .= 'Proxy: ';
        if (defined('WP_PROXY_HOST') || defined('WP_PROXY_PORT')) {
            $output .= 'Enabled';
        } else {
            $output .= 'Disabled';
        }
        $output .= "\r\n\r\n";
        $media_counts = $this->diagnostic_media_counts();
        $output .= 'Media Files: ';
        $output .= number_format_i18n($media_counts['all']);
        $output .= "\r\n";
        $output .= 'Media Files on S3: ';
        $output .= number_format_i18n($media_counts['s3']);
        $output .= "\r\n";
        $output .= 'Number of Image Sizes: ';
        $sizes = count(get_intermediate_image_sizes());
        $output .= number_format_i18n($sizes);
        $output .= "\r\n\r\n";
        $output .= 'Names and Dimensions of Image Sizes: ';
        $output .= "\r\n";
        $size_details = $this->get_image_sizes_details();
        $output .= $size_details;
        $output .= "\r\n";
        $output .= 'WP_CONTENT_DIR: ';
        $output .= esc_html(defined('WP_CONTENT_DIR') ? WP_CONTENT_DIR : 'Not defined');
        $output .= "\r\n";
        $output .= 'WP_CONTENT_URL: ';
        $output .= esc_html(defined('WP_CONTENT_URL') ? WP_CONTENT_URL : 'Not defined');
        $output .= "\r\n";
        $output .= 'UPLOADS: ';
        $output .= esc_html(defined('UPLOADS') ? UPLOADS : 'Not defined');
        $output .= "\r\n";
        $output .= 'WP_PLUGIN_DIR: ';
        $output .= esc_html(defined('WP_PLUGIN_DIR') ? WP_PLUGIN_DIR : 'Not defined');
        $output .= "\r\n";
        $output .= 'WP_PLUGIN_URL: ';
        $output .= esc_html(defined('WP_PLUGIN_URL') ? WP_PLUGIN_URL : 'Not defined');
        $output .= "\r\n\r\n";
        $output .= 'AWS_USE_EC2_IAM_ROLE: ';
        $output .= esc_html(defined('AWS_USE_EC2_IAM_ROLE') ? AWS_USE_EC2_IAM_ROLE : 'Not defined');
        $output .= "\r\n";
        $output .= 'AS3CF_BUCKET: ';
        $output .= esc_html(defined('AS3CF_BUCKET') ? AS3CF_BUCKET : 'Not defined');
        $output .= "\r\n";
        $output .= 'AS3CF_ASSETS_BUCKET: ';
        $output .= esc_html(defined('AS3CF_ASSETS_BUCKET') ? AS3CF_ASSETS_BUCKET : 'Not defined');
        $output .= "\r\n";
        $output .= 'AS3CF_REGION: ';
        $output .= esc_html(defined('AS3CF_REGION') ? AS3CF_REGION : 'Not defined');
        $output .= "\r\n\r\n";
        $output .= 'Bucket: ';
        $output .= $this->get_setting('bucket');
        $output .= "\r\n";
        $output .= 'Region: ';
        $region = $this->get_setting('region');
        if (!is_wp_error($region)) {
            $output .= $region;
        }
        $output .= "\r\n";
        $output .= 'Copy Files to S3: ';
        $output .= $this->on_off('copy-to-s3');
        $output .= "\r\n";
        $output .= 'Rewrite File URLs: ';
        $output .= $this->on_off('serve-from-s3');
        $output .= "\r\n";
        $output .= "\r\n";
        $output .= "Local URL:\r\n";
        $output .= $this->get_local_url_preview($escape);
        $output .= "\r\n";
        $output .= "S3 URL:\r\n";
        $output .= $this->get_url_preview($escape);
        $output .= "\r\n";
        $output .= "\r\n";
        $output .= 'Domain: ';
        $output .= $this->get_setting('domain');
        $output .= "\r\n";
        $output .= 'Enable Path: ';
        $output .= $this->on_off('enable-object-prefix');
        $output .= "\r\n";
        $output .= 'Custom Path: ';
        $output .= $this->get_setting('object-prefix');
        $output .= "\r\n";
        $output .= 'Use Year/Month: ';
        $output .= $this->on_off('use-yearmonth-folders');
        $output .= "\r\n";
        $output .= 'Force HTTPS: ';
        $output .= $this->on_off('force-https');
        $output .= "\r\n";
        $output .= 'Remove Files From Server: ';
        $output .= $this->on_off('remove-local-file');
        $output .= "\r\n";
        $output .= 'Object Versioning: ';
        $output .= $this->on_off('object-versioning');
        $output .= "\r\n\r\n";
        $output = apply_filters('as3cf_diagnostic_info', $output);
        if (has_action('as3cf_diagnostic_info')) {
            $output .= "\r\n";
        }
        $theme_info = wp_get_theme();
        $output .= "Active Theme Name: " . esc_html($theme_info->get('Name')) . "\r\n";
        $output .= "Active Theme Folder: " . esc_html(basename($theme_info->get_stylesheet_directory())) . "\r\n";
        if ($theme_info->get('Template')) {
            $output .= "Parent Theme Folder: " . esc_html($theme_info->get('Template')) . "\r\n";
        }
        if (!file_exists($theme_info->get_stylesheet_directory())) {
            $output .= "WARNING: Active Theme Folder Not Found\r\n";
        }
        $output .= "\r\n";
        $output .= "Active Plugins:\r\n";
        $active_plugins = (array) get_option('active_plugins', array());
        $plugin_details = array();
        if (is_multisite()) {
            $network_active_plugins = wp_get_active_network_plugins();
            $active_plugins = array_map(array($this, 'remove_wp_plugin_dir'), $network_active_plugins);
        }
        foreach ($active_plugins as $plugin) {
            $plugin_details[] = $this->get_plugin_details(WP_PLUGIN_DIR . '/' . $plugin);
        }
        asort($plugin_details);
        $output .= implode('', $plugin_details);
        $mu_plugins = wp_get_mu_plugins();
        if ($mu_plugins) {
            $mu_plugin_details = array();
            $output .= "\r\n";
            $output .= "Must-use Plugins:\r\n";
            foreach ($mu_plugins as $mu_plugin) {
                $mu_plugin_details[] = $this->get_plugin_details($mu_plugin);
            }
            asort($mu_plugin_details);
            $output .= implode('', $mu_plugin_details);
        }
        return $output;
    }
Amazon_S3_And_CloudFront