/**
 * System info
 *
 * Shows the system info panel which contains version data and debug info
 *
 * @since   1.4
 * @usedby   edd_settings()
 * @author   Chris Christoff
 */
function edd_system_info()
{
    global $wpdb;
    if (!class_exists('Browser')) {
        require_once EDD_PLUGIN_DIR . 'includes/libraries/browser.php';
    }
    $browser = new Browser();
    ?>
	<div class="wrap">
		<h2><?php 
    _e('System Information', 'edd');
    ?>
</h2><br/>
		<form action="edit.php?post_type=download&page=edd-system-info" method="post">
			<textarea readonly="readonly" id="system-info-textarea" name="edd-sysinfo" title="<?php 
    _e('To copy the system info, click below then press Ctrl + C (PC) or Cmd + C (Mac).', 'edd');
    ?>
">
### Begin System Info ###

## Please include this information when posting support requests ##

Multi-site:               <?php 
    echo is_multisite() ? 'Yes' . "\n" : 'No' . "\n";
    ?>

SITE_URL:                 <?php 
    echo site_url() . "\n";
    ?>
HOME_URL:                 <?php 
    echo home_url() . "\n";
    ?>

EDD Version:              <?php 
    echo EDD_VERSION . "\n";
    ?>
WordPress Version:        <?php 
    echo get_bloginfo('version') . "\n";
    ?>

<?php 
    echo $browser;
    ?>

PHP Version:              <?php 
    echo PHP_VERSION . "\n";
    ?>
MySQL Version:            <?php 
    echo mysql_get_server_info() . "\n";
    ?>
Web Server Info:          <?php 
    echo $_SERVER['SERVER_SOFTWARE'] . "\n";
    ?>

PHP Memory Limit:         <?php 
    echo ini_get('memory_limit') . "\n";
    ?>
PHP Post Max Size:        <?php 
    echo ini_get('post_max_size') . "\n";
    ?>

WP_DEBUG:                 <?php 
    echo defined('WP_DEBUG') ? WP_DEBUG ? 'Enabled' . "\n" : 'Disabled' . "\n" : 'Not set' . "\n";
    ?>

WP Table Prefix:          <?php 
    echo "Length: " . strlen($wpdb->prefix);
    echo " Status:";
    if (strlen($wpdb->prefix) > 16) {
        echo " ERROR: Too Long";
    } else {
        echo " Acceptable";
    }
    echo "\n";
    ?>

Show On Front:            <?php 
    echo get_option('show_on_front') . "\n";
    ?>
Page On Front:            <?php 
    $id = get_option('page_on_front');
    echo get_the_title($id) . ' #' . $id . "\n";
    ?>
Page For Posts:           <?php 
    $id = get_option('page_on_front');
    echo get_the_title($id) . ' #' . $id . "\n";
    ?>

Session:                  <?php 
    echo isset($_SESSION) ? 'Enabled' : 'Disabled';
    echo "\n";
    ?>
Session Name:             <?php 
    echo esc_html(ini_get('session.name'));
    echo "\n";
    ?>
Cookie Path:              <?php 
    echo esc_html(ini_get('session.cookie_path'));
    echo "\n";
    ?>
Save Path:                <?php 
    echo esc_html(ini_get('session.save_path'));
    echo "\n";
    ?>
Use Cookies:              <?php 
    echo ini_get('session.use_cookies') ? 'On' : 'Off';
    echo "\n";
    ?>
Use Only Cookies:         <?php 
    echo ini_get('session.use_only_cookies') ? 'On' : 'Off';
    echo "\n";
    ?>

UPLOAD_MAX_FILESIZE:      <?php 
    if (function_exists('phpversion')) {
        echo edd_let_to_num(ini_get('upload_max_filesize')) / (1024 * 1024) . "MB";
    }
    echo "\n";
    ?>
POST_MAX_SIZE:            <?php 
    if (function_exists('phpversion')) {
        echo edd_let_to_num(ini_get('post_max_size')) / (1024 * 1024) . "MB";
    }
    echo "\n";
    ?>
WordPress Memory Limit:   <?php 
    echo edd_let_to_num(WP_MEMORY_LIMIT) / (1024 * 1024) . "MB";
    echo "\n";
    ?>
WP_DEBUG:                 <?php 
    echo WP_DEBUG ? __('On', 'edd') : __('Off', 'edd');
    echo "\n";
    ?>
DISPLAY ERRORS:           <?php 
    echo ini_get('display_errors') ? 'On (' . ini_get('display_errors') . ')' : 'N/A';
    echo "\n";
    ?>
FSOCKOPEN:                <?php 
    echo function_exists('fsockopen') ? __('Your server supports fsockopen.', 'edd') : __('Your server does not support fsockopen.', 'edd');
    echo "\n";
    ?>

ACTIVE PLUGINS:

<?php 
    $plugins = get_plugins();
    $active_plugins = get_option('active_plugins', array());
    foreach ($plugins as $plugin_path => $plugin) {
        // If the plugin isn't active, don't show it.
        if (!in_array($plugin_path, $active_plugins)) {
            continue;
        }
        echo $plugin['Name'];
        ?>
: <?php 
        echo $plugin['Version'];
    }
    ?>

CURRENT THEME:

<?php 
    if (get_bloginfo('version') < '3.4') {
        $theme_data = get_theme_data(get_stylesheet_directory() . '/style.css');
        echo $theme_data['Name'] . ': ' . $theme_data['Version'];
    } else {
        $theme_data = wp_get_theme();
        echo $theme_data->Name . ': ' . $theme_data->Version;
    }
    ?>


### End System Info ###
			</textarea>
			<p class="submit">
				<input type="hidden" name="edd-action" value="download_sysinfo" />
				<?php 
    submit_button(__('Download System Info File', 'edd'), 'primary', 'edd-download-sysinfo', false);
    ?>
			</p>
		</form>
		</div>
	</div>
<?php 
}
Пример #2
0
/**
 * System info
 *
 * Shows the system info panel which contains version data and debug info.
 * The data for the system info is generated by the Browser class.
 *
 * @since 1.4
 * @global $wpdb
 * @global object $wpdb Used to query the database using the WordPress
 *   Database API
 * @global $edd_options Array of all the EDD Options
 * @author Chris Christoff
 * @return void
 */
