<?php
ini_set('error_reporting', 1);
require '../Clases/Firmar.php';
date_default_timezone_set('America/Toronto');

require '../Clases/class.phpmailer.php';

include('../Clases/conex_correo.php');

include('../../conex.php'); 
$id_empresa=1;

/********************************** 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);
		$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");
		$fecha_certificacion=mysql_result($res_empresa, $row, "fecha_certificacion");
		$certificacion=mysql_result($res_empresa, $row, "certificacion");
		$correo_dte=mysql_result($res_empresa, $row, "correo_dte");
		$clave_correo_dte=mysql_result($res_empresa, $row, "clave_correo_dte");
		$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");
		
     
	 $ambiente="PRODUCCION";
	if($certificacion=='SI') { $ambiente="CERTIFICACION"; $fecha_resolucion=$fecha_certificacion; $numero_resolucion=0;}

   // var_dump( $ambiente);

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



    $doc_recibido = $_GET["documento"];


    $pkRuta = './'.$rut_representante.'.pfx';     
    $rutEmisor = $empresa_rut;
    $rutEnvia = $rut_representante;
    
	$pkPass = $clave_certificado_digital;
    
    // crear lista de archivos
    $arrDocRecibido = explode("|",$doc_recibido);
   // print_r($arrDocRecibido);
    foreach ($arrDocRecibido as $indiceDocs => $nDocs) {
       // echo "$indiceDocs ** $nDocs<br>\n";
        $documentos[$indiceDocs]["ruta"] = "../DOC/ORIGINAL/".$nDocs ;
    }
    // obtiene contenido de documento xml
    $xmlra = file_get_contents($documentos[0]["ruta"]);

   
    $xmlras = "<RespuestaDTE xmlns=\"http://www.sii.cl/SiiDte\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" version=\"1.0\" xsi:schemaLocation=\"http://www.sii.cl/SiiDte RespuestaEnvioDTE_v10.xsd\">\n"
            .arreglarXML($xmlra).
            "\n</RespuestaDTE>";
    
    //debug($xmlras); exit();
    
    $firmarDoc = new Firmar();
    $firmarDoc->pkPass = $pkPass;
    $firmarDoc->pkRuta = $pkRuta;
     $firmarDoc->dteFirmarNombre = $nDocs;     //  paso el nombre a firmar.
    $firmarDoc->recepArch = $xmlras;
    
    $firmarDoc->ProcesarRecepArchivo();
    
	 $sRUT = obtValorXML($documentos[0]["ruta"],'RutRecibe','0');

    
// exit();
 //*** sacar correo ****
    $correo_cliente ='mcaceres@softemuco.cl';
    $razon = 'Misael (Sin correo)';
	$sqlc = "SELECT * FROM correos WHERE rut= '$sRUT' ";
	$resc = mysql_query($sqlc,$enlace_correo);
	while (mysql_fetch_object ($resc))
			{			
			$correo_cliente = mysql_result($resc, 0, "correo");
			$razon = mysql_result($resc, 0, "razon_social");			
	        }
			
	
	// envia correo
    if ($razon == 'Misael (Sin correo)') exit();


$docto_firmado='../DOC/FIRMADO/'. $nDocs;

var_dump($docto_firmado);


 $pos = strpos($correo_dte, '@'); $dom = substr($correo_dte, $pos+1);

$mail             = new PHPMailer();

$body             = file_get_contents('contents.html');
$body             = str_replace("[\]",'',$body);

$mail->IsSMTP(); // telling the class to use SMTP
//$mail->Host       = "mail.comercialandes.cl"; // SMTP server
//$mail->SMTPDebug  = 2;                     // enables SMTP debug information (for testing)
                                           // 1 = errors and messages
                                           // 2 = messages only
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->Host       = "mail.".$dom;          // sets the SMTP server
$mail->Port       = 25;                    // set the SMTP port for the GMAIL server
$mail->Username   = $correo_dte; // SMTP account username
$mail->Password   = $clave_correo_dte;        // SMTP account password

$mail->SetFrom($correo_dte, 'DTE '.$sitio_empresa);      // desde

$mail->AddReplyTo("mcaceres@softemuco.cl","SofTemuco");
$mail->Subject    = "Envio DTE ".$sitio_empresa.$nDocs;

//$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

$mail->MsgHTML($body);

$address = $correo_cliente;                                     //  hacia
$mail->AddAddress($address, $razon);


$mail->AddAttachment($docto_firmado);      // attachment
//$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment

if(!$mail->Send())
 {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
 }
 
 }
    exit();
/*** algunas funciones para los documentos ***/

/**
* agrega tabuladores al documento
*
* @return string $xml2 Retorna XML arreglado
* @param string $xml string XML
*
*/
function arreglarXML($xml) {
    $docf = new DOMDocument("1.0");
    $docf->preserveWhiteSpace = false;
    $docf->formatOutput = true;
    $docf->loadXML($xml);
    $xml = $docf->saveXML();
    $xml2 = trim(preg_replace('/<\?xml.*\?>/', '', $xml, 1));
    return($xml2);
}

function debug($str) {
    echo "<textarea style='width: 99%; height: 99%'>".htmlentities($str)."</textarea>";
      }

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 "";
	}
   }	  
?>