<?php
include '../comunes_php/cors.php';

function limpiar_caracteres_especiales($s) {
	$s = ereg_replace("[��]","a",$s);
	$s = ereg_replace("[��]","e",$s);
	$s = ereg_replace("[��]","i",$s);
	$s = ereg_replace("[��]","o",$s);
	$s = ereg_replace("[��]","u",$s);
	$s = str_replace("�0�9","n",$s);
	//para ampliar los caracteres a reemplazar agregar lineas de este tipo:
	//$s = str_replace("caracter-que-queremos-cambiar","caracter-por-el-cual-lo-vamos-a-cambiar",$s);
	return $s;
}

require_once __DIR__ . '/bootstrap.php';

use PhpOffice\PhpWord\Settings;

date_default_timezone_set('UTC');
error_reporting(E_ALL);
define('CLI', (PHP_SAPI == 'cli') ? true : false);
define('EOL', CLI ? PHP_EOL : '<br />');
define('SCRIPT_FILENAME', basename($_SERVER['SCRIPT_FILENAME'], '.php'));
define('IS_INDEX', SCRIPT_FILENAME == 'index');

Settings::loadConfig();

$dompdfPath = $vendorDirPath . '/dompdf/dompdf';
if (file_exists($dompdfPath)) {
    define('DOMPDF_ENABLE_AUTOLOAD', false);
    Settings::setPdfRenderer(Settings::PDF_RENDERER_DOMPDF, $vendorDirPath . '/dompdf/dompdf');
}

// Set writers
$writers = array('Word2007' => 'docx', 'ODText' => 'odt', 'RTF' => 'rtf', 'HTML' => 'html', 'PDF' => 'pdf');

// Set PDF renderer
if (null === Settings::getPdfRendererPath()) {
    $writers['PDF'] = null;
}

// Turn output escaping on
Settings::setOutputEscapingEnabled(true);

// Template processor instance creation
$templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor('template_contrato.docx');


