Code Duplication    Length = 29-29 lines in 2 locations

sync/class.jetpack-sync-json-deflate-array-codec.php 1 location

@@ 37-65 (lines=29) @@
34
		return $this->json_unwrap( json_decode( $str, true ) );
35
	}
36
37
	private function json_wrap( &$any, $seen_nodes = array() ) {
38
		if ( is_object( $any ) ) {
39
			$input        = get_object_vars( $any );
40
			$input['__o'] = 1;
41
		} else {
42
			$input = &$any;
43
		}
44
45
		if ( is_array( $input ) ) {
46
			$seen_nodes[] = &$any;
47
48
			$return = array();
49
50
			foreach ( $input as $k => &$v ) {
51
				if ( ( is_array( $v ) || is_object( $v ) ) ) {
52
					if ( in_array( $v, $seen_nodes, true ) ) {
53
						continue;
54
					}
55
					$return[ $k ] = $this->json_wrap( $v, $seen_nodes );
56
				} else {
57
					$return[ $k ] = $v;
58
				}
59
			}
60
61
			return $return;
62
		}
63
64
		return $any;
65
	}
66
67
	private function json_unwrap( $any ) {
68
		if ( is_array( $any ) ) {

functions.global.php 1 location

@@ 180-208 (lines=29) @@
177
 *
178
 * @return array
179
 */
180
function jetpack_json_wrap( &$any, $seen_nodes = array() ) {
181
	if ( is_object( $any ) ) {
182
		$input = get_object_vars( $any );
183
		$input['__o'] = 1;
184
	} else {
185
		$input = &$any;
186
	}
187
188
	if ( is_array( $input ) ) {
189
		$seen_nodes[] = &$any;
190
191
		$return = array();
192
193
		foreach ( $input as $k => &$v ) {
194
			if ( ( is_array( $v ) || is_object( $v ) ) ) {
195
				if ( in_array( $v, $seen_nodes, true ) ) {
196
					continue;
197
				}
198
				$return[ $k ] = jetpack_json_wrap( $v, $seen_nodes );
199
			} else {
200
				$return[ $k ] = $v;
201
			}
202
		}
203
204
		return $return;
205
	}
206
207
	return $any;
208
}
209