is_support_open ); } catch ( Exception $e ) { return true; } } public static function jetpack_increase_timeout() { return 30; // seconds } public static function jetpack_debug_display_handler() { if ( ! current_user_can( 'manage_options' ) ) wp_die( esc_html__('You do not have sufficient permissions to access this page.', 'jetpack' ) ); $current_user = wp_get_current_user(); $user_id = get_current_user_id(); $user_tokens = Jetpack_Options::get_option( 'user_tokens' ); if ( is_array( $user_tokens ) && array_key_exists( $user_id, $user_tokens ) ) { $user_token = $user_tokens[$user_id]; } else { $user_token = '[this user has no token]'; } unset( $user_tokens ); $debug_info = "\r\n"; foreach ( array( 'CLIENT_ID' => 'id', 'BLOG_TOKEN' => 'blog_token', 'MASTER_USER' => 'master_user', 'CERT' => 'fallback_no_verify_ssl_certs', 'TIME_DIFF' => 'time_diff', 'VERSION' => 'version', 'OLD_VERSION' => 'old_version', 'PUBLIC' => 'public', ) as $label => $option_name ) { $debug_info .= "\r\n" . esc_html( $label . ": " . Jetpack_Options::get_option( $option_name ) ); } $debug_info .= "\r\n" . esc_html( "USER_ID: " . $user_id ); $debug_info .= "\r\n" . esc_html( "USER_TOKEN: " . $user_token ); $debug_info .= "\r\n" . esc_html( "PHP_VERSION: " . PHP_VERSION ); $debug_info .= "\r\n" . esc_html( "WORDPRESS_VERSION: " . $GLOBALS['wp_version'] ); $debug_info .= "\r\n" . esc_html( "JETPACK__VERSION: " . JETPACK__VERSION ); $debug_info .= "\r\n" . esc_html( "JETPACK__PLUGIN_DIR: " . JETPACK__PLUGIN_DIR ); $debug_info .= "\r\n" . esc_html( "SITE_URL: " . site_url() ); $debug_info .= "\r\n" . esc_html( "HOME_URL: " . home_url() ); foreach ( array ( 'HTTP_HOST', 'SERVER_PORT', 'HTTPS', 'GD_PHP_HANDLER', 'HTTP_AKAMAI_ORIGIN_HOP', 'HTTP_CF_CONNECTING_IP', 'HTTP_CLIENT_IP', 'HTTP_FASTLY_CLIENT_IP', 'HTTP_FORWARDED', 'HTTP_FORWARDED_FOR', 'HTTP_INCAP_CLIENT_IP', 'HTTP_TRUE_CLIENT_IP', 'HTTP_X_CLIENTIP', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_X_FORWARDED', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_IP_TRAIL', 'HTTP_X_REAL_IP', 'HTTP_X_VARNISH', 'REMOTE_ADDR' ) as $header ) { if ( isset( $_SERVER[ $header ] ) ) { $debug_info .= "\r\n" . esc_html( $header . ": " . $_SERVER[ $header ] ); } } $debug_info .= "\r\n" . esc_html( "PROTECT_TRUSTED_HEADER: " . json_encode( get_site_option( 'trusted_ip_header' ) ) ); $debug_info .= "\r\n\r\nTEST RESULTS:\r\n\r\n"; $debug_raw_info = ''; $tests = array(); $tests['HTTP']['result'] = wp_remote_get( preg_replace( '/^https:/', 'http:', JETPACK__API_BASE ) . 'test/1/' ); $tests['HTTP']['fail_message'] = esc_html__( 'Your site isn’t reaching the Jetpack servers.', 'jetpack' ); $tests['HTTPS']['result'] = wp_remote_get( preg_replace( '/^http:/', 'https:', JETPACK__API_BASE ) . 'test/1/' ); $tests['HTTPS']['fail_message'] = esc_html__( 'Your site isn’t securely reaching the Jetpack servers.', 'jetpack' ); $identity_crisis_message = ''; if ( $identity_crisis = Jetpack::check_identity_crisis( true ) ) { foreach( $identity_crisis as $key => $value ) { $identity_crisis_message .= sprintf( __( 'Your `%1$s` option is set up as `%2$s`, but your WordPress.com connection lists it as `%3$s`!', 'jetpack' ), $key, (string) get_option( $key ), $value ) . "\r\n"; } $identity_crisis = new WP_Error( 'identity-crisis', $identity_crisis_message, $identity_crisis ); } else { $identity_crisis = 'PASS'; } $tests['IDENTITY_CRISIS']['result'] = $identity_crisis; $tests['IDENTITY_CRISIS']['fail_message'] = esc_html__( 'Something has gotten mixed up in your Jetpack Connection!', 'jetpack' ); $self_xml_rpc_url = home_url( 'xmlrpc.php' ); $testsite_url = Jetpack::fix_url_for_bad_hosts( JETPACK__API_BASE . 'testsite/1/?url=' ); add_filter( 'http_request_timeout', array( 'Jetpack_Debugger', 'jetpack_increase_timeout' ) ); $tests['SELF']['result'] = wp_remote_get( $testsite_url . $self_xml_rpc_url ); if ( is_wp_error( $tests['SELF']['result'] ) && 0 == strpos( $tests['SELF']['result']->get_error_message(), 'Operation timed out' ) ){ $tests['SELF']['fail_message'] = esc_html__( 'Your site did not get a response from our debugging service in the expected timeframe. If you are not experiencing other issues, this could be due to a slow connection between your site and our server.', 'jetpack' ); } else { $tests['SELF']['fail_message'] = esc_html__( 'It looks like your site can not communicate properly with Jetpack.', 'jetpack' ); } remove_filter( 'http_request_timeout', array( 'Jetpack_Debugger', 'jetpack_increase_timeout' ) ); ?>

$test_info ) : if ( 'PASS' !== $test_info['result'] && ( is_wp_error( $test_info['result'] ) || false == ( $response_code = wp_remote_retrieve_response_code( $test_info['result'] ) ) || '200' != $response_code ) ) { $debug_info .= $test_name . ": FAIL\r\n"; ?>

:
	get_error_message() : print_r( $test_info['result'], 1 ) ); ?>
