PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3
Jetpack – WP Security, Backup, Speed, & Growth v16.3
16.3 16.3-beta 16.3-a.5 16.3-a.7 16.3-a.3 16.3-a.1 16.2 16.2-beta 12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 All 508 releases
← All changes | jetpack_vendor/automattic/jetpack-sync/src/class-simple-codec.php +66 -0 16.2-beta → 16.3 View file →
@@ -1,0 +1,66 @@
1 +<?php
2 +/**
3 + * Simple codec for encoding and decoding sync objects.
4 + *
5 + * @package automattic/jetpack-sync
6 + */
7 +
8 +namespace Automattic\Jetpack\Sync;
9 +
10 +if ( ! defined( 'ABSPATH' ) ) {
11 + exit( 0 );
12 +}
13 +
14 +/**
15 + * An implementation of Automattic\Jetpack\Sync\Codec_Interface that uses base64
16 + * algorithm to compress objects serialized using json_encode.
17 + */
18 +class Simple_Codec extends JSON_Deflate_Array_Codec {
19 + /**
20 + * Name of the codec.
21 + *
22 + * @access public
23 + *
24 + * @var string
25 + */
26 + const CODEC_NAME = 'simple';
27 +
28 + /**
29 + * Retrieve the name of the codec.
30 + *
31 + * @access public
32 + *
33 + * @return string Name of the codec.
34 + */
35 + public function name() {
36 + return self::CODEC_NAME;
37 + }
38 +
39 + /**
40 + * Encode a sync object.
41 + *
42 + * @access public
43 + *
44 + * @param mixed $object Sync object to encode.
45 + * @return string Encoded sync object.
46 + */
47 + public function encode( $object ) {
48 + // This is intentionally using base64_encode().
49 + // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode
50 + return base64_encode( $this->json_serialize( $object ) );
51 + }
52 +
53 + /**
54 + * Encode a sync object.
55 + *
56 + * @access public
57 + *
58 + * @param string $input Encoded sync object to decode.
59 + * @return mixed Decoded sync object.
60 + */
61 + public function decode( $input ) {
62 + // This is intentionally using base64_decode().
63 + // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_decode
64 + return $this->json_unserialize( base64_decode( $input ) );
65 + }
66 +}