diff --git a/includes/admin/views/html-admin-page-status-report.php b/includes/admin/views/html-admin-page-status-report.php index 0df800f3019..8b36f7e98f1 100644 --- a/includes/admin/views/html-admin-page-status-report.php +++ b/includes/admin/views/html-admin-page-status-report.php @@ -22,101 +22,34 @@ if ( ! defined( 'ABSPATH' ) ) { - + : + [?]'; ?> : + [?]'; ?> : + [?]'; ?> version ); ?> : + [?]'; ?> - - : - - - - : - - - - : - - - - : - - - - : - - db_version(); - ?> - - - - : - - - - : - ' . sprintf( __( '%s - We recommend setting memory to at least 64MB. See: Increasing memory allocated to PHP', 'woocommerce' ), size_format( $memory ), 'http://codex.wordpress.org/Editing_wp-config.php#Increasing_memory_allocated_to_PHP' ) . ''; - } else { - echo '' . size_format( $memory ) . ''; - } - ?> - - - : - ' . __( 'Yes', 'woocommerce' ) . ''; else echo '' . __( 'No', 'woocommerce' ) . ''; ?> - - - : - - - - : - - - - - : - - - - : - - - - : - - - - : - - - : + [?]'; ?> ' . __( 'Log directory (%s) is writable.', 'woocommerce' ) . '', WC_LOG_DIR ); @@ -125,8 +58,105 @@ if ( ! defined( 'ABSPATH' ) ) { } ?> + + : + [?]'; ?> + + + + : + [?]'; ?> + + + + : + [?]'; ?> + + + + : + [?]'; ?> + ' . sprintf( __( '%s - We recommend setting memory to at least 64MB. See: Increasing memory allocated to PHP', 'woocommerce' ), size_format( $memory ), 'http://codex.wordpress.org/Editing_wp-config.php#Increasing_memory_allocated_to_PHP' ) . ''; + } else { + echo '' . size_format( $memory ) . ''; + } + ?> + + + : + [?]'; ?> + ' . __( 'Yes', 'woocommerce' ) . ''; else echo '' . __( 'No', 'woocommerce' ) . ''; ?> + + + : + [?]'; ?> + + + + + + + + + + + + + : + [?]'; ?> + + + + : + [?]'; ?> + + + + + : + [?]'; ?> + + + + : + [?]'; ?> + + + + : + [?]'; ?> + + + + : + [?]'; ?> + + + + + : + [?]'; ?> + + db_version(); + ?> + + + + : + [?]'; ?> + + : + [?]'; ?> '; + $posting['fsockopen_curl']['note'] = __( 'Your server does not have fsockopen or cURL enabled - PayPal IPN and other scripts which communicate with other servers will not work. Contact your hosting provider.', 'woocommerce' ). ''; $posting['fsockopen_curl']['success'] = false; } + $posting['fsockopen_curl']['help'] = '[?]'; + // SOAP $posting['soap_client']['name'] = __( 'SOAP Client','woocommerce' ); if ( class_exists( 'SoapClient' ) ) { - $posting['soap_client']['note'] = __( 'Your server has the SOAP Client class enabled.', 'woocommerce' ); + $posting['soap_client']['note'] = __( 'Your server has the SOAP Client class enabled.', 'woocommerce' ); $posting['soap_client']['success'] = true; } else { - $posting['soap_client']['note'] = sprintf( __( 'Your server does not have the SOAP Client class enabled - some gateway plugins which use SOAP may not work as expected.', 'woocommerce' ), 'http://php.net/manual/en/class.soapclient.php' ) . ''; + $posting['soap_client']['note'] = sprintf( __( 'Your server does not have the SOAP Client class enabled - some gateway plugins which use SOAP may not work as expected.', 'woocommerce' ), 'http://php.net/manual/en/class.soapclient.php' ) . ''; $posting['soap_client']['success'] = false; } + $posting['soap_client']['help'] = '[?]'; + // WP Remote Post Check - $posting['wp_remote_post']['name'] = __( 'WP Remote Post','woocommerce'); + $posting['wp_remote_post']['name'] = __( 'Remote Post','woocommerce'); $request['cmd'] = '_notify-validate'; $params = array( - 'sslverify' => false, - 'timeout' => 60, - 'user-agent' => 'WooCommerce/' . WC()->version, - 'body' => $request + 'sslverify' => false, + 'timeout' => 60, + 'user-agent' => 'WooCommerce/' . WC()->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 ) { - $posting['wp_remote_post']['note'] = __( 'wp_remote_post() was successful - PayPal IPN is working.', 'woocommerce' ); + $posting['wp_remote_post']['note'] = __( 'wp_remote_post() was successful - PayPal IPN is working.', 'woocommerce' ); $posting['wp_remote_post']['success'] = true; } elseif ( is_wp_error( $response ) ) { - $posting['wp_remote_post']['note'] = __( 'wp_remote_post() failed. PayPal IPN won\'t work with your server. Contact your hosting provider. Error:', 'woocommerce' ) . ' ' . $response->get_error_message(); + $posting['wp_remote_post']['note'] = __( 'wp_remote_post() failed. PayPal IPN won\'t work with your server. Contact your hosting provider. Error:', 'woocommerce' ) . ' ' . $response->get_error_message(); $posting['wp_remote_post']['success'] = false; } else { - $posting['wp_remote_post']['note'] = __( 'wp_remote_post() failed. PayPal IPN may not work with your server.', 'woocommerce' ); + $posting['wp_remote_post']['note'] = __( 'wp_remote_post() failed. PayPal IPN may not work with your server.', 'woocommerce' ); $posting['wp_remote_post']['success'] = false; } + $posting['wp_remote_post']['help'] = '[?]'; + $posting = apply_filters( 'woocommerce_debug_posting', $posting ); foreach( $posting as $post ) { $mark = ( isset( $post['success'] ) && $post['success'] == true ) ? 'yes' : 'error'; ?> : + @@ -206,29 +243,38 @@ if ( ! defined( 'ABSPATH' ) ) { - + __( 'The character used for decimal points.', 'woocommerce' ), + 'thousands_sep' => __( 'The character used for a thousands separator.', 'woocommerce' ), + 'mon_decimal_point' => __( 'The character used for decimal points in monetary values.', 'woocommerce' ), + 'mon_thousands_sep' => __( 'The character used for a thousands separator in monetary values.', 'woocommerce' ), + ); - foreach ( $locale as $key => $val ) - if ( in_array( $key, array( 'decimal_point', 'mon_decimal_point', 'thousands_sep', 'mon_thousands_sep' ) ) ) - echo '' . $key . ':' . ( $val ? $val : __( 'N/A', 'woocommerce' ) ) . ''; + foreach ( $locale as $key => $val ) { + if ( in_array( $key, array( 'decimal_point', 'mon_decimal_point', 'thousands_sep', 'mon_thousands_sep' ) ) ) { + echo '' . $key . ':[?]' . ( $val ? $val : __( 'N/A', 'woocommerce' ) ) . ''; + } + } ?> - + [?]'; ?> : +   ' ) ) + if ( ! empty( $version_data['version'] ) && version_compare( $version_data['version'], $plugin_data['Version'], '>' ) ) { $version_string = ' – ' . $version_data['version'] . ' ' . __( 'is available', 'woocommerce' ) . ''; + } + + if ( $plugin_data['Network'] != false ) { + $network_string = ' – ' . __( 'Network enabled', 'woocommerce' ) . ''; + } } - $wc_plugins[] = $plugin_name . ' ' . __( 'by', 'woocommerce' ) . ' ' . $plugin_data['Author'] . ' ' . __( 'version', 'woocommerce' ) . ' ' . $plugin_data['Version'] . $version_string; + $wc_plugins[] = $plugin_name . ' ' . __( 'by', 'woocommerce' ) . ' ' . $plugin_data['Author'] . ' ' . __( 'version', 'woocommerce' ) . ' ' . $plugin_data['Version'] . $version_string . $network_string; } } @@ -291,20 +343,61 @@ if ( ! defined( 'ABSPATH' ) ) { - + + + : + [?]'; ?> + '.__( 'Yes', 'woocommerce' ).'' : ''.__( 'No', 'woocommerce' ).''; ?> + + + + [?]'; ?> + ' . __( 'Yes', 'woocommerce' ) . '' : '' . __( 'No', 'woocommerce' ) . ''; ?> + + + + [?]'; ?> + ' . __( 'Yes', 'woocommerce' ) . '' : '' . __( 'No', 'woocommerce' ) . ''; ?> + : - '.__( 'Yes', 'woocommerce' ).'' : ''.__( 'No', 'woocommerce' ).''; ?> + [?]'; ?> + '.__( 'Yes', 'woocommerce' ).'' : ''.__( 'No', 'woocommerce' ).''; ?> + + + + [?]'; ?> + () + + + + [?]'; ?> + + + + + [?]'; ?> + + + + + [?]'; ?> + + + + + [?]'; ?> + - + @@ -312,20 +405,24 @@ if ( ! defined( 'ABSPATH' ) ) { array( - 'option' => 'woocommerce_shop_page_id', - 'shortcode' => '' + 'option' => 'woocommerce_shop_page_id', + 'shortcode' => '', + 'help' => __( 'The URL of your WooCommerce shop\'s homepage (along with the Page ID).', 'woocommerce' ), ), _x( 'Cart', 'Page setting', 'woocommerce' ) => array( - 'option' => 'woocommerce_cart_page_id', - 'shortcode' => '[' . apply_filters( 'woocommerce_cart_shortcode_tag', 'woocommerce_cart' ) . ']' + 'option' => 'woocommerce_cart_page_id', + 'shortcode' => '[' . apply_filters( 'woocommerce_cart_shortcode_tag', 'woocommerce_cart' ) . ']', + 'help' => __( 'The URL of your WooCommerce shop\'s cart (along with the page ID).', 'woocommerce' ), ), _x( 'Checkout', 'Page setting', 'woocommerce' ) => array( - 'option' => 'woocommerce_checkout_page_id', - 'shortcode' => '[' . apply_filters( 'woocommerce_checkout_shortcode_tag', 'woocommerce_checkout' ) . ']' + 'option' => 'woocommerce_checkout_page_id', + 'shortcode' => '[' . apply_filters( 'woocommerce_checkout_shortcode_tag', 'woocommerce_checkout' ) . ']', + 'help' => __( 'The URL of your WooCommerce shop\'s checkout (along with the page ID).', 'woocommerce' ), ), _x( 'My Account', 'Page setting', 'woocommerce' ) => array( - 'option' => 'woocommerce_myaccount_page_id', - 'shortcode' => '[' . apply_filters( 'woocommerce_my_account_shortcode_tag', 'woocommerce_my_account' ) . ']' + 'option' => 'woocommerce_myaccount_page_id', + 'shortcode' => '[' . apply_filters( 'woocommerce_my_account_shortcode_tag', 'woocommerce_my_account' ) . ']', + 'help' => __( 'The URL of your WooCommerce shop\'s “My Account” Page (along with the page ID).', 'woocommerce' ), ) ); @@ -333,9 +430,8 @@ if ( ! defined( 'ABSPATH' ) ) { foreach ( $check_pages as $page_name => $values ) { - if ( $alt == 1 ) echo ''; else echo ''; - - echo '' . esc_html( $page_name ) . ':'; + echo '' . esc_html( $page_name ) . ':'; + echo '[?]'; $error = false; @@ -369,26 +465,25 @@ if ( ! defined( 'ABSPATH' ) ) { if ( ! $error ) echo '#' . absint( $page_id ) . ' - ' . str_replace( home_url(), '', get_permalink( $page_id ) ) . ''; echo ''; - - $alt = $alt * -1; } ?> - + [?]'; ?> : +   0 ) ); foreach ( $terms as $term ) - $display_terms[] = $term->name . ' (' . $term->slug . ')'; + $display_terms[] = strtolower( $term->name ) . ' (' . $term->slug . ')'; echo implode( ', ', array_map( 'esc_html', $display_terms ) ); ?> @@ -396,7 +491,7 @@ if ( ! defined( 'ABSPATH' ) ) { - + @@ -415,7 +510,7 @@ if ( ! defined( 'ABSPATH' ) ) { foreach ( $cl_lines as $line_num => $cl_line ) { if ( preg_match( '/^[0-9]/', $cl_line ) ) : - $theme_date = str_replace( '.' , '-' , trim( substr( $cl_line , 0 , strpos( $cl_line , '-' ) ) ) ); + $theme_date = str_replace( '.' , '-' , trim( substr( $cl_line , 0 , strpos( $cl_line , '-' ) ) ) ); $theme_version = preg_replace( '~[^0-9,.]~' , '' ,stristr( $cl_line , "version" ) ); $theme_update = trim( str_replace( "*" , "" , $cl_lines[ $line_num + 1 ] ) ); $theme_version_data = array( 'date' => $theme_date , 'version' => $theme_version , 'update' => $theme_update , 'changelog' => $theme_changelog ); @@ -434,28 +529,31 @@ if ( ! defined( 'ABSPATH' ) ) { : - Name; - ?> + [?]'; ?> + Name; ?> : + [?]'; ?> Version; - if ( ! empty( $theme_version_data['version'] ) && version_compare( $theme_version_data['version'], $active_theme->Version, '!=' ) ) + if ( ! empty( $theme_version_data['version'] ) && version_compare( $theme_version_data['version'], $active_theme->Version, '!=' ) ) { echo ' – ' . $theme_version_data['version'] . ' ' . __( 'is available', 'woocommerce' ) . ''; + } ?> : - {'Author URI'}; - ?> + [?]'; ?> + {'Author URI'}; ?> : - '.__( 'Yes', 'woocommerce' ).'' : ''.__( 'No', 'woocommerce' ).''; ?> + [?]'; ?> + ' . __( 'Yes', 'woocommerce' ) . '' : '' . __( 'No', 'woocommerce' ) . '' . sprintf( __( 'We recommend using a child theme. See: How to create a child theme', 'woocommerce' ), 'http://codex.wordpress.org/Child_Themes' ) . ''; + ?> : + [?]'; ?> Name; ?> : + [?]'; ?> Version; ?> : - {'Author URI'}; - ?> + [?]'; ?> + {'Author URI'}; ?> : + [?]'; ?> template, wc_get_core_supported_themes() ) ) { echo '' . __( 'Not Declared', 'woocommerce' ) . ''; @@ -486,20 +586,34 @@ if ( ! defined( 'ABSPATH' ) ) { } ?> + : + [?]'; ?> + template ) . '/custom.css' ) ) { + echo '' . __( 'Yes', 'woocommerce' ) . ''; + } else { + echo '' . __( 'No', 'woocommerce' ) . ''; + } + ?> + + + + - + [?]'; ?> WC()->plugin_path() . '/templates/' ) ); - $scanned_files = array(); - $found_files = array(); + $template_paths = apply_filters( 'woocommerce_template_overrides_scan_paths', array( 'WooCommerce' => WC()->plugin_path() . '/templates/' ) ); + $scanned_files = array(); + $found_files = array(); + $outdated_templates = false; foreach ( $template_paths as $plugin_name => $template_path ) { $scanned_files[ $plugin_name ] = WC_Admin_Status::scan_template_files( $template_path ); @@ -524,6 +638,9 @@ if ( ! defined( 'ABSPATH' ) ) { $theme_version = WC_Admin_Status::get_file_version( $theme_file ); if ( $core_version && ( empty( $theme_version ) || version_compare( $theme_version, $core_version, '<' ) ) ) { + if ( ! $outdated_templates ) { + $outdated_templates = true; + } $found_files[ $plugin_name ][] = sprintf( __( '%s version %s is out of date. The core version is %s', 'woocommerce' ), str_replace( WP_CONTENT_DIR . '/themes/', '', $theme_file ), $theme_version ? $theme_version : '-', $core_version ); } else { $found_files[ $plugin_name ][] = sprintf( '%s', str_replace( WP_CONTENT_DIR . '/themes/', '', $theme_file ) ); @@ -537,6 +654,7 @@ if ( ! defined( 'ABSPATH' ) ) { ?> (): +   ', $found_plugin_files ); ?> : +   + +   +   + + + @@ -579,6 +708,8 @@ if ( ! defined( 'ABSPATH' ) ) { return o; }; + jQuery( 'a.help_tip' ).click(function() { return false; }); + jQuery( 'a.debug-report' ).click(function(){ var report = ""; @@ -594,7 +725,7 @@ if ( ! defined( 'ABSPATH' ) ) { jQuery('tr', jQuery( this ) ).each(function(){ var the_name = jQuery.wc_strPad( jQuery.trim( jQuery( this ).find( 'td:eq(0)' ).text() ), 25, ' ' ); - var the_value = jQuery.trim( jQuery( this ).find( 'td:eq(1)' ).text() ); + var the_value = jQuery.trim( jQuery( this ).find( 'td:eq(2)' ).text() ); var value_array = the_value.split( ', ' ); if ( value_array.length > 1 ) {