<?

/*
ini_set('display_errors',0);
error_reporting(0);
display_errors = Off;
set_error_handler('var_dump', 0);
error_clear_last();
*/

  /* Não incluir o cabeçalho do ERP, caso a requisição seja do PDV*/

  /* Não xxx incluir o cabeçalho do ERP, caso a requisição seja do PDV*/

  if(!isset($_GET['codepdv'])){
    require_once "header.php";
  }
  require_once "inc/nfc_xml_venda.php";
  require_once "inc/nfc_class.php";
  require_once "inc/messages.php";
?>
<head>
<?
if(isset($_GET['codepdv'])){
  echo '<link href="css/mystyles.css" rel="stylesheet" type="text/css">';
  echo '<link href="css/bootstrap/bootstrap.min.css" rel="stylesheet" type="text/css">';
  echo '<script type="text/javascript" src="js/plugins/jquery/jquery.min.js"></script>';
  echo '<script type="text/javascript" src="js/plugins/jquery/jquery-ui.min.js"></script>';
  echo '<script type="text/javascript" src="js/plugins/ibutton/jquery.ibutton.js"></script>';
  }
?>
  <script type="text/javascript" src="js\jquery-3.1.1.min.js"></script>
  <script type="text/javascript" src="js\easysat_venda.js"></script>
</head>
<body>
<?php
//session_start();
require_once "connect.php";
require_once 'inc/parametros.php';
require_once 'inc/parametros_sat.php';

$ok   = true; // Recebe true como padrão
$chave= "";
$tpAmb= "1"; // Recebe como padrão homologacao, se não setado a qr a variavel de ambiente php
$set_msg = array();   // varáveis de retorno de status;

$id = $_GET['id'];
$id_doc = base64_decode($id);
$bo_return= false;
$p_ds_xml = '';

if(!isset($p_url_nuvem)){
    $p_url_nuvem = '';
}
if(!isset($p_url_print)){
    $p_url_print = '';
}

$p_url_return = $p_url_nuvem . "erpc_nfccode_venda_finaliza_local.php";
$p_url_print  = $p_url_nuvem . "erpc_nfccode_venda_imprimir.php?id=$id";

if(isset($_GET['status'])){
	$bo_return = true;
}

if(isset($_SESSION['p_cd_ativa'])){
    
}else{
    $parametros = parametros_getByNome('p_cd_ativa');
    if($parametros !== false){
        $_SESSION['p_cd_ativa'] = $parametros['ds_valor'];
    }else{
      $parametros = parametros_create();
      $parametros['ds_parametro'] = 'p_cd_ativa';
      $parametros['ds_valor'] =  'c0d3S4t1';
      $_SESSION['p_cd_ativa'] = $parametros['ds_valor'];
      parametros_insert($parametros);
    }
}
 
// $NfeXml = new NfeXml();
$redirect = "erpc_faturar_pedidos_list.php";
$NfcXml   = New NfcXmlVenda();

