Completed
Push — sync/dbtlr/r159298-wpcom-15003... ( bc0eb2...c27aa0 )
by
unknown
12:20
created

functions.global.php ➔ jetpack_store_migration_data()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 18
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 11
nc 2
nop 2
dl 0
loc 18
rs 9.4285
c 0
b 0
f 0
1
<?php
2
/**
3
 * This file is meant to be the home for any generic & reusable functions
4
 * that can be accessed anywhere within Jetpack.
5
 *
6
 * This file is loaded whether or not Jetpack is active.
7
 *
8
 * Please namespace with jetpack_
9
 * Please write docblocks
10
 */
11
12
/**
13
 * Disable direct access.
14
 */
15
if ( ! defined( 'ABSPATH' ) ) {
16
	exit;
17
}
18
19
/**
20
 * Determine if this site is an AT site or not looking first at the 'at_options' option.
21
 * As a fallback, check for presence of wpcomsh plugin to determine if a current site has undergone AT.
22
 *
23
 * @since 4.8.1
24
 *
25
 * @return bool
26
 */
27
function jetpack_is_automated_transfer_site() {
28
	$at_options = get_option( 'at_options', array() );
29
	return ! empty( $at_options ) || defined( 'WPCOMSH__PLUGIN_FILE' );
30
}
31
32
/**
33
 * Register post type for migration.
34
 *
35
 * @since 5.2
36
 */
37
function jetpack_register_migration_post_type() {
38
	register_post_type( 'jetpack_migration', array(
39
		'supports'     => array(),
40
		'taxonomies'   => array(),
41
		'hierarchical' => false,
42
		'public'       => false,
43
		'has_archive'  => false,
44
		'can_export'   => true,
45
	) );
46
}
47
48
/**
49
 * Stores migration data in the database.
50
 *
51
 * @since 5.2
52
 *
53
 * @param string $option_name
54
 * @param bool $option_value
55
 *
56
 * @return int|WP_Error
57
 */
58
function jetpack_store_migration_data( $option_name, $option_value ) {
59
	jetpack_register_migration_post_type();
60
61
	$insert = array(
62
		'post_title' => $option_name,
63
		'post_content_filtered' => $option_value,
64
		'post_type' => 'jetpack_migration',
65
		'post_date' => date( 'Y-m-d H:i:s', time() ),
66
	);
67
68
	$post = get_page_by_title( $option_name, 'OBJECT', 'jetpack_migration' );
69
70
	if ( null !== $post ) {
71
		$insert['ID'] = $post->ID;
72
	}
73
74
	return wp_insert_post( $insert, true );
75
}
76
77
/**
78
 * Retrieves legacy image widget data.
79
 *
80
 * @since 5.2
81
 *
82
 * @param string $option_name
83
 *
84
 * @return mixed|null
85
 */
86
function jetpack_get_migration_data( $option_name ) {
87
	$post = get_page_by_title( $option_name, 'OBJECT', 'jetpack_migration' );
88
89
	return null !== $post ? maybe_unserialize( $post->post_content_filtered ) : null;
90
}