Code Duplication    Length = 29-29 lines in 2 locations

functions.global.php 1 location

@@ 200-228 (lines=29) @@
197
 *
198
 * @return array
199
 */
200
function jetpack_json_wrap( &$any, $seen_nodes = array() ) {
201
	if ( is_object( $any ) ) {
202
		$input        = get_object_vars( $any );
203
		$input['__o'] = 1;
204
	} else {
205
		$input = &$any;
206
	}
207
208
	if ( is_array( $input ) ) {
209
		$seen_nodes[] = &$any;
210
211
		$return = array();
212
213
		foreach ( $input as $k => &$v ) {
214
			if ( ( is_array( $v ) || is_object( $v ) ) ) {
215
				if ( in_array( $v, $seen_nodes, true ) ) {
216
					continue;
217
				}
218
				$return[ $k ] = jetpack_json_wrap( $v, $seen_nodes );
219
			} else {
220
				$return[ $k ] = $v;
221
			}
222
		}
223
224
		return $return;
225
	}
226
227
	return $any;
228
}
229

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

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