$r_xml       = $NfcXml->getDados($id_doc);
$dados_venda = setFormatJS($r_xml);

	// função para enviar os dados da venda
	function setFormatJS($r_xml){
		global $id_doc;
		global $xml_original;
		global $p_url_return;
		global $p_url_print;

		$xml_original = $r_xml;
		
		$ret_xml = false;
		$p_nr_sessao= str_pad(rand(05,99999), 05, "0", STR_PAD_LEFT); // número da sessão aleatório
		$p_cd_ativa = "c0d3S4t1";
		// $p_cd_ativa = "99999999";
		$p_cd_ativa = $_SESSION['p_cd_ativa'];
	   
		// formata o xml para envio no formato JSON
		$p_ds_xml = str_replace("<?xml version='1.0' encoding='UTF-8'?>", '', $r_xml);
		// $p_ds_xml = preg_replace("/(\t+)/", "", $p_ds_xml);
		// $p_ds_xml = substr($p_ds_xml, 1, -1); // REMOVER LINHA EM BRANCO APOS, REMOVER CABEÇALHO
		$p_ds_xml = preg_replace("/[\n\r\t]/","",$p_ds_xml);
		
		// $p_ds_xml = addcslashes($p_ds_xml, "\"");
		
		if(!isset($p_url_local_venda)){
		    $p_url_local_venda = '';
		}
		// cria um array, para função enviar via JSON para EasySat
		$dados_venda = array(
		  'id_documento'    => $id_doc      ,
		  'link_local'      => $p_url_local_venda,
		  'link_return'     => $p_url_return,
		  'link_print'      => $p_url_print ,
		  'numeroSessao'    => $p_nr_sessao ,
		  'codigoDeAtivacao'=> $p_cd_ativa  ,
		  'dadosVenda'      => $p_ds_xml
		);

		// exibe o conteudo do XML
		// echo '<pre>', htmlentities($p_ds_xml), '</pre>';

		// escreve o arquivo no diretorio temporario 
		$myfile = fopen("xml/xml_venda_enviado_sat_local.xml", "w+") or die("Unable to open file!");
		//header( 'Content-type: text/xml' ); preg_replace("/(\t+)/", "", $r_xml)
		fwrite($myfile, $p_ds_xml);
		fclose($myfile);
		
		// return json_encode($dados_venda);
		return $dados_venda;
	}

	function redirect_post($url, array $data, array $headers = null){
		
		foreach($data as $key => $value) {
		   $urlArray[] =  $key."=".$value;  
		}
		$urlString = implode("&", $urlArray);
		$urlString    = http_build_query($data);
		
		
		$url_redirect = $url . "?" . $urlString;
		$url_redirect = preg_replace("/(\t\n+)/", "", $url_redirect);
		
		$myfile = fopen("xml/link_criado_get.xml", "w+") or die("Unable to open file!");
		//header( 'Content-type: text/xml' ); preg_replace("/(\t+)/", "", $r_xml)
		fwrite($myfile, $url_redirect);
		fclose($myfile);	
		
		header("Location:$url_redirect");
	}

$p_mensagem = "Faturamento do Documento Sat $id_doc... Por Favor aguarde.!";

if($p_sat_web==0){
	$p_mensagem .= "Comunicando-se com o SAT Local";
}

  ?>

<div class="content controls">
  <input type="text" hidden="true" name="icodepdv" id="icodepdv" value="<? echo isset($_GET['codepdv']);?>">
  <div class="progress">
      <?=$p_mensagem;?>
      <div id="theBar" class="progress-bar progress-bar-info progress-bar-striped active" role="progressbar" aria-valuenow="1" aria-valuemin="0" aria-valuemax="100" style="width: 00%">
          <!-- <span class="sr-only"></span>-->

      </div>
  </div>
</div>
</body>

<?
	if($p_sat_web==0){
		global $p_url_local_venda;
		
		$dados_venda['id_documento'] = base64_encode($dados_venda['id_documento']);
		
		redirect_post($p_url_local_venda, $dados_venda);
	
		if(!isset($_GET['codepdv'])){
			include_once "footer.php";
		}else{
			include_once "erpc_codepdv_footer_mensagem.php";
		}
	}
?>

<!-- Incluido a última versão do JQuery, necessidade do EasySat -->
<script type="text/javascript" src="js\jquery-3.1.1.min.js"></script>

<script type="text/javascript">
  $(document).ready(function(data){
	  
	  
	<?php if($p_sat_web==1) { ?>

    satEnviarDadosVenda(<?php echo json_encode($dados_venda);?>);

	<? } ?>
	
	// buttonEnviarDadosVenda();
    }
  );

  // Barra de prograsso para comunicação com o Sat
  var i = 40;
  var counterBack = setInterval(function () {
    i--;
    if (i > 0) {
      $('.progress-bar').css('width', i + '%');
      $("#theBar").html(i + '% do ');
    } else {
      clearInterval(counterBack);
      $(document.body).append('Erro ao se comunicar com o SAT: Tempo limite para conexão excedido.');

      /*
      var p_codepdv =  $('#icodepdv').val();
      alert('Parametro CodePdv:' + p_codepdv);
      */
    }
  }, 1000);
</script>
