<?PHP
session_start();
if ($_SESSION['estado'] != "ON")
		{
		?>
		<script>
			parent.location.href = '../index.php';
		</script>
		<? 
		exit();
		}
		
$id_empresa = $_SESSION['ss_empresa'];     //*******************  05/06/16  ******************
$id_user = $_SESSION['ss_user'];

include("../conex.php");
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_POSTFIELDS, array('file' => '@'.$nombreArchivo));
	

curl_setopt($handle, CURLOPT_URL, 'http://'.$ip_empresa.'/'.$sitio_empresa.'/LibFE/firmarDTE/PreparaRecepArchivo.php?documento='.$nombreArchivo);

	curl_exec($handle);
	curl_close($handle);
    }
	
function obtValorXML($xml, $var, $x) 
    {
	$dom = new DOMDocument();
	$dom->load($xml);
	$data = array();
	$elements = $dom->getElementsByTagName($var);
	foreach($elements as $node)
	  {
		foreach($node->childNodes as $child) 
		{
			$data[] = $child->nodeValue;
		}
	  }
	if(count($data) > 0) 
	  {
		return($data[$x]);
	  } 
	  else 
	  {
		return "";
	  }
      }
   

/********************************** 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;
	while (mysql_fetch_object ($res_empresa))
		{
		$empresa_rut=mysql_result($res_empresa, $row, "rut_empresa");
			$empresa_rut = str_replace('.', '', $empresa_rut);
		$sitio_empresa=mysql_result($res_empresa, $row, "sitio_empresa");
        $ip_empresa=mysql_result($res_empresa, $row, "ip_empresa");
		}
//*********************************************************************************************************
  
   $num_resp=$txtcorrelativo;
 

   // $fecha  viene de factura.php
 $archivo=$nombre_xml;   //     $nombre_xml viene de factura.php
 //**********************************************************************************************
 $archivo_xml="../LibFE/DOC/ORIGINAL/".$archivo;


	$TpoDTE=obtValorXML($archivo_xml,'TpoDTE','0');
    $cant=obtValorXML($archivo_xml,'NroDTE','0');
	$emisor = obtValorXML($archivo_xml,'RutEmisor','0');
	$receptor = obtValorXML($archivo_xml,'RutReceptor','0');
	$DigestE = obtValorXML($archivo_xml,'DigestValue','0');
	$fecha_entrada= obtValorXML($archivo_xml,'TmstFirmaEnv','0');
	
  for ($i=0; $i<$cant; $i++)
	{ 
				
		$fecha_emision[$i] = obtValorXML($archivo,'FchEmis',$i);
		$TipoDTE_O[$i]=obtValorXML($archivo,'TipoDTE',$i);
				
				$iddcto = $TipoDTE_O[$i];
				$desc_global[$i]=obtValorXML($archivo,'ValorDR',$i);	
				
				
				$rut_emisor[$i] = obtValorXML($archivo,'RUTEmisor',$i);
			
				$rut_receptor[$i] = obtValorXML($archivo,'RUTRecep',$i);
	
				$RznSoc[$i] = obtValorXML($archivo,'RznSoc',$i);
			
				$Telefono[$i] = obtValorXML($archivo,'Telefono',$i);
				$GiroEmis[$i] = obtValorXML($archivo,'GiroEmis',$i);
					$DirOrigen[$i] = obtValorXML($archivo,'DirOrigen',$i);
					
					$CmnaOrigen[$i] = obtValorXML($archivo,'CmnaOrigen',$i);
					$CiudadOrigen[$i] = obtValorXML($archivo,'CiudadOrigen',$i);	
					$FmaPago[$i] = obtValorXML($archivo,'FmaPago',$i);	
						
				$nro[$i] = obtValorXML($archivo,'Folio',$i);
			
				$cor[$i] =  $nro[$i];
				
				$observacion =  "";
				 $ivausocomun = 0;
			     $factorivausocomun =  0;
				 
				 $iva_no_rec = 0;
			     $cod_iva_no_rec= 0;
				 
				$exento[$i]= obtValorXML($archivo,'MntExe',$i);
				  if ($exento[$i]=='') {$exento[$i]=0;}
				
                $neto[$i]= obtValorXML($archivo,'MntNeto',$i);  
				$iva[$i] = obtValorXML($archivo,'IVA',$i);
				
				
				$total[$i] = obtValorXML($archivo,'MntTotal',$i);
				$ivar[$i] = 0;
				
				$sel[$i]=0;
	           }
  
  //************************************************************
  
  
  
  
  
   
//****  genera XML   Recepcion_Archivo*******

$xml=new DomDocument("1.0", "UTF-8");
 $raiz=$xml->createElement("Resultado");
 $raiz=$xml->appendChild($raiz); 
 $raiz->setAttribute("ID", "RECEP-".$num_resp);

  /*--Caratula -------------------------*/
    $Caratula=$xml->createElement("Caratula");
    $Caratula=$raiz->appendChild($Caratula); 
    $Caratula->setAttribute("version", "1.0");
	 
    $RutResponde=$xml->createElement("RutResponde", $empresa_rut);
    $RutResponde=$Caratula->appendChild($RutResponde); 

	$RutRecibe=$xml->createElement("RutRecibe", $emisor);
    $RutRecibe=$Caratula->appendChild($RutRecibe); 
	
	$IdRespuesta=$xml->createElement("IdRespuesta", $num_resp);
    $IdRespuesta=$Caratula->appendChild($IdRespuesta);

	$NroDetalles=$xml->createElement("NroDetalles", $cant);
    $NroDetalles=$Caratula->appendChild($NroDetalles);
	
    $TmstFirmaResp=$xml->createElement("TmstFirmaResp", date('Y-m-d').'T'.date('H:i:s'));
    $TmstFirmaResp=$Caratula->appendChild($TmstFirmaResp);
	
	$RecepcionEnvio=$xml->createElement("RecepcionEnvio");
    $RecepcionEnvio=$raiz->appendChild($RecepcionEnvio); 
	
	    $NmbEnvio=$xml->createElement("NmbEnvio",$archivo);
    	$NmbEnvio=$RecepcionEnvio->appendChild($NmbEnvio); 
		
		    $FchRecep=$xml->createElement("FchRecep",$fecha_entrada);
    	    $FchRecep=$RecepcionEnvio->appendChild($FchRecep); 
			
		 	$CodEnvio=$xml->createElement("CodEnvio",$num_resp);
    	    $CodEnvio=$RecepcionEnvio->appendChild($CodEnvio); 
			
			$EnvioDTEID=$xml->createElement("EnvioDTEID","SetDoc");
    	    $EnvioDTEID=$RecepcionEnvio->appendChild($EnvioDTEID); 
			
			$Digest=$xml->createElement("Digest",$DigestE);
    	    $Digest=$RecepcionEnvio->appendChild($Digest); 
			
			$RutEmisor=$xml->createElement("RutEmisor",$emisor);
    	    $RutEmisor=$RecepcionEnvio->appendChild($RutEmisor); 
			
			$RutReceptor=$xml->createElement("RutReceptor",$receptor);
    	    $RutReceptor=$RecepcionEnvio->appendChild($RutReceptor); 
			
			$EstadoRecepEnv=$xml->createElement("EstadoRecepEnv","0");
    	    $EstadoRecepEnv=$RecepcionEnvio->appendChild($EstadoRecepEnv); 
			
			$RecepEnvGlosa=$xml->createElement("RecepEnvGlosa","Envio Recibido Conforme");
    	    $RecepEnvGlosa=$RecepcionEnvio->appendChild($RecepEnvGlosa); 
			
			$NroDTE=$xml->createElement("NroDTE",$cant);
    	    $NroDTE=$RecepcionEnvio->appendChild($NroDTE); 


        
	//***************detalles *********		
		for ($i=0; $i<$cant; $i++)
	     { 
	  $RecepcionDTE=$xml->createElement("RecepcionDTE");
      $RecepcionDTE=$RecepcionEnvio->appendChild($RecepcionDTE); 
		 
		 $TipoDTE=$xml->createElement("TipoDTE", $TpoDTE);
    	 $TipoDTE=$RecepcionDTE->appendChild($TipoDTE);
		
		  $Folio=$xml->createElement("Folio", $nro[$i]);
    	 $Folio=$RecepcionDTE->appendChild($Folio);
		
		  $FchEmis=$xml->createElement("FchEmis",$fecha_emision[$i]);
    	 $FchEmis=$RecepcionDTE->appendChild($FchEmis);
		
		  $RUTEmisor=$xml->createElement("RUTEmisor",$rut_emisor[$i]);
    	 $RUTEmisor=$RecepcionDTE->appendChild($RUTEmisor);
		 
		  $RUTRecep=$xml->createElement("RUTRecep",$rut_receptor[$i]);
    	 $RUTRecep=$RecepcionDTE->appendChild($RUTRecep);		
		 
		  $MntTotal=$xml->createElement("MntTotal", $total[$i]);
    	 $MntTotal=$RecepcionDTE->appendChild($MntTotal);
		 
		  $EstadoRecepDTE=$xml->createElement("EstadoRecepDTE", $sel[$i]);
    	 $EstadoRecepDTE=$RecepcionDTE->appendChild($EstadoRecepDTE);
		 
		 $glosa="DTE Recibido OK";
		 if ($sel[$i]==0) $glosa="DTE Recibido OK";
		 if ($sel[$i]==1) $glosa="DTE No recibido - Error Esquema";
		 if ($sel[$i]==2) $glosa="DTE No recibido - Error Firma";
		 if ($sel[$i]==3) $glosa="DTE No Recibido - Error en RUT Receptor";
		 
		 $RecepDTEGlosa=$xml->createElement("RecepDTEGlosa", $glosa);
    	 $RecepDTEGlosa=$RecepcionDTE->appendChild($RecepDTEGlosa);
		}
	//***************detalles *********		 
	
   
/*guardar xml--------------------------------*/ 

$archivo_x= "R_A_".$archivo;
$archivo="../LibFE/DOC/ORIGINAL/".$archivo_x;
 $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 ".$archivo.""); 
  }
 else
 {   echo("No se puede guardar el ".$archivo); }

 
 ?>
 <title>Recepcion Archivo XML</title>
 
 <script language="javascript">
   
	//window.opener.document.form1.Rarchivo.disabled = false;
	//window.opener.document.form1.comercial.disabled = true;
	//alert ("********************  OK ****************");
	window.top.open('','_parent','');window.top.close();	


</script>
