saveFile() public static method

saveFile
public static saveFile ( string $path = '', string $filename = '', string $content = '' ) : boolean
$path string
$filename string
$content string
return boolean
Exemplo n.º 1
0
 /**
  * verifica
  * Verifica o status da SEFAZ com o webservice e retorna tags html com o resultado
  * @param string $config json do arquivo de configuração
  * @return string
  */
 public static function verifica($config = '')
 {
     $aRetorno = array();
     if (empty($config)) {
         return '';
     }
     self::$config = $config;
     if (is_file(APP_ROOT . '/base/status.json')) {
         $aRetorno = (array) json_decode(FilesFolders::readFile(APP_ROOT . '/base/status.json'));
     }
     $tstmp = DateTime::convertSefazTimeToTimestamp($aRetorno['dhRecbto']);
     $tsnow = time();
     $dif = $tsnow - $tstmp;
     //caso tenha passado mais de uma hora desde a ultima verificação
     if ($dif > 3600) {
         self::$nfe = new ToolsNFe($config);
         self::$certTS = self::$nfe->certExpireTimestamp;
         self::$nfe->sefazStatus('', '', $aRetorno);
         $retJson = json_encode($aRetorno);
         FilesFolders::saveFile(APP_ROOT . '/base', 'status.json', $retJson);
     }
     $tstmp = DateTime::convertSefazTimeToTimestamp($aRetorno['dhRecbto']);
     $dhora = date('d/m/Y H:i:s', $tstmp);
     $htmlStatus = "<p class=\"smallred\">OFF-LINE</p>\n<p class=\"smallred\">{$dhora}</p>";
     if ($aRetorno['cStat'] == '107') {
         $htmlStatus = "<p class=\"smallgreen\">SEFAZ On-Line</p>\n<p class=\"smallgreen\">{$dhora}</p>";
     }
     return $htmlStatus;
 }
Exemplo n.º 2
0
 /**
  * zGravaFile
  * Grava os dados no diretorio das NFe
  * @param string $tpAmb ambiente
  * @param string $filename nome do arquivo
  * @param string $data dados a serem salvos
  * @param string $subFolder 
  * @param string $anomes 
  * @throws Exception\RuntimeException
  */
 protected function zGravaFile($tipo = '', $tpAmb = '2', $filename = '', $data = '', $subFolder = 'temporarias', $anomes = '')
 {
     if ($anomes == '') {
         $anomes = date('Ym');
     }
     $path = '';
     if ($tipo == 'nfe') {
         $path = $this->aConfig['pathNFeFiles'];
     } elseif ($tipo == 'cte') {
         $path = $this->aConfig['pathCTeFiles'];
     } elseif ($tipo == 'mdfe') {
         $path = $this->aConfig['pathMDFeFiles'];
     }
     $pathTemp = Files\FilesFolders::getFilePath($tpAmb, $path, $subFolder) . DIRECTORY_SEPARATOR . $anomes;
     if (!Files\FilesFolders::saveFile($pathTemp, $filename, $data)) {
         $msg = 'Falha na gravação no diretório. ' . $pathTemp;
         throw new Exception\RuntimeException($msg);
     }
 }
Exemplo n.º 3
0
 /**
  * Grava as mensagens em disco
  *
  * @param string $data conteudo a ser gravado
  * @param string $filename
  * @param int $tpAmb
  * @param string $folder
  * @param string $subFolder
  * @throws RuntimeException
  */
 protected function gravaFile($data, $filename, $tpAmb = '2', $folder = '', $subFolder = '')
 {
     $anomes = date('Ym');
     $pathTemp = $folder . Files\FilesFolders::getAmbiente($tpAmb) . DIRECTORY_SEPARATOR . $subFolder . DIRECTORY_SEPARATOR . $anomes;
     if (!Files\FilesFolders::saveFile($pathTemp, $filename, $data)) {
         $msg = 'Falha na gravação no diretório. ' . $pathTemp;
         throw new RuntimeException($msg);
     }
 }
