public static function get($number, $parsePDF = true, $force = false) { $number = preg_replace('/[^0-9]/', '', $number); self::$_number = $number; $isIp = !self::isOrganization($number); if (!$force && ($cache = self::getFromCache($number))) { return $cache; } elseif (!$force && ($file = self::getStorageFile(self::$_number)) && $parsePDF) { self::getPdfParser()->parseFile($file); self::formArray(); $data = self::rawInfoAsObject(); return $data; } $captcha = self::extractCaptcha(); $fileUrl = $captcha["url"]; $captchaToken = $captcha["token"]; $recognizedCaptcha = self::recognizeCaptcha($fileUrl); $json = self::getFileUrl(self::$_number, !$isIp, $captchaToken, $recognizedCaptcha); if (array_key_exists("ERRORS", $json)) { throw new companyInfoException(print_r($json["ERRORS"], 1)); } else { if ($parsePDF) { $file = self::DOMAIN . "/download/" . $json["rows"][0]["T"]; self::file($file); $data = self::rawInfoAsObject(); self::setCache(self::$_number, $data); return $data; } else { var_dump($json); return $json["rows"][0]; } } }