Jetpack::permit_ssl PHP Method

permit_ssl() public static method

Checks to see if the URL is using SSL to connect with Jetpack
Since: 2.3.3
public static permit_ssl ( $force_recheck = false ) : boolean
return boolean
    public static function permit_ssl($force_recheck = false)
    {
        // Do some fancy tests to see if ssl is being supported
        if ($force_recheck || false === ($ssl = get_transient('jetpack_https_test'))) {
            $message = '';
            if ('https' !== substr(JETPACK__API_BASE, 0, 5)) {
                $ssl = 0;
            } else {
                switch (JETPACK_CLIENT__HTTPS) {
                    case 'NEVER':
                        $ssl = 0;
                        $message = __('JETPACK_CLIENT__HTTPS is set to NEVER', 'jetpack');
                        break;
                    case 'ALWAYS':
                    case 'AUTO':
                    default:
                        $ssl = 1;
                        break;
                }
                // If it's not 'NEVER', test to see
                if ($ssl) {
                    if (!wp_http_supports(array('ssl' => true))) {
                        $ssl = 0;
                        $message = __('WordPress reports no SSL support', 'jetpack');
                    } else {
                        $response = wp_remote_get(JETPACK__API_BASE . 'test/1/');
                        if (is_wp_error($response)) {
                            $ssl = 0;
                            $message = __('WordPress reports no SSL support', 'jetpack');
                        } elseif ('OK' !== wp_remote_retrieve_body($response)) {
                            $ssl = 0;
                            $message = __('Response was not OK: ', 'jetpack') . wp_remote_retrieve_body($response);
                        }
                    }
                }
            }
            set_transient('jetpack_https_test', $ssl, DAY_IN_SECONDS);
            set_transient('jetpack_https_test_message', $message, DAY_IN_SECONDS);
        }
        return (bool) $ssl;
    }

Usage Example

コード例 #1
0
ファイル: class.jetpack.php プロジェクト: automattic/jetpack
 function ajax_recheck_ssl()
 {
     check_ajax_referer('recheck-ssl', 'ajax-nonce');
     $result = Jetpack::permit_ssl(true);
     wp_send_json(array('enabled' => $result, 'message' => get_transient('jetpack_https_test_message')));
 }
All Usage Examples Of Jetpack::permit_ssl
Jetpack