예제 #1
0
 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];
         }
     }
 }