Code Duplication    Length = 29-29 lines in 2 locations

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

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

functions.global.php 1 location

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