TransWar File Browser

Path: C:\

<?php
$achou='S';$erro='Sem Erro';
error_reporting(E_ALL);
ini_set('display_errors', 'On');
ini_set('max_execution_time', 2000); //300 seconds = 5 minutes
function erroMessage($er){
  $httpErro = array(
    100 => 'Autorizado o uso da NFe',
    108 => 'Serviço Paralisado Momentaneamente (curto prazo)',
    109 => 'Serviço Paralisado sem Previsão',
    137 => 'Nenhum documento localizado para o Destinatário',
    138 => 'Documento localizado para o Destinatário',
    214 => 'Tamanho da mensagem excedeu o limite estabelecido',
    215 => 'Falha no schema XML',
    217 => 'NFe não consta na base de dados da SEFAZ',
    236 => 'Chave de Acesso com dígito verificador inválido',
    238 => 'Cabeçalho - Versão do arquivo XML superior a Versão vigente',
    239 => 'Cabeçalho - Versão do arquivo XML não suportada',
    252 => 'Ambiente informado diverge do Ambiente de recebimento',
    258 => 'CNPJ da consulta inválido',
    280 => 'Certificado Transmissor inválido',
    281 => 'Certificado Transmissor Data Validade',
    283 => 'Certificado Transmissor - erro Cadeia de Certificação',
    284 => 'Certificado Transmissor revogado',
    285 => 'Certificado Transmissor difere ICP-Brasil',
    286 => 'Certificado Transmissor erro no acesso a LCR',
    402 => 'XML da área de dados com codificação diferente de UTF-8',
    404 => 'Uso de prefixo de namespace não permitido',
    472 => 'CPF consultado difere do CPF do Certificado Digital',
    473 => 'Certificado Transmissor sem CNPJ ou CPF',
    500 => 'Erro interno do servidor',
    589 => 'Número do NSU informado superior ao maior NSU do Ambiente Nacional',
    593 => 'CNPJ consultado difere do CNPJ do Certificado Digital ',
    619 => 'Chave de Acesso inválida (número NF = 0)',
    632 => 'Solicitação fora de prazo, a NFe não está mais disponível para download',
    640 => 'CNPJ/CPF do interessado não possui permissão para consultar esta NFe',
    641 => 'NFe indisponível para o emitente',
    653 => 'NFe Cancelada, arquivo indisponível para download',
    654 => 'NFe Denegada, arquivo indisponível para download',
    656 => 'Consumo indevido - ultrapassou o limite de 20 consultas por hora');
  return (isset($httpErro[$er])) ? $httpErro[$er] : 'Rejeitado: Status: ➔ '.$er;
}
require ('vendor/autoload.php');
use NFePHP\NFe\Tools;
use NFePHP\Common\Certificate;
use NFePHP\NFe\Common\Standardize;
try {
    $content = file_get_contents('TransWar.pfx');
    $content2 = file_get_contents('TransRaw.pfx');
    $configJson = file_get_contents('config1.json');
    $certificate = Certificate::readPfx($content, 'WPS475475');
    $certificate2 = Certificate::readPfx($content2, 'WPS475475');
    $tools = new Tools($configJson, $certificate);
    $tools->model('55');
    $response = $tools->sefazDownload($chave);
    $stdCl = new Standardize($response);
    $std = $stdCl->toStd();
    $err=$std->cStat;
    $cnpj='CNPJ: 57.695.405/0001-09';
    $erro = erroMessage($err);
    echo $cnpj.' ➔ '.$erro.'<br>';
    if ($std->cStat != 138)
        { $configJson = file_get_contents('config2.json');
          $tools = new Tools($configJson, $certificate);
          $tools->model('55');
          $response = $tools->sefazDownload($chave);
          $stdCl = new Standardize($response);
          $std = $stdCl->toStd();
          $err=$std->cStat;
          $cnpj='CNPJ: 57.695.405/0002-90';
          $erro = erroMessage($err);
          echo $cnpj.' ➔ '.$erro.'<br>';
          if ($std->cStat != 138)
            { $configJson = file_get_contents('config3.json');
              $tools = new Tools($configJson, $certificate);
              $tools->model('55');
              $response = $tools->sefazDownload($chave);
              $stdCl = new Standardize($response);
              $std = $stdCl->toStd();
              $err=$std->cStat;
              $cnpj='CNPJ: 00.994.398/0001-29';
              $erro = erroMessage($err);
              echo $cnpj.' ➔ '.$erro.'<br>';
              if ($std->cStat != 138)
                {$achou='N';}
            }
        }
    $arquivo="NotasXML/nf-".$nrNF."_1.xml";
    header('Content-type: text/xml; charset=UTF-8');
    file_put_contents($arquivo,$stdCl);
    if ($achou=='S') { include 'montaXML.php'; }
    } catch (\Exception $e) 
        { $erro='Erro na consulta: '. $e->getMessage(); }
?>