Exemplo n.º 4
0
 /**
  * gravaXML
  * grava o xml do documento fiscal na estrutura de pastas
  * em path indicar por exemplo /var/www/nfe ou /dados/cte ou /arquivo/mdfe
  * ou seja as pastas principais onde guardar os arquivos
  * Esse método itá colocar na subpastas [producao] ou [homologacao]
  * na subpasta [entradas] e na subpasta [ANOMES]
  *
  * @param  string $path
  * @return boolean
  */
 public function gravaXML($path = '')
 {
     //pode ser NFe, CTe, MDFe e pode ser homologação ou produção
     //essas informações estão dentro do xml
     if ($path == '') {
         return false;
     }
     if (!is_dir($path)) {
         return false;
     }
     if (substr($path, -1) == DIRECTORY_SEPARATOR) {
         $path = substr($path, 0, strlen($path) - 1);
     }
     $aResp = array();
     $aList = array('NFe' => 'nfe', 'CTe' => 'cte', 'MDFe' => 'mdfe');
     Identify::setListSchemesId($aList);
     $schem = Identify::identificacao($this->xml, $aResp);
     if ($aResp['chave'] == '') {
         return false;
     }
     $filename = $aResp['chave'] . '-' . $schem . '.xml';
     $dirBase = 'homologacao';
     if ($aResp['tpAmb'] == '1') {
         $dirBase = 'producao';
     }
     $aDh = explode('-', $aResp['dhEmi']);
     $anomes = date('Ym');
     if (count($aDh) > 1) {
         $anomes = $aDh[0] . $aDh[1];
     }
     $completePath = $path . DIRECTORY_SEPARATOR . $dirBase . DIRECTORY_SEPARATOR . 'entradas' . DIRECTORY_SEPARATOR . $anomes;
     $content = $this->xml;
     if (!FilesFolders::saveFile($completePath, $filename, $content)) {
         return false;
     }
     return true;
 }
Exemplo n.º 5
0
 /**
  * zSalva
  * Recebe um array com a chave, data e o xml das NFe destinadas
  * e grava na pasta das recebidas/<anomes>
  * 
  * @param array $aDocs
  * @param boolean $bIncludeAnomes
  */
 protected function zSalva($aDocs = array(), $dir = 'recebidas', $bIncludeAnomes = false)
 {
     if (empty($aDocs)) {
         return;
     }
     $path = $this->pathNFe . DIRECTORY_SEPARATOR . $this->ambiente . DIRECTORY_SEPARATOR . $dir;
     foreach ($aDocs as $doc) {
         $anomes = $doc['anomes'];
         $chave = $doc['chave'];
         $xml = $doc['xml'];
         $name = $doc['tipo'];
         $pathnfe = $path;
         if ($bIncludeAnomes) {
             $pathnfe = $path . DIRECTORY_SEPARATOR . $anomes;
         }
         $filename = "{$chave}{$name}";
         //echo "Salvando $filename \n";
         FilesFolders::saveFile($pathnfe, $filename, $xml);
     }
 }
