PATH:
home
/
lab2454c
/
mact34.com
/
wp-content
/
plugins
/
jetpack
/
vendor
/
automattic
/
jetpack-sync
/
src
<?php /** * An implementation of Automattic\Jetpack\Sync\Codec_Interface that uses gzip's DEFLATE * algorithm to compress objects serialized using json_encode. * * @package automattic/jetpack-sync */ namespace Automattic\Jetpack\Sync; /** * An implementation of Automattic\Jetpack\Sync\Codec_Interface that uses gzip's DEFLATE * algorithm to compress objects serialized using json_encode */ class JSON_Deflate_Array_Codec implements Codec_Interface { const CODEC_NAME = 'deflate-json-array'; /** * Return the name of the codec. * * @return string */ public function name() { return self::CODEC_NAME; } /** * Encodes an object. * * @param object $object Item to encode. * @return string */ public function encode( $object ) { return base64_encode( gzdeflate( $this->json_serialize( $object ) ) ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode } /** * Decode compressed serialized value. * * @param string $input Item to decode. * @return array|mixed|object */ public function decode( $input ) { return $this->json_unserialize( gzinflate( base64_decode( $input ) ) ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode } /** * Serialize JSON * * @see https://gist.github.com/muhqu/820694 * * @param string $any Value to serialize and wrap. * * @return false|string */ protected function json_serialize( $any ) { return wp_json_encode( Functions::json_wrap( $any ) ); } /** * Unserialize JSON * * @param string $str JSON string. * @return array|object Unwrapped JSON. */ protected function json_unserialize( $str ) { return $this->json_unwrap( json_decode( $str, true ) ); } /** * Unwraps a json_decode return. * * @param array|object $any json_decode object. * @return array|object */ private function json_unwrap( $any ) { if ( is_array( $any ) ) { foreach ( $any as $k => $v ) { if ( '__o' === $k ) { continue; } $any[ $k ] = $this->json_unwrap( $v ); } if ( isset( $any['__o'] ) ) { unset( $any['__o'] ); $any = (object) $any; } } return $any; } }
[-] class-functions.php
[edit]
[-] class-rest-endpoints.php
[edit]
[-] class-rest-sender.php
[edit]
[-] class-settings.php
[edit]
[-] class-queue.php
[edit]
[-] class-lock.php
[edit]
[+]
..
[-] class-actions.php
[edit]
[-] class-json-deflate-array-codec.php
[edit]
[-] class-simple-codec.php
[edit]
[-] class-utils.php
[edit]
[-] class-main.php
[edit]
[+]
modules
[-] class-modules.php
[edit]
[-] class-sender.php
[edit]
[-] class-defaults.php
[edit]
[+]
replicastore
[-] class-listener.php
[edit]
[-] class-replicastore.php
[edit]
[-] class-users.php
[edit]
[-] class-queue-buffer.php
[edit]
[-] class-health.php
[edit]
[-] interface-replicastore.php
[edit]
[-] interface-codec.php
[edit]
[-] class-server.php
[edit]