 <?PHP
session_start();
if ($_SESSION['estado'] != "ON")
		{
		?>
		<script>
			parent.location.href = '../index.php';
		</script>
		<? 
		exit();
		}
 $id_empresa = $_SESSION['ss_empresa'];
 $id_user = $_SESSION['ss_user'];
 function quitarEspecialesXML($sCad)
      {
         $sCad=str_replace("&","&amp;",$sCad);
         $sCad=str_replace("<","&lt;",$sCad);
         $sCad=str_replace(">","&gt;",$sCad);
         $sCad=str_replace('"',"&#34;",$sCad);
        $sCad=str_replace("'","&#39;",$sCad);
         return $sCad;
      }


function subirArchivo($nombreArchivo,$ip_empresa,$emp,$sitio_empresa)
    {
	$handle = curl_init();
	curl_setopt($handle, CURLOPT_POST, true);	
	curl_setopt($handle, CURLOPT_URL, 'http://'.$ip_empresa.'/'.$sitio_empresa.'/LibFE/firmarDTE/FirmaEmpaquetaEnviaPdfCorreo.php?documento='.$nombreArchivo);
	curl_exec($handle);
	curl_close($handle);
    }

 
include("../conex.php");
/********************************** Datos Empresa ****************** seleccionar cual empresa  es el ingreso  en ssesion******/
	$sql_empresa = "SELECT * FROM empresa, comunas WHERE comunas.cod_comuna = empresa.comuna and 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);
		$empresa_nombre=mysql_result($res_empresa, $row, "nombre");
		$empresa_direccion=mysql_result($res_empresa, $row, "direccion");
		$empresa_ciudad=mysql_result($res_empresa, $row, "ciudad");
		$empresa_comuna=mysql_result($res_empresa, $row, "comunas.comuna");
		$empresa_actividad=mysql_result($res_empresa, $row, "actividad");
		$empresa_acteco=mysql_result($res_empresa, $row, "acteco");
		$empresa_rut_representante=mysql_result($res_empresa, $row, "rut_representante");
		$empresa_nombre_representante=mysql_result($res_empresa, $row, "nombre_representante");
		$sitio_empresa=mysql_result($res_empresa, $row, "sitio_empresa");
        $ip_empresa=mysql_result($res_empresa, $row, "ip_empresa");

//**************************Selecciona comuna*****************************************************/
$sqlc = "SELECT * FROM comunas WHERE cod_comuna = $lstcom";
$resc = mysql_query($sqlc,$enlace);
$row=0;
while (mysql_fetch_object ($resc))
	{
	$comuna = mysql_result($resc, $row, "comuna");
	$row+=1;
	}
//*********************************************************************************************************
                       // mcc    22.12.14
$fecha = $txtfecha;
$fecha = $fecha[6]."".$fecha[7]."".$fecha[8]."".$fecha[9]."-".$fecha[3]."".$fecha[4]."-".$fecha[0]."".$fecha[1];
$fecha2 = $fecha2[6]."".$fecha2[7]."".$fecha2[8]."".$fecha2[9]."-".$fecha2[3]."".$fecha2[4]."-".$fecha2[0]."".$fecha2[1];
$tipopago=1;
if ($lstpago==3) $tipopago=2;
if ($lstpago==1) $tipopago=1;
if ($lstpago==6) $tipopago=3;


if ($lstdcto==2 || $lstdcto==33) $tipodcto=33;     //factura
if ($lstdcto==5 || $lstdcto==52) $tipodcto=52;    //guia
if ($lstdcto==7 || $lstdcto==56) $tipodcto=56;     // ND
if ($lstdcto==6 || $lstdcto==61) $tipodcto=61;     //NC
if ($lstdcto==18 || $lstdcto==34) $tipodcto=34;     // factura no afecta  EXENTA


 $res_ven = mysql_query("SELECT * FROM tipo_condicion_pago WHERE id=$lstcondcion",$enlace);
       	if(mysql_fetch_object($res_ven)) $condicion_pago = mysql_result($res_ven, 0, "descripcion");




