PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-a.1
Jetpack – WP Security, Backup, Speed, & Growth v16.3-a.1
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 13.7.2 13.8.3 13.9.2 14.0.1 All 504 releases
jetpack / jetpack_vendor / automattic / jetpack-sync / src / class-simple-codec.php

class-simple-codec.php in Jetpack – WP Security, Backup, Speed, & Growth 16.3-a.1, at jetpack_vendor/automattic/jetpack-sync/src/class-simple-codec.php

67 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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 }
67