Server : Apache System : Linux pod-100823:apache2_74:v0.5.7 5.4.0-1138-gcp #147~18.04.1-Ubuntu SMP Mon Oct 7 21:46:26 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33.7 Disable Function : apache_child_terminate,apache_get_modules,apache_get_version,apache_getenv,apache_note,apache_setenv,disk_free_space,disk_total_space,diskfreespace,dl,exec,fastcgi_finish_request,link,opcache_compile_file,opcache_get_configuration,opcache_invalidate,opcache_is_script_cached,opcache_reset,passthru,pclose,pcntl_exec,popen,posix_getpid,posix_getppid,posix_getpwuid,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_uname,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,realpath_cache_get,shell_exec,show_source,symlink,system Directory : /nas/content/live/attorneyexperi/wp-content/plugins/ugslot/MWP/Http/ |
<?php /* * This file is part of the ManageWP Worker plugin. * * (c) ManageWP LLC <contact@managewp.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ class MWP_Http_JsonResponse extends MWP_Http_Response { public function __construct($content, $statusCode = 200, array $headers = array()) { $headers['content-type'] = 'application/json'; parent::__construct($content, $statusCode, $headers); } public function getContentAsString() { $content = json_encode($this->content); if (!is_string($content)) { $invalidValues = array(); $this->fixUtf8($this->content, $invalidValues); if (is_array($this->content) && count($invalidValues) > 0) { $this->content['utf8FixedPaths'] = $invalidValues; } $content = json_encode($this->content); } return "\n" . $content; } private function fixUtf8(&$structure, array &$found = array(), &$walkedRefs = array(), array $path = array('_')) { switch ($type = gettype($structure)) { case 'string': if (!seems_utf8($structure)) { $found[implode('.', $path)] = urlencode($structure); $structure = utf8_encode($structure); } break; /** @noinspection PhpMissingBreakStatementInspection */ case 'object': // Handle recursion. // __PHP_Incomplete_Class will return false on is_object() call. Luckily, we can still get its object hash. $objectHash = spl_object_hash($structure); if (isset($walkedRefs[$objectHash])) { break; } $walkedRefs[$objectHash] = true; // Fall through. case 'array': // Object and array are by default traversable. foreach ($structure as $key => &$value) { $valuePath = $path; $valuePath[] = $key; $this->fixUtf8($value, $found, $walkedRefs, $valuePath); } break; } } }