$rut = str_replace('.', '', $txtrut);

//****  genera XML *******
$xml=new DomDocument("1.0", "UTF-8");


 $raiz=$xml->createElement("DTE");
 $raiz=$xml->appendChild($raiz); 
        $raiz->setAttribute("version", "1.0"); 
 
   $Documento=$xml->createElement("Documento");
    $Documento=$raiz->appendChild($Documento); 
        $Documento->setAttribute("ID", "DTE-".$tipodcto."-".$txtndcto); 

    $Encabezado=$xml->createElement("Encabezado");
    $Encabezado=$Documento->appendChild($Encabezado); 

 /*--IdDoc-------------------------*/ 
 $IdDoc=$xml->createElement("IdDoc");
 $IdDoc=$Encabezado->appendChild($IdDoc); 
 
 $TipoDTE=$xml->createElement("TipoDTE", $tipodcto);     //$lstdcto =33
 $TipoDTE=$IdDoc->appendChild($TipoDTE); 
 $Folio=$xml->createElement("Folio",$txtndcto);
 $Folio=$IdDoc->appendChild($Folio);
 $FchEmis=$xml->createElement("FchEmis", $fecha);
 $FchEmis=$IdDoc->appendChild($FchEmis); 
 $FmaPago=$xml->createElement("FmaPago", $tipopago);
 $FmaPago=$IdDoc->appendChild($FmaPago); 
 $FchVenc=$xml->createElement("FchVenc", $fecha2);
 $FchVenc=$IdDoc->appendChild($FchVenc); 
 
  /*--Emisor----------------------*/ 
  $Emisor=$xml->createElement("Emisor");
  $Emisor=$Encabezado->appendChild($Emisor);
   
  $RUTEmisor=$xml->createElement("RUTEmisor", $empresa_rut);
  $RUTEmisor=$Emisor->appendChild($RUTEmisor);
        $empresa_nombre = quitarEspecialesXML($empresa_nombre); 
  $RznSoc=$xml->createElement("RznSoc", $empresa_nombre);
  $RznSoc=$Emisor->appendChild($RznSoc); 
         $empresa_actividad = quitarEspecialesXML($empresa_actividad);  
  $GiroEmis=$xml->createElement("GiroEmis", $empresa_actividad);
  $GiroEmis=$Emisor->appendChild($GiroEmis); 
  $Acteco=$xml->createElement("Acteco", $empresa_acteco);
  $Acteco=$Emisor->appendChild($Acteco); 
          $empresa_direccion= quitarEspecialesXML($empresa_direccion); 
  $DirOrigen=$xml->createElement("DirOrigen", $empresa_direccion);
  $DirOrigen=$Emisor->appendChild($DirOrigen);
  	       $empresa_comuna = quitarEspecialesXML($empresa_comuna); 
  $CmnaOrigen=$xml->createElement("CmnaOrigen", $empresa_comuna);
  $CmnaOrigen=$Emisor->appendChild($CmnaOrigen);  
           $empresa_ciudad = quitarEspecialesXML($empresa_ciudad); 
  $CiudadOrigen=$xml->createElement("CiudadOrigen", $empresa_ciudad);
  $CiudadOrigen=$Emisor->appendChild($CiudadOrigen); 
 
   $dato_vendedor=$lstvendedor.' Ruta:'.$lstzona.' Pago:'.$condicion_pago;
		  if ($txtorden!='')  $dato_vendedor= $dato_vendedor.' OC:'.$txtorden;
		  $dato_vendedor=quitarEspecialesXML($dato_vendedor); 
  $CdgVendedor=$xml->createElement("CdgVendedor", substr($dato_vendedor,0,59));
  $CdgVendedor=$Emisor->appendChild($CdgVendedor); 
 
  
