本文整理汇总了PHP中Jetpack::sync_idc_optin方法的典型用法代码示例。如果您正苦于以下问题:PHP Jetpack::sync_idc_optin方法的具体用法?PHP Jetpack::sync_idc_optin怎么用?PHP Jetpack::sync_idc_optin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Jetpack
的用法示例。
在下文中一共展示了Jetpack::sync_idc_optin方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: send_data
static function send_data($data, $codec_name, $sent_timestamp, $queue_id)
{
Jetpack::load_xml_rpc_client();
$query_args = array('sync' => '1', 'codec' => $codec_name, 'timestamp' => $sent_timestamp, 'queue' => $queue_id);
if (Jetpack::sync_idc_optin()) {
$query_args['home'] = get_home_url();
// Send home url option to check for Identity Crisis server-side
$query_args['siteurl'] = get_site_url();
// Send home url option to check for Identity Crisis server-side
}
$url = add_query_arg($query_args, Jetpack::xmlrpc_api_url());
$rpc = new Jetpack_IXR_Client(array('url' => $url, 'user_id' => JETPACK_MASTER_USER, 'timeout' => 30));
$result = $rpc->query('jetpack.syncActions', $data);
if (!$result) {
return $rpc->get_jetpack_error();
}
return $rpc->getResponse();
}
示例2: send_data
static function send_data($data, $codec_name, $sent_timestamp, $queue_id)
{
Jetpack::load_xml_rpc_client();
$query_args = array('sync' => '1', 'codec' => $codec_name, 'timestamp' => $sent_timestamp, 'queue' => $queue_id, 'home' => get_home_url(), 'siteurl' => get_site_url());
// Has the site opted in to IDC mitigation?
if (Jetpack::sync_idc_optin()) {
$query_args['idc'] = true;
}
if (Jetpack_Options::get_option('migrate_for_idc', false)) {
$query_args['migrate_for_idc'] = true;
}
$query_args['timeout'] = Jetpack_Sync_Settings::is_doing_cron() ? 30 : 15;
$url = add_query_arg($query_args, Jetpack::xmlrpc_api_url());
$rpc = new Jetpack_IXR_Client(array('url' => $url, 'user_id' => JETPACK_MASTER_USER, 'timeout' => $query_args['timeout']));
$result = $rpc->query('jetpack.syncActions', $data);
if (!$result) {
return $rpc->get_jetpack_error();
}
$response = $rpc->getResponse();
// Check if WordPress.com IDC mitigation blocked the sync request
if (is_array($response) && isset($response['error_code'])) {
$error_code = $response['error_code'];
$allowed_idc_error_codes = array('jetpack_url_mismatch', 'jetpack_home_url_mismatch', 'jetpack_site_url_mismatch');
if (in_array($error_code, $allowed_idc_error_codes)) {
Jetpack_Options::update_option('sync_error_idc', Jetpack::get_sync_error_idc_option($response));
}
return new WP_Error('sync_error_idc', esc_html__('Sync has been blocked from WordPress.com because it would cause an identity crisis', 'jetpack'));
}
return $response;
}
示例3: test_idc_optin_filter_overrides_constant
function test_idc_optin_filter_overrides_constant()
{
Jetpack_Constants::set_constant('JETPACK_SYNC_IDC_OPTIN', true);
add_filter('jetpack_sync_idc_optin', '__return_false');
$this->assertFalse(Jetpack::sync_idc_optin());
remove_filter('jetpack_sync_idc_optin', '__return_false');
}
示例4: send_data
static function send_data($data, $codec_name, $sent_timestamp, $queue_id)
{
Jetpack::load_xml_rpc_client();
$query_args = array('sync' => '1', 'codec' => $codec_name, 'timestamp' => $sent_timestamp, 'queue' => $queue_id, 'home' => get_home_url(), 'siteurl' => get_site_url());
// Has the site opted in to IDC mitigation?
if (Jetpack::sync_idc_optin()) {
$query_args['idc'] = true;
}
$url = add_query_arg($query_args, Jetpack::xmlrpc_api_url());
$rpc = new Jetpack_IXR_Client(array('url' => $url, 'user_id' => JETPACK_MASTER_USER, 'timeout' => 30));
$result = $rpc->query('jetpack.syncActions', $data);
if (!$result) {
$error = $rpc->get_jetpack_error();
if ('jetpack_url_mismatch' === $error->get_error_code()) {
Jetpack_Options::update_option('sync_error_idc', Jetpack::get_sync_error_idc_option());
}
return $error;
}
return $rpc->getResponse();
}