function edd_system_info()
{
    global $wpdb, $edd_options;
    if (!class_exists('Browser')) {
        require_once EDD_PLUGIN_DIR . 'includes/libraries/browser.php';
    }
    $browser = new Browser();
    if (get_bloginfo('version') < '3.4') {
        $theme_data = get_theme_data(get_stylesheet_directory() . '/style.css');
        $theme = $theme_data['Name'] . ' ' . $theme_data['Version'];
    } else {
        $theme_data = wp_get_theme();
        $theme = $theme_data->Name . ' ' . $theme_data->Version;
    }
    // Try to identifty the hosting provider
    $host = false;
    if (defined('WPE_APIKEY')) {
        $host = 'WP Engine';
    } elseif (defined('PAGELYBIN')) {
        $host = 'Pagely';
    }
    ?>
	<div class="wrap">
		<h2><?php 
    _e('System Information', 'edd');
    ?>
</h2><br/>
		<form action="<?php 
    echo esc_url(admin_url('edit.php?post_type=download&page=edd-system-info'));
    ?>
" method="post" dir="ltr">
			<textarea readonly="readonly" onclick="this.focus();this.select()" id="system-info-textarea" name="edd-sysinfo" title="<?php 
    _e('To copy the system info, click below then press Ctrl + C (PC) or Cmd + C (Mac).', 'edd');
    ?>
">
### Begin System Info ###

## Please include this information when posting support requests ##

<?php 
    do_action('edd_system_info_before');
    ?>

Multisite:                <?php 
    echo is_multisite() ? 'Yes' . "\n" : 'No' . "\n";
    ?>

SITE_URL:                 <?php 
    echo site_url() . "\n";
    ?>
HOME_URL:                 <?php 
    echo home_url() . "\n";
    ?>

EDD Version:              <?php 
    echo EDD_VERSION . "\n";
    ?>
Upgraded From:            <?php 
    echo get_option('edd_version_upgraded_from', 'None') . "\n";
    ?>
WordPress Version:        <?php 
    echo get_bloginfo('version') . "\n";
    ?>
Permalink Structure:      <?php 
    echo get_option('permalink_structure') . "\n";
    ?>
Active Theme:             <?php 
    echo $theme . "\n";
    if ($host) {
        ?>
Host:                     <?php 
        echo $host . "\n";
    }
    ?>

Test Mode Enabled:        <?php 
    echo edd_is_test_mode() ? "Yes\n" : "No\n";
    ?>
Ajax Enabled:             <?php 
    echo edd_is_ajax_enabled() ? "Yes\n" : "No\n";
    ?>
Guest Checkout Enabled:   <?php 
    echo edd_no_guest_checkout() ? "No\n" : "Yes\n";
    ?>
Symlinks Enabled:         <?php 
    echo apply_filters('edd_symlink_file_downloads', isset($edd_options['symlink_file_downloads'])) && function_exists('symlink') ? "Yes\n" : "No\n";
    ?>

Checkout is:              <?php 
    echo !empty($edd_options['purchase_page']) ? "Valid\n" : "Invalid\n";
    ?>
Checkout Page:            <?php 
    echo !empty($edd_options['purchase_page']) ? get_permalink($edd_options['purchase_page']) . "\n" : "\n";
    ?>
Success Page:             <?php 
    echo !empty($edd_options['success_page']) ? get_permalink($edd_options['success_page']) . "\n" : "\n";
    ?>
Failure Page:             <?php 
    echo !empty($edd_options['failure_page']) ? get_permalink($edd_options['failure_page']) . "\n" : "\n";
    ?>
Downloads slug:           <?php 
    echo defined('EDD_SLUG') ? '/' . EDD_SLUG . "\n" : "/downloads\n";
    ?>

Taxes Enabled:            <?php 
    echo edd_use_taxes() ? "Yes\n" : "No\n";
    ?>
Taxes After Discounts:    <?php 
    echo edd_taxes_after_discounts() ? "Yes\n" : "No\n";
    ?>
Tax Rate:                 <?php 
    echo edd_get_tax_rate() * 100;
    ?>
%
Country / State Rates:    <?php 
    $rates = edd_get_tax_rates();
    if (!empty($rates)) {
        foreach ($rates as $rate) {
            echo 'Country: ' . $rate['country'] . ', State: ' . $rate['state'] . ', Rate: ' . $rate['rate'] . ' | ';
        }
    }
    ?>

Registered Post Stati:    <?php 
    echo implode(', ', get_post_stati()) . "\n\n";
    ?>

<?php 
    echo $browser;
    ?>

PHP Version:              <?php 
    echo PHP_VERSION . "\n";
    ?>
MySQL Version:            <?php 
    echo mysql_get_server_info() . "\n";
    ?>
Web Server Info:          <?php 
    echo $_SERVER['SERVER_SOFTWARE'] . "\n";
    ?>

WordPress Memory Limit:   <?php 
    echo edd_let_to_num(WP_MEMORY_LIMIT) / 1024 . "MB";
    echo "\n";
    ?>
PHP Safe Mode:            <?php 
    echo ini_get('safe_mode') ? "Yes" : "No\n";
    ?>
PHP Memory Limit:         <?php 
    echo ini_get('memory_limit') . "\n";
    ?>
PHP Upload Max Size:      <?php 
    echo ini_get('upload_max_filesize') . "\n";
    ?>
PHP Post Max Size:        <?php 
    echo ini_get('post_max_size') . "\n";
    ?>
PHP Upload Max Filesize:  <?php 
    echo ini_get('upload_max_filesize') . "\n";
    ?>
PHP Time Limit:           <?php 
    echo ini_get('max_execution_time') . "\n";
    ?>
PHP Max Input Vars:       <?php 
    echo ini_get('max_input_vars') . "\n";
    ?>
PHP Arg Separator:        <?php 
    echo ini_get('arg_separator.output') . "\n";
    ?>
PHP Allow URL File Open:  <?php 
    echo ini_get('allow_url_fopen') ? "Yes" : "No\n";
    ?>

WP_DEBUG:                 <?php 
    echo defined('WP_DEBUG') ? WP_DEBUG ? 'Enabled' . "\n" : 'Disabled' . "\n" : 'Not set' . "\n";
    ?>

WP Table Prefix:          <?php 
    echo "Length: " . strlen($wpdb->prefix);
    echo " Status:";
    if (strlen($wpdb->prefix) > 16) {
        echo " ERROR: Too Long";
    } else {
        echo " Acceptable";
    }
    echo "\n";
    ?>

Show On Front:            <?php 
    echo get_option('show_on_front') . "\n";
    ?>
Page On Front:            <?php 
    $id = get_option('page_on_front');
    echo get_the_title($id) . ' (#' . $id . ')' . "\n";
    ?>
Page For Posts:           <?php 
    $id = get_option('page_for_posts');
    echo get_the_title($id) . ' (#' . $id . ')' . "\n";
    ?>

<?php 
    $request['cmd'] = '_notify-validate';
    $params = array('sslverify' => false, 'timeout' => 60, 'user-agent' => 'EDD/' . EDD_VERSION, 'body' => $request);
    $response = wp_remote_post('https://www.paypal.com/cgi-bin/webscr', $params);
    if (!is_wp_error($response) && $response['response']['code'] >= 200 && $response['response']['code'] < 300) {
        $WP_REMOTE_POST = 'wp_remote_post() works' . "\n";
    } else {
        $WP_REMOTE_POST = 'wp_remote_post() does not work' . "\n";
    }
    ?>
WP Remote Post:           <?php 
    echo $WP_REMOTE_POST;
    ?>

Session:                  <?php 
    echo isset($_SESSION) ? 'Enabled' : 'Disabled';
    echo "\n";
    ?>
Session Name:             <?php 
    echo esc_html(ini_get('session.name'));
    echo "\n";
    ?>
Cookie Path:              <?php 
    echo esc_html(ini_get('session.cookie_path'));
    echo "\n";
    ?>
Save Path:                <?php 
    echo esc_html(ini_get('session.save_path'));
    echo "\n";
    ?>
Use Cookies:              <?php 
    echo ini_get('session.use_cookies') ? 'On' : 'Off';
    echo "\n";
    ?>
Use Only Cookies:         <?php 
    echo ini_get('session.use_only_cookies') ? 'On' : 'Off';
    echo "\n";
    ?>

DISPLAY ERRORS:           <?php 
    echo ini_get('display_errors') ? 'On (' . ini_get('display_errors') . ')' : 'N/A';
    echo "\n";
    ?>
FSOCKOPEN:                <?php 
    echo function_exists('fsockopen') ? 'Your server supports fsockopen.' : 'Your server does not support fsockopen.';
    echo "\n";
    ?>
cURL:                     <?php 
    echo function_exists('curl_init') ? 'Your server supports cURL.' : 'Your server does not support cURL.';
    echo "\n";
    ?>
SOAP Client:              <?php 
    echo class_exists('SoapClient') ? 'Your server has the SOAP Client enabled.' : 'Your server does not have the SOAP Client enabled.';
    echo "\n";
    ?>
SUHOSIN:                  <?php 
    echo extension_loaded('suhosin') ? 'Your server has SUHOSIN installed.' : 'Your server does not have SUHOSIN installed.';
    echo "\n";
    ?>

TEMPLATES:

<?php 
    // Show templates that have been copied to the theme's edd_templates dir
    $dir = get_stylesheet_directory() . '/edd_templates/*';
    if (!empty($dir)) {
        foreach (glob($dir) as $file) {
            echo "Filename: " . basename($file) . "\n";
        }
    } else {
        echo 'No overrides found';
    }
    ?>

ACTIVE PLUGINS:

<?php 
    $plugins = get_plugins();
    $active_plugins = get_option('active_plugins', array());
    foreach ($plugins as $plugin_path => $plugin) {
        // If the plugin isn't active, don't show it.
        if (!in_array($plugin_path, $active_plugins)) {
            continue;
        }
        echo $plugin['Name'] . ': ' . $plugin['Version'] . "\n";
    }
    if (is_multisite()) {
        ?>

NETWORK ACTIVE PLUGINS:

<?php 
        $plugins = wp_get_active_network_plugins();
        $active_plugins = get_site_option('active_sitewide_plugins', array());
        foreach ($plugins as $plugin_path) {
            $plugin_base = plugin_basename($plugin_path);
            // If the plugin isn't active, don't show it.
            if (!array_key_exists($plugin_base, $active_plugins)) {
                continue;
            }
            $plugin = get_plugin_data($plugin_path);
            echo $plugin['Name'] . ' :' . $plugin['Version'] . "\n";
        }
    }
    do_action('edd_system_info_after');
    ?>
### End System Info ###</textarea>
			<p class="submit">
				<input type="hidden" name="edd-action" value="download_sysinfo" />
				<?php 
    submit_button('Download System Info File', 'primary', 'edd-download-sysinfo', false);
    ?>
			</p>
		</form>
		</div>
	</div>
<?php 
}