get_error_message() : print_r( $test_info['result'], 1 ) ); ?> ' . esc_html__( 'Your Jetpack setup looks a-okay!', 'jetpack' ) . '
'; } else { echo '

' . esc_html__( 'There seems to be a problem with your site’s ability to communicate with Jetpack!', 'jetpack' ) . '

'; echo $html; } $debug_info .= "\r\n\r\nRAW TEST RESULTS:" . $debug_raw_info ."\r\n"; ?>

  1. known conflicts with Jetpack – check the list. (You can also browse the Jetpack support pages or Jetpack support forum to see if others have experienced and solved the problem.)', 'jetpack' ), 'http://jetpack.com/support/getting-started-with-jetpack/known-issues/', 'http://jetpack.com/support/getting-started-with-jetpack/known-issues/', 'http://jetpack.com/support/', 'http://wordpress.org/support/plugin/jetpack' ); ?>
  2. exists() ) { echo esc_html( sprintf( __( "If your problem isn't known or caused by a plugin, try activating %s (the default WordPress theme).", 'jetpack' ), $default_theme->get( 'Name' ) ) ); } else { esc_html_e( "If your problem isn't known or caused by a plugin, try activating the default WordPress theme.", 'jetpack' ); } ?>
  3. XMLRPC file. It should say “XML-RPC server accepts POST requests only.” on a line by itself.', 'jetpack' ), site_url( 'xmlrpc.php' ) ); ?>
    • -
    • -

click here to contact Jetpack support. Tell us as much as you can about the issue and what steps you\'ve tried to resolve it, and one of our Happiness Engineers will be in touch to help.', 'jetpack' ), Jetpack::admin_url( array( 'page' => 'jetpack-debugger', 'contact' => true ) ) ); ?>


%s\'s WordPress.com account.', 'jetpack' ), esc_html( Jetpack::get_master_user_email() ) ); ?>


style="display:none" >
', $subject_line ); ?>

review/modify this information.', 'jetpack' ); ?>