/*--Receptor----------------------*/ 
  $Receptor=$xml->createElement("Receptor");
  $Receptor=$Encabezado->appendChild($Receptor); 
  $RUTRecep=$xml->createElement("RUTRecep", $rut);
  $RUTRecep=$Receptor->appendChild($RUTRecep); 
         $txtrsoc = quitarEspecialesXML($txtrsoc); 
  $RznSocRecep=$xml->createElement("RznSocRecep", substr($txtrsoc,0,59));
  $RznSocRecep=$Receptor->appendChild($RznSocRecep); 
           $txtactividad = quitarEspecialesXML($txtactividad); 
  $GiroRecep=$xml->createElement("GiroRecep", substr($txtactividad,0,39));
  $GiroRecep=$Receptor->appendChild($GiroRecep); 
           $txtdireccion = quitarEspecialesXML($txtdireccion);
  $DirRecep=$xml->createElement("DirRecep", substr($txtdireccion,0,59));
  $DirRecep=$Receptor->appendChild($DirRecep); 
            $comuna = quitarEspecialesXML($comuna);
  $CmnaRecep=$xml->createElement("CmnaRecep", $comuna);
  $CmnaRecep=$Receptor->appendChild($CmnaRecep);
             $txtciudad = quitarEspecialesXML($txtciudad);  
  $CiudadRecep=$xml->createElement("CiudadRecep", $txtciudad);
  $CiudadRecep=$Receptor->appendChild($CiudadRecep);   

/*--Totales--------------------------*/ 
   $Totales=$xml->createElement("Totales");
   $Totales= $Encabezado->appendChild($Totales); 
   $MntNeto=$xml->createElement("MntNeto", $txtneto);
   $MntNeto=$Totales->appendChild($MntNeto);
   
   if ($txtexento>0) 
    {
   $MntExe=$xml->createElement("MntExe", $txtexento);
   $MntExe=$Totales->appendChild($MntExe);
    }
	$tasa_iva=19;
	if ($tipodcto!=34) 	
	{
    $TasaIVA=$xml->createElement("TasaIVA", $tasa_iva);
	$TasaIVA=$Totales->appendChild($TasaIVA); 
	}
   
	 $IVA=$xml->createElement("IVA", $txtiva);
	 $IVA=$Totales->appendChild($IVA); 

	if ($txtiva5>0) 
    {
	$ImptoReten=$xml->createElement("ImptoReten");
    $ImptoReten= $Totales->appendChild($ImptoReten); 
	
	$TipoImp=$xml->createElement("TipoImp", "18");
	 $TipoImp=$ImptoReten->appendChild($TipoImp); 
	
	$TasaImp=$xml->createElement("TasaImp", "5"); 
	 $TasaImp=$ImptoReten->appendChild($TasaImp); 
	 
	 $MontoImp=$xml->createElement("MontoImp", $txtiva5);
	 $MontoImp=$ImptoReten->appendChild($MontoImp); 
	 }

	$MntTotal=$xml->createElement("MntTotal", $txttotal);
	$MntTotal=$Totales->appendChild($MntTotal);

