<?php
$doc_recibido = $_GET["documento"];
 
// $id_empresa = str_replace(".xml","",$doc_recibido);
 $id_empresa = 1; //substr ($id_empresa, -1);


require '../Clases/Firmar_bol.php';
require '../Clases/Autentificacion.php';
require '../Clases/Empaquetar_bol.php';

require './Clase_SoapSII.php';

include('../../conex.php');
/************** Datos Empresa ****************** seleccionar cual empresa  es el ingreso  en ssesion******/
	$sql_empresa = "SELECT * FROM empresa WHERE  id=$id_empresa;";
	
	$res_empresa = mysql_query($sql_empresa,$enlace);
	$row=0;
	
		$empresa_rut=mysql_result($res_empresa, $row, "rut_empresa");
		$empresa_rut = str_replace('.', '', $empresa_rut);
		$rut_representante=mysql_result($res_empresa, $row, "rut_representante");
	  	$rut_representante = str_replace('.', '', $rut_representante);
		$fecha_resolucion=mysql_result($res_empresa, $row, "fecha_resolucion");
		$numero_resolucion=mysql_result($res_empresa, $row, "numero_resolucion");
		$certificacion=mysql_result($res_empresa, $row, "certificacion");
		$fecha_certificacion=mysql_result($res_empresa, $row, "fecha_certificacion");
		$sitio_empresa=mysql_result($res_empresa, $row, "sitio_empresa");
        $ip_empresa=mysql_result($res_empresa, $row, "ip_empresa");
	     $clave_certificado_digital=mysql_result($res_empresa, $row, "clave_certificado_digital");
		
	
	if($certificacion=='SI') { $ambiente="CERTIFICACION"; $fecha_resolucion=$fecha_certificacion; $numero_resolucion=0;} else      {$ambiente="PRODUCCION";}
	
		
define("SLC_HAMBIENTE", $ambiente );

define("RUT_EMISOR", $empresa_rut );  
define("RUT_ENVIA", $rut_representante);
define("PK_RUTA",'./'.$rut_representante.'.pfx');

define("FECHA_RESOLUCION", $fecha_resolucion);
define("NUMERO_RESOLUCION", $numero_resolucion);

define("PK_PASS", $clave_certificado_digital);

define("PEM_RUTA", "./crt.pem");
define("KEY_RUTA", "./server.key");


if (!isset($_GET["documento"])){
  echo "<h3>No se ha enviado ninguna ruta.</h3>";  
}
else{
    $doc_recibido = $_GET["documento"];


    $arrDocRecibido = explode("|",$doc_recibido);
    
    foreach ($arrDocRecibido as $indiceDocs => $nDocs) 
	{
        $documentos[$indiceDocs]["ruta"] = "../DOC/ORIGINAL/".$nDocs ;
        $documentos[$indiceDocs]["nombre"] = $nDocs ;
    }
    
    $esLibro = FALSE ;

    foreach ($documentos as $indice => $arrDocs) 
    {    
        $esteDocFrimar = new Firmar();
        $esteDocFrimar->dteFirmarRuta = $arrDocs["ruta"];
        $esteDocFrimar->pkRuta = PK_RUTA;
        $esteDocFrimar->pkPass = PK_PASS;
        $esteDocFrimar->getXMLdteFirmar();
        $esteDocFrimar->getTipoDocumentoFirmar();
        
       
            $documentos[$indice]["rutaFirmado"] = $arrDocs["ruta"];
            $esLibro= TRUE ;
            $documentos[$indice]["tipoDTE"] = $esteDocFrimar->tipoLibro;
        

        unset($esteDocFrimar);

    }


    $estePaquete = new Empaquetar($documentos);
    $estePaquete->sRutEmisor=RUT_EMISOR;
    $estePaquete->sRutEnvia=RUT_ENVIA;
    $estePaquete->pkPass=PK_PASS;
    $estePaquete->pkRuta=PK_RUTA;
      $estePaquete->sFechaResolucion=FECHA_RESOLUCION;
    $estePaquete->sNumeroResolucion=NUMERO_RESOLUCION;
    
    $estePaquete->Empaqueta();
    
    $arrEnviar= $estePaquete->arrXmlEnviar;
    
    $estaAutentificacion = new Autentificacion();
    
    $estaAutentificacion->pkPass = PK_PASS;
    $estaAutentificacion->pkRuta = PK_RUTA;
    $estaAutentificacion->pemRuta = PEM_RUTA;
    $estaAutentificacion->keyRuta = KEY_RUTA;

    $estaAutentificacion->getToken();
    $token = $estaAutentificacion->token;

    $esteSoap = new Clase_SoapSII();

    $envio = $esteSoap->sendUploadDTE(array('rutEmisor' => RUT_EMISOR,'rutEnvia' => RUT_ENVIA,'archivo' => $arrEnviar['archivo'],'token' => $token));
    print_r($envio);

 	//*******  saca datos de envio ****
	$trackid=get_string_between($envio,"<TRACKID>","</TRACKID>");
	  // echo ($trackid);

	$up_dcto = "UPDATE envio_libro_sii SET trackid='$trackid' WHERE  trackid='1' and empresa=$id_empresa";
	 mysql_query($up_dcto,$enlace);	
		
   
 }
 //*************  fin ******
 
 function get_string_between($string, $start, $end)
    {
    $string = " ".$string;
     $ini = strpos($string,$start);
     if ($ini == 0) return "";
     $ini += strlen($start);     
     $len = strpos($string,$end,$ini) - $ini;
     return substr($string,$ini,$len);
   }
   
?>