//mail para cliente
$i=0;


    include '../rdb/conn.php';
    $id = isset($_REQUEST['rs_id']) ? $_REQUEST['rs_id']: -1;
    
  
    if ($id==-1) {
            $result = array(
                "msg" => "No se seleccionó contrato",
                "estado" => false
            );
            echo json_encode($result);
            
    }
	$sql= "SELECT * FROM `vw_contratos` where id= ".$id ; 
	
     $resultado = mysqli_query( $conn,$sql);
     while ($row= mysqli_fetch_array($resultado, MYSQL_ASSOC)) {

    	$cliente = $row["cliente"];
    	$para=$row["email"];
	    $fecha_iniciado = date("d-m-Y", strtotime($row["fecha_iniciado"]));   ;
	    $id = $row["id"];
	    $total = $row["total"];
	    $vendedor= $row["vendedor"];
	    $tipo_envio= $row["tipo_envio"];
	    $telefono_1= $row["telefono_1"];
	    $telefono_2= $row["telefono_2"];
	    $direccion= $row["direccion"];
	    $email= $row["email"];
	    $tarjeta=$row["tarjeta"];
	    $subtotal=$row["subtotal"];
	    $envio=$row["envio"];
	    $armado=$row["armado"];
	    $escalera=$row["escalera"];
	    $demora=$row["demora"];
	    $zona=$row["zona"];

	    $horarios_en_sabado=$row["horarios_en_sabado"];
	    $horarios_en_semana=$row["horarios_en_semana"];
        $forma_de_pago=($tarjeta=='on'?'Pago con Tarjeta':'Pago Contado');
	    $reclamo="";
	    $productos='<font color="#000000" face="Arial, Helvetica, sans-serif" size="2">Detalle del contrato ('.($tarjeta=='on'?'Pago con Tarjeta':'Pago Contado').')</font> '  ;  
	    //Desde aca  contenido del presupuesto, es decir los productos y adicionales
            if($envio<>'0') {
                $productos.='<p>Direccion: '.$direccion.' '.$zona.'</p>';
                $productos.='<p>Horarios de entrega</p>';
                $productos.='<p>Sabado:'.$horarios_en_sabado.'</p>'; 
                $productos.='<p>Semana:'.$horarios_en_semana.'</p>'; 
                $productos.='<p>Demora:'.$demora.' dias</p>'; 

            }

	    $productos.='<p>Productos</p>';
	    $productos.='<ol>';
        if ($tarjeta=='on') {
            $sql="select concat(cd.renglon_id,'.',p.id) id, p.nombre  , 0 precio ,  cd.precio tarjeta ,0 cantidad, 0 subtotal,renglon_id,contrato_id  from  ";
            $sql.="contratos_detalle cd, productos p  ";
            $sql.="where  ";
            $sql.="cd.producto_id=p.id  ";
            
            
            $sql.=" and cd.contrato_id=$id ";
            
        
            $sql.=$where;
            $sql.=" order by cd.renglon_id ";
            $rs = mysqli_query( $conn,$sql);
        
        }
        else
        {
            $sql="select concat(cd.renglon_id,'.',p.id) id, p.nombre  , cd.precio precio , 	0 tarjeta, 0 cantidad, 0 subtotal,renglon_id,contrato_id from  ";
            $sql.="contratos_detalle cd, productos p  ";
            $sql.="where  ";
            $sql.="cd.producto_id=p.id  ";
            
            $sql.=" and cd.contrato_id=$id ";
            
        
            $sql.=" order by cd.renglon_id ";
            $rs = mysqli_query( $conn,$sql);
        
        }
       
       
       
        $templateProcessor->cloneRow('index', 10);

    
        $index=0;
        $adicionalesString="";
        $item = array();
        $items = array();
        while($row = mysqli_fetch_object($rs)){
            $index+=1;
            $adicionalesString="";
            $precioadicional="";
            $children=array();
            $item['id']=$row->id;
            $item['nombre']=$row->nombre;
            
            $productos.='<li>'.$item['nombre'];

            $item['preciounitario']=$row->precio;

            $item['precio_tarjeta']=$row->tarjeta;
            if($item['preciounitario']<>'0') {
            $precio=' $'.$item['preciounitario'].'';
            }
            if($item['precio_tarjeta']<>'0') {
            $precio=' $'.$item['precio_tarjeta'].'';
            }
            

            $productos.='</li>';
            $item['cantidad']=0;
            $item['subtotal']=0;
    
            //array_push($items, $row);
    
            $templateProcessor->setValue('index#'.$index, $item['id']);
            $templateProcessor->setValue('producto#'.$index, $item['nombre']);
            $templateProcessor->setValue('importe#'.$index, $precio);
            $templateProcessor->setValue('adicional#'.$index, "");


            $sql2 = "select concat(cd.renglon_id,'.',cda.producto_id,'.',ap.id) id, ap.nombre  , cda.precio preciounitario , 0 cantidad, 0 subtotal from ";
            $sql2 .= "contratos_detalle cd,contrato_detalle_adicionales cda, adicionales ap ";
            $sql2 .= "where ";
            $sql2 .= "cd.contrato_id=cda.contrato_id AND ";
            $sql2 .= "cd.renglon_id=cda.renglon_id AND ";
            $sql2 .= "cd.producto_id=cda.producto_id AND ";
            $sql2 .= "cda.adicional_id=ap.id and  ";
            $sql2 .= "cd.contrato_id=$row->contrato_id and ";
            $sql2 .= "cd.renglon_id=$row->renglon_id ";
            $sql2 .= "order by id        ";
            //echo $sql2;
            $rs2 = mysqli_query( $conn,$sql2);
            if (mysqli_num_rows($rs2)>0) {
                $productos.='<i>Adicionales</i>';
                $productos.='<ul>';
                while($row2 = mysqli_fetch_object($rs2)){
                    array_push($children,$row2);
                    $adicionalesString.=$row2->nombre;
                    $precioadicional.=$row2->preciounitario;
                    $productos.='<li>'.$row2->nombre.':$'.$row2->preciounitario.'</li>';
            $index+=1;
            $templateProcessor->setValue('index#'.$index, $row2->id);
            $templateProcessor->setValue('adicional#'.$index, $row2->nombre);
            $templateProcessor->setValue('importe#'.$index, $row2->preciounitario);
            $templateProcessor->setValue('producto#'.$index, "");


                }    
                $productos.='</ul>';
                $item['adicionales']=$adicionalesString;
            }
            

            $item['children']=$children;
            
            $items[]=$item;
            
        }
	    
        $productos.='</ol>';	    
	    $productos.='<p><strong><font color="#000000" face="Arial, Helvetica, sans-serif" size="2">SUBTOTAL '.$subtotal.' </font></strong></p>';

            if($armado<>'0') {
                $productos.='<p><strong><font color="#000000" face="Arial, Helvetica, sans-serif" size="2">Armado '.$armado.' </font></strong></p>';
            
            }
            if($escalera<>'0') {
                $productos.='<p><strong><font color="#000000" face="Arial, Helvetica, sans-serif" size="2">Escalera '.$escalera.' </font></strong></p>';
            }
            
            if($envio<>'0') {
                $productos.='<p><strong><font color="#000000" face="Arial, Helvetica, sans-serif" size="2">Envio '.$envio.' </font></strong></p>';

            }

	    $productos.='<p><strong><font color="#000000" face="Arial, Helvetica, sans-serif" size="2">TOTAL    $'.$total.' </font></strong></p>';

	    //Hasta aca  contenido del presupuesto, es decir los productos y adicionales
	    
	    
	    
	    
	    $templateProcessor->setValue('cliente', $cliente);            // On section/content
	    $templateProcessor->setValue('fecha_iniciado', $fecha_iniciado);            // On section/content
	    $templateProcessor->setValue('id', $id);            // On section/content
	    $templateProcessor->setValue('vendedor', $vendedor);            // On section/content
	    $templateProcessor->setValue('forma_de_pago', $forma_de_pago);            // On section/content
	    $templateProcessor->setValue('direccion', $direccion);            // On section/content
	    $templateProcessor->setValue('horarios_en_sabado', $horarios_en_sabado);            // On section/content
	    $templateProcessor->setValue('horarios_en_semana', $horarios_en_semana);            // On section/content
	    $templateProcessor->setValue('demora', $demora);            // On section/content
	    $templateProcessor->setValue('productos', $productos);            // On section/content
        $templateProcessor->saveAs('generados/contrato_'.$id.'.docx');
        
        $file = 'generados/contrato_'.$id.'.docx';
        header("Content-Description: File Transfer");
        header('Content-Disposition: attachment; filename="' . $file . '"');
        header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');
        header('Content-Transfer-Encoding: binary');
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Expires: 0');
        $xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($templateProcessor, 'Word2007');
        $xmlWriter->save("php://output");
        
                        
     //   $mail_admin="parra.marcelo@gmail.com";
		// Para enviar un correo HTML, debe establecerse la cabecera Content-type
	//	$cabeceras  = 'MIME-Version: 1.0' . "\r\n";
	//	$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

		// Cabeceras adicionales
	//	$cabeceras .= 'To: '. $email . "\r\n";
//		$cabeceras .= 'From: '.$mail_admin. "\r\n";
		//$cabeceras .= 'Cc: '.$mail_cc . "\r\n";
		//$cabeceras .= 'Bcc: '. $mail_creha  . "\r\n";
//		$cabeceras .= 'Reply-To: '.$mail_admin ;
        
	
      $result = array(
                "msg" =>limpiar_caracteres_especiales($mensaje) ,
                "estado" => true
            );
            
  //   mail($para, $titulo , $mensaje, $cabeceras);
     echo json_encode($result);

	

		
	}
    
    

  




?>