parseJSON() public static method

Parses JSON into proper PHP type.
public static parseJSON ( string $json ) : mixed
$json string
return mixed
Exemplo n.º 1
0
 function __construct($data)
 {
     $pq = null;
     include_once dirname(__FILE__) . '/../phpQuery/phpQuery.php';
     if (file_exists(dirname(__FILE__) . '/jQueryServer.config.php')) {
         include_once dirname(__FILE__) . '/jQueryServer.config.php';
         if ($jQueryServerConfig) {
             $this->config = array_merge_recursive($this->config, $jQueryServerConfig);
         }
     }
     if ($this->config['refererMustMatch']) {
         foreach ($this->config['allowedRefererHosts'] as $i => $host) {
             if ($host == '.') {
                 $this->config['allowedRefererHosts'][$i] = $_SERVER['HTTP_HOST'];
             }
         }
         $referer = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);
         $authorized = $referer && in_array($referer, $this->config['allowedRefererHosts']);
         if (!$authorized) {
             throw new Exception("Host '{$_SERVER['HTTP_REFERER']}' not authorized to make requests.");
             return;
         }
     }
     //		phpQueryClass::$debug = true;
     //		if (! function_exists('json_decode')) {
     //			include_once(dirname(__FILE__).'/JSON.php');
     //			$this->json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
     //		}
     //		$data = $this->jsonDecode($data);
     $data = phpQuery::parseJSON($data);
     // load document (required for first $data element)
     if (is_array($data[0]) && isset($data[0]['url'])) {
         $this->options = $data[0];
         $ajax = $this->options;
         $this->calls = array_slice($data, 1);
         $ajax['success'] = array($this, 'success');
         phpQuery::ajax($ajax);
     } else {
         throw new Exception("URL needed to download content");
         break;
     }
 }