/*--Detalles--------------------------*/ 
$cntcal=1;
while ($cntcal<$cant_real)
	{
	 $Detalle=$xml->createElement("Detalle");
     $Detalle= $Documento->appendChild($Detalle); 	
      
	   $NroLinDet=$xml->createElement("NroLinDet", $cntcal);
	   $NroLinDet=$Detalle->appendChild($NroLinDet);
	
	  $CdgItem=$xml->createElement("CdgItem");
	   $CdgItem=$Detalle->appendChild($CdgItem);
	       $TpoCodigo=$xml->createElement("TpoCodigo","");
	        $TpoCodigo=$CdgItem->appendChild($TpoCodigo);
	   
	    $VlrCodigo=$xml->createElement("VlrCodigo", $codigo[$cntcal]);
	    $VlrCodigo=$CdgItem->appendChild($VlrCodigo);
	 
     if ($afecto[$cntcal]=='0')
	 {
     $IndExe=$xml->createElement("IndExe", "1");
	 $IndExe=$Detalle->appendChild($IndExe);	
	 }
	      $deta = quitarEspecialesXML($detalle[$cntcal]);
		  
     $NmbItem=$xml->createElement("NmbItem", $deta );   
	 $NmbItem=$Detalle->appendChild($NmbItem);	
	//******** detalle extendido  para NC
       $deta2 = quitarEspecialesXML($detalle_1[$cntcal]);
	$DscItem=$xml->createElement("DscItem", $deta2 );   
	$DscItem=$Detalle->appendChild($DscItem);	
	
	if ($cantidad[$cntcal]!=0)
	 {
	 $QtyItem=$xml->createElement("QtyItem", $cantidad[$cntcal]);
	 $QtyItem=$Detalle->appendChild($QtyItem);	
	 }
	
	//******* unidad de medida  ***** UnmdItem 
	// $UnmdItem=$xml->createElement("UnmdItem", "Hora" );   
	// $UnmdItem=$Detalle->appendChild($UnmdItem);	
 
	 if ($precio[$cntcal]!=0)
	 {
	 $PrcItem=$xml->createElement("PrcItem", $precio[$cntcal]);
	 $PrcItem=$Detalle->appendChild($PrcItem);	
	 }
	 
	 $des = $desc[$cntcal];
 if ($des>0)
	 {
	 $DescuentoPct=$xml->createElement("DescuentoPct", $des );
	 $DescuentoPct=$Detalle->appendChild($DescuentoPct);	 
	 }
         $sub_1=$cantidad[$cntcal] * $precio[$cntcal];
			  if ($sub_1-intval($sub_1)>=.5) $sub_1=intval($sub_1)+1; else $sub_1=intval($sub_1);
	 $monto_des = $sub_1 - $total[$cntcal];
	
 
 if ($monto_des>0)
	 {
	 $DescuentoMonto=$xml->createElement("DescuentoMonto", $monto_des );
	 $DescuentoMonto=$Detalle->appendChild($DescuentoMonto);	
	 }
	 $MontoItem=$xml->createElement("MontoItem", $total[$cntcal]);
	 $MontoItem=$Detalle->appendChild($MontoItem);	

	$cntcal+=1;
	}

// ***** descuento global *****
      if ($txtdes>0)
	 {
	 $DscRcgGlobal=$xml->createElement("DscRcgGlobal");
     $DscRcgGlobal= $Documento->appendChild($DscRcgGlobal); 	
      
	   $NroLinDR=$xml->createElement("NroLinDR", "1");
	   $NroLinDR=$DscRcgGlobal->appendChild($NroLinDR);
    
       $TpoMov=$xml->createElement("TpoMov", "D");
	   $TpoMov=$DscRcgGlobal->appendChild($TpoMov);
	     
		 if ($txtpor>0) 
		 {$signo="%";
		  $signo_valor=$txtpor;
		  }
		  else 
		  {$signo="$";
		  $signo_valor=$txtdes;
		  }
		 
	   $TpoValor=$xml->createElement("TpoValor", $signo);
	   $TpoValor=$DscRcgGlobal->appendChild($TpoValor);
	   
	   $ValorDR=$xml->createElement("ValorDR", $signo_valor);
	   $ValorDR=$DscRcgGlobal->appendChild($ValorDR);
	   }
      

