Server IP : 15.235.198.142 / Your IP : 216.73.216.190 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/rhodeworks/wp-content/plugins/duplicator/src/Libs/Snap/JsonSerialize/ |
Upload File : |
<?php /** * * @package Duplicator * @copyright (c) 2021, Snapcreek LLC */ namespace Duplicator\Libs\Snap\JsonSerialize; use Duplicator\Libs\Snap\SnapJson; use Duplicator\Libs\Snap\SnapLog; use Exception; /** * This class serializes and deserializes a variable in json keeping the class type and saving also private objects */ class JsonSerialize extends AbstractJsonSerializeObjData { /** * Return json string * * @param mixed $value value to serialize * @param integer $flags json_encode flags * @param integer $depth json_encode depth * * @link https://www.php.net/manual/en/function.json-encode.php * * @return string|bool Returns a JSON encoded string on success or false on failure. */ public static function serialize($value, $flags = 0, $depth = 512) { return SnapJson::jsonEncode(self::valueToJsonData($value, $flags), $flags, $depth); } /** * Unserialize from json * * @param string $json json string * @param integer $depth json_decode depth * @param integer $flags json_decode flags * * @link https://www.php.net/manual/en/function.json-decode.php * * @return mixed */ public static function unserialize($json, $depth = 512, $flags = 0) { // phpcs:ignore PHPCompatibility.FunctionUse.NewFunctionParameters.json_decode_optionsFound $publicArray = (version_compare(PHP_VERSION, '5.4', '>=') ? json_decode($json, true, $depth, $flags) : json_decode($json, true, $depth) ); return self::jsonDataToValue($publicArray); } /** * Unserialize json on passed object * * @param string $json json string * @param object|string $obj object to fill or class name * @param integer $depth json_decode depth * @param integer $flags json_decode flags * * @link https://www.php.net/manual/en/function.json-decode.php * * @return object */ public static function unserializeToObj($json, $obj, $depth = 512, $flags = 0) { if (is_object($obj)) { } elseif (is_string($obj) && class_exists($obj)) { $obj = self::getObjFromClass($obj); } else { throw new Exception('invalid obj param'); } // phpcs:ignore PHPCompatibility.FunctionUse.NewFunctionParameters.json_decode_optionsFound $value = (version_compare(PHP_VERSION, '5.4', '>=') ? json_decode($json, true, $depth, $flags) : json_decode($json, true, $depth) ); if (!is_array($value)) { throw new Exception('json value isn\'t an array VALUE: ' . SnapLog::v2str($value)); } return self::fillObjFromValue($value, $obj); } }