<?php
    require_once 'header.php';
    require_once "inc/nfc_print_venda.php";
    require_once "inc/messages.php";
    require_once "inc/usuario.php";

    /* Biblioteca Mike para Impressao EPSON*/
    require 'api/Mike42/autoload.php';
    use Mike42\Escpos\Printer;
    use Mike42\Escpos\PrintConnectors\WindowsPrintConnector;

    $usuario_impressao = getLoggedUser();
    $id_usuario = $usuario_impressao['id'];
    $id_unidade = $usuario_impressao['unidade'];
    $nm_usuario = $usuario_impressao['nome'];

    /* capura o xml gravado no BD */
    if(!isset($_GET['id'])){
      addError('Nro do documento de saída não foi informado, não é possível imprimir o cupom');
      header("erpc_faturamento_list.php");
      exit;
    }
    $id_crip = $_GET['id'];
    $id = base64_decode($id_crip);
    $consulta = "select ds_xml from erpc_documentos_saida where id_status_xml_interno = 1 and id = $id";

    $resultado = mysqli_query($conexao, $consulta) or die ($erro = mysqli_error($conexao));
    if (mysqli_num_rows($resultado)>0) {
          while ($registro = mysqli_fetch_assoc($resultado)){
            $xml_string = $registro['ds_xml'];
          }
    }

    if($xml_string==''){
      addError('Não foi possível obter as informações do documento de saída.');
      header("erpc_faturamento_list.php");
    }

    /* TESTE DE ALTERAÇÃO EM SUBSTITUIÇÃO DO SENDXML.PHP DE MODELO DO EDUARDO EM 28/03/2017
    // $xml = simplexml_load_string($xml_string);
    // $caminho = "smb://Code@192.168.0.106/epson";
    $caminho = "smb://EDIVAL_SAMSUNG/epson";
    $connector = new WindowsPrintConnector($caminho);

    $NfcCodePrint = new NfcCodePrint($connector);
    $NfcCodePrint->setInformacaoSW($id_usuario, $nm_usuario, 'ERPC_CODE_2017_V1.00');
    $NfcCodePrint->montarCupom($xml_string);
    $NfcCodePrint->imprimir();*/

    // $url = 'http://192.168.0.200/edival/erp_final/printXml.php';
	// $url = 'http://187.75.245.246:81/printXml.php';
	// $nm_printer = 'smb://codecrm@192.168.15.200/epson';

	/*

	$url = 'http://177.143.60.95/edival/erp_final/printXml.php';
	$nm_printer = 'smb://convidado@192.168.0.135/epson';

	*/

	$url = 'http://codesatclinica2017.hopto.org:1001/printXml.php';
	$nm_printer = 'smb://convidado@192.168.1.200/epson';

	echo "<br>Imprimindo em:$nm_printer";

    $data = array(
            'xml'     => "$xml_string"  ,
            'include' => 'inc/nfc_print_venda.php',
            'printer' =>   $nm_printer, // smb://192.168.0.106/epson
            'id_usuario'=> $id_usuario,                     // ID   do usuário Logado
            'nm_usuario'=> $nm_usuario,               // Nome do Usuário Logado
            'ds_versao_sw'=>'ERPC_CODE_2017_V1.00', // Versão do Aplicativo da SW - CODECRM
            );

    // use key 'http' even if you send the request to https://...
    $options = array(
        'http' => array(
            'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
            'method'  => 'POST',
            'content' => http_build_query($data)
        )
    );

    // Para tratamento do erro caso a máquina de destino estiver ausente
    $context = stream_context_create($options);
    try{
      $result  = @file_get_contents($url, false, $context);
      if ($result === FALSE) {
          $msg = "Documento: $id | Houve um erro ao se comunicar com a impressora | " . substr($url, 0, -12) . " em $nm_printer";
          addError($msg);
      }else{
        addMessage("Documento: $id | Cupom Impresso com Sucesso | " . substr($url, 0, -12) . " em $nm_printer");
      }
    }catch (Exception $e) {
      $msg = "Documento: $id | Houve um erro ao se comunicar com a impressora | " . $e->getMessage() . "\n";
      addError($msg);
    }

    // Só imprimo o que o script me retornar. Se quiser retornar um objeto por lá, recomendo montar um array e imprimir o resultado via json_encode, e aqui
    // dar um decode e trabalhar com ele.
    // echo "<br>";
    // var_dump(htmlspecialchars ($result));
    // exit;
    header("location:erpc_faturar_pedidos_list.php");
    exit;
?>
<div class="block">
  <div id="dialog" title="Confirmação">
    <span>Cupom foi Impresso com Sucesso?
      <!-- <?php echo $xml->infCFe->ide->nCFe;?>?</span>-->
    <br>
    <br>
      <button id="btn-sim"   type="button" class="btn btn-primary">Sim</button>
      <button id="btn-close" type="button" class="btn btn-default btn-cleanx">Não</button>
  </div>

  <div id="div_cupom" title="cupom">
    <span><?var_dump(htmlspecialchars ($result));?></span>
  </div>

</div>

<!--
<script type="text/javascript" src="js\jquery-3.1.1.min.js"></script>
-->

<?php include 'footer.php';?>
<script>
  $(document).ready(function() {

    $("#dialog").dialog({
      autoOpen: false,
      modal: true
    });

    $("#btn-sim").click(function(){
      window.location.href = 'erpc_faturar_pedidos_list.php';
      /*
      window.open('http://localhost:90/erp/erpc_faturamento_list.php', '_blank', 'location=no,toolbar=0,width=50');
      */
    });

    $("#btn-close").click(function(){
      $("#dialog").dialog("close");
      window.location.href = 'erpc_faturar_pedidos_list.php';
    })

    $("#dialog").dialog("open");

  }(jQuery));
</script>