// referencias
  if ($tiporef!='')
  {
  $Referencia=$xml->createElement("Referencia");
  $Referencia= $Documento->appendChild($Referencia); 	
      
	   $NroLinRef=$xml->createElement("NroLinRef", "1");
       $NroLinRef=$Referencia->appendChild($NroLinRef);
       $TpoDocRef=$xml->createElement("TpoDocRef", $tiporef);
	   $TpoDocRef=$Referencia->appendChild($TpoDocRef);	   
       $FolioRef=$xml->createElement("FolioRef", $folioref);          //$folioref
	   $FolioRef=$Referencia->appendChild($FolioRef);	              
	  $FchRef=$xml->createElement("FchRef", $fecha);                   //$fecharef
	   $FchRef=$Referencia->appendChild($FchRef); 
	 if ($codref!='' && $codref!='0')
	 {        
	  $CodRef=$xml->createElement("CodRef", $codref);
	  $CodRef=$Referencia->appendChild($CodRef);	   
	  }
	   $RazonRef=$xml->createElement("RazonRef", $razonref);
	  $RazonRef=$Referencia->appendChild($RazonRef);
   }
      if ($tiporef2!='')
  { 
	  $Referencia=$xml->createElement("Referencia");
      $Referencia= $Documento->appendChild($Referencia); 
       $NroLinRef=$xml->createElement("NroLinRef", "2");
       $NroLinRef=$Referencia->appendChild($NroLinRef);
       $TpoDocRef=$xml->createElement("TpoDocRef", $tiporef2);
	   $TpoDocRef=$Referencia->appendChild($TpoDocRef);	   
       $FolioRef=$xml->createElement("FolioRef", $folioref2);          
	   $FolioRef=$Referencia->appendChild($FolioRef);	
	   
	    $fecharef2 = $fecharef2[6]."".$fecharef2[7]."".$fecharef2[8]."".$fecharef2[9]."-".$fecharef2[3]."".$fecharef2[4]."-".$fecharef2[0]."".$fecharef2[1];
	   
	                 
	  $FchRef=$xml->createElement("FchRef", $fecharef2);                  
	   $FchRef=$Referencia->appendChild($FchRef);       
	  $CodRef=$xml->createElement("CodRef", $codref2);
	  $CodRef=$Referencia->appendChild($CodRef);	   
	   $RazonRef=$xml->createElement("RazonRef", $razonref2);
	  $RazonRef=$Referencia->appendChild($RazonRef);
    }
// adjuntos

 //  $Adjuntos=$xml->createElement("Adjuntos");
  // $Adjuntos= $Documento->appendChild($Adjuntos); 	
    //   $Observacion=$xml->createElement("Observacion", $totalkilos);CASO  316414-1
	 //  $Observacion=$Adjuntos->appendChild($Observacion);
     //  $Observacion=$xml->createElement("Observacion", $obs1);
	  // $Observacion=$Adjuntos->appendChild($Observacion);
	   
/*guardar xml--------------------------------*/ 
$archivo_x="DOC_".$tipodcto."_".$txtndcto.".xml";
$archivo="../LibFE/DOC/ORIGINAL/".$archivo_x;
$archivo_f="DOC_".$tipodcto."_".$txtndcto."_f.pdf";

 $xml->formatOut=true;
 $strings_xml=$xml->saveXML(); 

if($xml->save($archivo))
  {
  subirArchivo($archivo_x, $ip_empresa, $id_empresa, $sitio_empresa);	// cargar archivo
  
	echo "Termino de crear el Original:".$archivo." Firmado:".$archivo." ";
  }
   else 
  {
	echo "No pudimos guardar el ".$archivo;
  }

//******************** Rescata trak ID  ************************
 $token='sin token';
    $sql_token = "SELECT token FROM salida WHERE tipo_dcto=$tipodcto AND num_dcto=$txtndcto";
	$res_token =  mysql_query($sql_token, $enlace);	
	if(mysql_fetch_object($res_token))	$token = mysql_result($res_token, 0, "token"); 
 
 
 ?>
 
 <script>	
    window.opener.document.form1.firmado.value ='<?=$archivo_f;?>';
	window.opener.document.form1.token.value ='<?=$token;?>';
	window.top.open('','_parent','');window.top.close();
</script>

