⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.78
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
psa-pear
/
pear
/
php
/
Horde
/
Pack
/
Driver
/
View File Name :
Json.php
* @category Horde * @copyright 2013-2016 Horde LLC * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @package Pack */ class Horde_Pack_Driver_Json extends Horde_Pack_Driver { /** */ protected $_id = 2; /** */ public static function supported() { return extension_loaded('json'); } /** */ public function pack($data) { static $jsonc_bug = null; $old_error = error_reporting(0); $d = json_encode($data); error_reporting($old_error); // TODO: JSON_ERROR_UTF8 = 5; available as of PHP 5.3.3 if (json_last_error() === 5) { throw new Horde_Pack_Exception( 'Non UTF-8 data cannot be JSON packed.' ); } if (is_null($jsonc_bug)) { $orig = array("A\0B" => "A\0B"); $jsonc_bug = (json_decode(json_encode($orig), true) !== $orig); } /* JSON-C (used in, e.g., Debian/Ubuntu) is broken when it comes to * handling null characters. If we detect the buggy behavior and * we see a null character in the output, use a different packer. */ if ($jsonc_bug && (strpos($d, "\u0000") !== false)) { throw new Horde_Pack_Exception( 'JSON decoder is broken (invalid handling of null chars).' ); } /* For JSON, we need to keep track whether the initial data was * an object or class. The initial JSON character is one of the * following: * 0: Non-array * 1: Array */ return intval(is_array($data)) . $d; } /** */ public function unpack($data) { $out = json_decode(substr($data, 1), ($data[0] == 1)); if (!is_null($out) || (json_last_error() === JSON_ERROR_NONE)) { return $out; } throw new Horde_Pack_Exception('Error when unpacking JSON data.'); } }