Code Duplication    Length = 29-29 lines in 2 locations

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

@@ 83-111 (lines=29) @@
80
	 * @param array        $seen_nodes Seen nodes.
81
	 * @return array
82
	 */
83
	private function json_wrap( &$any, $seen_nodes = array() ) {
84
		if ( is_object( $any ) ) {
85
			$input        = get_object_vars( $any );
86
			$input['__o'] = 1;
87
		} else {
88
			$input = &$any;
89
		}
90
91
		if ( is_array( $input ) ) {
92
			$seen_nodes[] = &$any;
93
94
			$return = array();
95
96
			foreach ( $input as $k => &$v ) {
97
				if ( ( is_array( $v ) || is_object( $v ) ) ) {
98
					if ( in_array( $v, $seen_nodes, true ) ) {
99
						continue;
100
					}
101
					$return[ $k ] = $this->json_wrap( $v, $seen_nodes );
102
				} else {
103
					$return[ $k ] = $v;
104
				}
105
			}
106
107
			return $return;
108
		}
109
110
		return $any;
111
	}
112
113
	/**
114
	 * Unwraps a json_decode return.

functions.global.php 1 location

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