Code Duplication    Length = 29-29 lines in 2 locations

functions.global.php 1 location

@@ 167-195 (lines=29) @@
164
 *
165
 * @return array
166
 */
167
function jetpack_json_wrap( &$any, $seen_nodes = array() ) {
168
	if ( is_object( $any ) ) {
169
		$input = get_object_vars( $any );
170
		$input['__o'] = 1;
171
	} else {
172
		$input = &$any;
173
	}
174
175
	if ( is_array( $input ) ) {
176
		$seen_nodes[] = &$any;
177
178
		$return = array();
179
180
		foreach ( $input as $k => &$v ) {
181
			if ( ( is_array( $v ) || is_object( $v ) ) ) {
182
				if ( in_array( $v, $seen_nodes, true ) ) {
183
					continue;
184
				}
185
				$return[ $k ] = jetpack_json_wrap( $v, $seen_nodes );
186
			} else {
187
				$return[ $k ] = $v;
188
			}
189
		}
190
191
		return $return;
192
	}
193
194
	return $any;
195
}
196

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

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