<?php
ini_set('error_reporting', "-1");
ini_set('error_reporting', E_ALL);

$doc_recibido = $_GET["documento"];

 
// $id_empresa = str_replace(".xml","",$doc_recibido);
 $id_empresa = 1;  //substr ($id_empresa, -1);
 
//exit();
require '../Clases/Firmar.php';
require '../Clases/Autentificacion.php';
require '../Clases/Empaquetar.php';

require './Clase_SoapSII.php';
include('../../conex.php'); 


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



/************** 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");

/* UN DIRECTORIO CON LOS DOCUMENTOS
 * BAJ0 EL :
 *      1.- DOCUMENTOS EN BRUTO
 *      2.- DOCUMENTOS DE PASO
 *      3.- DOCUMENTOS TIMBRADOS Y FIRMADOS
 *      4.- PAQUETES A ENVIAR FIRMADOS
 */

//print_r($_GET);

 



    $arrDocRecibido = explode("|",$doc_recibido);

    foreach ($arrDocRecibido as $indiceDocs => $nDocs) {
        $documentos[$indiceDocs]["ruta"] = "../DOC/ORIGINAL/".$nDocs ;
        $documentos[$indiceDocs]["nombre"] = $nDocs ;
    }
    

    foreach ($documentos as $indice => $arrDocs) 
    {    
        $esteDocFrimar = new Firmar();
        $esteDocFrimar->dteFirmarRuta = $arrDocs["ruta"];
        $esteDocFrimar->dteFirmarNombre = $arrDocs["nombre"];
        $esteDocFrimar->pkRuta = PK_RUTA;
        $esteDocFrimar->pkPass = PK_PASS;
	
       

        $esteDocFrimar->Procesa();

        $documentos[$indice]["rutaFirmado"] = $esteDocFrimar->arrDteFirmadoRuta['archivo'];
        $documentos[$indice]["tipoDTE"] = $esteDocFrimar->tipoDTE;

        unset($esteDocFrimar);

    }
    
    $estaAutentificacion = new Autentificacion();
    
    $estaAutentificacion->pkPass = PK_PASS;
    $estaAutentificacion->pkRuta = PK_RUTA;
    $estaAutentificacion->pemRuta = PEM_RUTA;
    $estaAutentificacion->keyRuta = KEY_RUTA;

    $estaAutentificacion->getToken(); 
    
    $token = $estaAutentificacion->token;
 
    $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;
   // no envia a SII
    $esteSoap = new Clase_SoapSII();

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

    
 }
?>