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; } }