Exemplo n.º 6
0
$mailProtocol = filter_input(INPUT_GET, 'mailProtocol', FILTER_SANITIZE_STRING);
$mailPort = filter_input(INPUT_GET, 'mailPort', FILTER_SANITIZE_NUMBER_INT);
$mailFromMail = filter_input(INPUT_GET, 'mailFromMail', FILTER_VALIDATE_EMAIL);
$mailFromName = filter_input(INPUT_GET, 'mailFromName', FILTER_SANITIZE_STRING);
$mailReplayToMail = filter_input(INPUT_GET, 'mailReplayToMail', FILTER_VALIDATE_EMAIL);
$mailReplayToName = filter_input(INPUT_GET, 'mailReplayToName', FILTER_SANITIZE_STRING);
$mailImapHost = filter_input(INPUT_GET, 'mailImapHost', FILTER_SANITIZE_URL);
$mailImapPort = filter_input(INPUT_GET, 'mailImapPort', FILTER_SANITIZE_NUMBER_INT);
$mailImapSecurity = filter_input(INPUT_GET, 'mailImapSecurity', FILTER_SANITIZE_STRING);
$mailImapNocerts = filter_input(INPUT_GET, 'mailImapNocerts');
$mailImapBox = filter_input(INPUT_GET, 'mailImapBox', FILTER_SANITIZE_STRING);
$proxyIp = filter_input(INPUT_GET, 'proxyIp', FILTER_SANITIZE_STRING);
$proxyPort = filter_input(INPUT_GET, 'proxyPort', FILTER_SANITIZE_NUMBER_INT);
$proxyUser = filter_input(INPUT_GET, 'proxyUser', FILTER_SANITIZE_STRING);
$proxyPass = filter_input(INPUT_GET, 'proxyPass', FILTER_SANITIZE_STRING);
$aDocFormat = array('format' => $format, 'paper' => $paper, 'southpaw' => $southpaw, 'pathLogoFile' => $pathLogoFile, 'logoPosition' => $logoPosition, 'font' => $font, 'printer' => $printer);
$aMailConf = array('mailAuth' => $mailAuth, 'mailFrom' => $mailFrom, 'mailSmtp' => $mailSmtp, 'mailUser' => $mailUser, 'mailPass' => $mailPass, 'mailProtocol' => $mailProtocol, 'mailPort' => $mailPort, 'mailFromMail' => $mailFromMail, 'mailFromName' => $mailFromName, 'mailReplayToMail' => $mailReplayToMail, 'mailReplayToName' => $mailReplayToName, 'mailImapHost' => $mailImapHost, 'mailImapPort' => $mailImapPort, 'mailImapSecurity' => $mailImapSecurity, 'mailImapNocerts' => $mailImapNocerts, 'mailImapBox' => $mailImapBox);
$aProxyConf = array('proxyIp' => $proxyIp, 'proxyPort' => $proxyPort, 'proxyUser' => $proxyUser, 'proxyPass' => $proxyPass);
$aConfig = array('atualizacao' => date('Y-m-d h:i:s'), 'tpAmb' => $tpAmb, 'pathXmlUrlFileNFe' => $pathXmlUrlFileNFe, 'pathXmlUrlFileCTe' => $pathXmlUrlFileCTe, 'pathXmlUrlFileMDFe' => $pathXmlUrlFileMDFe, 'pathXmlUrlFileCLe' => $pathXmlUrlFileCLe, 'pathXmlUrlFileNFSe' => $pathXmlUrlFileNFSe, 'pathNFeFiles' => $pathNFeFiles, 'pathCTeFiles' => $pathCTeFiles, 'pathMDFeFiles' => $pathMDFeFiles, 'pathCLeFiles' => $pathCLeFiles, 'pathNFSeFiles' => $pathNFSeFiles, 'pathCertsFiles' => $pathCertsFiles, 'siteUrl' => $siteUrl, 'schemesNFe' => $schemesNFe, 'schemesCTe' => $schemesCTe, 'schemesMDFe' => $schemesMDFe, 'schemesCLe' => $schemesCLe, 'schemesNFSe' => $schemesNFSe, 'razaosocial' => $razaosocial, 'siglaUF' => $siglaUF, 'cnpj' => $cnpj, 'tokenIBPT' => $tokenIBPT, 'tokenNFCe' => $tokenNFCe, 'tokenNFCeId' => $tokenNFCeId, 'certPfxName' => $certPfxName, 'certPassword' => $certPassword, 'certPhrase' => $certPhrase, 'aDocFormat' => $aDocFormat, 'aMailConf' => $aMailConf, 'aProxyConf' => $aProxyConf);
$content = json_encode($aConfig);
$msg = 'SUCESSO !! arquivo de configuração confg.json SALVO.';
if (!($resdefault = FilesFolders::saveFile($defaultconfigfolder, 'config.json', $content))) {
    $msg = "Falha ao salvar o config.json na pasta {$defaultconfigfolder} \n";
}
if ($configfolder != $defaultconfigfolder) {
    if (!($res = FilesFolders::saveFile($configfolder, 'config.json', $content))) {
        $msg = "Falha ao salvar o config.json na pasta {$configfolder} \n";
    }
}
$aResp = array('status' => $resdefault && $res, 'msg' => $msg);
print json_encode($aResp);