<?php

/*
  Created on : Mayo 26, 2019, 01:14:34 PM
  Author     : Gabriel Hernandez Gonzalez
 */
 
	if(!isset($_SESSION)) session_start();
 
	require_once "../core_classes.php";		
	require_once "PHPMailer.php";
	require_once "SMTP.php";	
	require_once "Exception.php";
	require_once "OAuth.php";
	
	
	require_once "../../config.php";	
	require_once '../../assets/plugins/dompdf/autoload.inc.php';
	use Dompdf\Dompdf;

	$user = json_decode($_SESSION['user']);

	switch (filter_input(INPUT_POST, 'tipoOperacion')) {

		case 'enviarNotificacion':
		
			$pBodyMail = filter_input(INPUT_POST, 'pBodyMail');
			$pCodigo = filter_input(INPUT_POST, 'pCodigo');
			$pListaCorreos = filter_input(INPUT_POST, 'pListaCorreos');
			$pNidServicio = filter_input(INPUT_POST, 'pNidServicio');
			$pTextoNotificacion = filter_input(INPUT_POST, 'pTextoNotificacion');	
						
			$pTextoCorreo = "Notificacion de ". $pTextoNotificacion. " Para el codigo de trazabilidad: MOV" .$pCodigo;
			
			//*********[ Generamos PDF ] ***********************************
			$content = '<html><body>';
			$content .= $pBodyMail;
			$content .= '</body></html>';

			$dompdf = new Dompdf();
			$dompdf->loadHtml($content);
			$dompdf->setPaper('letter', 'portrait'); // (Opcional) Configurar papel y orientaciĂ³n
			$dompdf->render(); // Generar el PDF desde contenido HTML
			$pdf = $dompdf->output(); // Obtener el PDF generado				
			$filePath = "../../dataAccess/notificaciones/".$pNidServicio."- MOV".$pCodigo.".pdf";

			file_put_contents($filePath, $pdf);
			
			//*********[ Mandamos Correo ] ***********************************
										 
			$mail = new PHPMailer\PHPMailer\PHPMailer();
			 
			$response = new root_response;
			try {
				
				$mail->SMTPDebug = 0;                                       // Enable verbose debug output
				$mail->isSMTP();                                            // Set mailer to use SMTP
				$mail->Host       = 'mail.setiveracruz.com.mx';  // Specify main and backup SMTP servers
				$mail->Port       = 26;                                    // TCP port to connect to
				$mail->SMTPSecure = 'tls';                                  // Enable TLS encryption, `ssl` also accepted
				$mail->SMTPAuth   = true;                                   // Enable SMTP authentication
				$mail->Username   = 'notificacionessios@setiveracruz.com.mx';                     // SMTP username
				$mail->Password   = 'vg223*r^!pvA.';                               // SMTP password
				

				//Recipients
				//$mail->setFrom('whernandez@setiveracruz.com.mx', $pTextoNotificacion.' Folio: MOV'.$pCodigo);
				//$mail->addAddress('borreguin@gmail.com', 'Pruebas');
				//$mail->addAddress('gerencia@moversa.mx', 'Pruebas');
				$vArrayCorreos = explode(',', $pListaCorreos);
				foreach($vArrayCorreos as $correo){					
					$mail->addAddress($correo);// Name is optional
				}
				
				//$mail->addAddress('isc.ghernandez@gmail.com');     // Add a recipient
	
				// Attachments
				$mail->addAttachment('../../dataAccess/notificaciones/'.$pNidServicio.'- MOV'.$pCodigo.'.pdf');         // Add attachments
				// Content
				$mail->isHTML(true);                                  // Set email format to HTML
				$mail->Subject = $pTextoNotificacion. " Codigo: MOV".$pCodigo;
				$mail->Body    = $pTextoCorreo;
				$mail->send();
				
				$response->transaccion = "1";
				$response->mensaje = "Correo enviado correctamente...!!!";
							
			} catch (Exception $e) {
				$response->transaccion = "0";
				$response->mensaje = "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";				
			}	
			
			echo json_encode($response);
								
			break;
		case 'consultarListaCorreos':

			$pNidEmpresa = $user->nidEmpresa;
			$pTipoNotificacion = filter_input(INPUT_POST, 'pTipoNotificacion');
			$pNidCliente = filter_input(INPUT_POST, 'pNidCliente');
		
			$stmt = $conn->prepare("call servicios_usuarios_notificaciones($pNidEmpresa,$pTipoNotificacion,$pNidCliente)");			
			$stmt->execute();			
						
			$response = new root_response;
			while($row = $stmt->fetch(PDO::FETCH_ASSOC)) 
			{ 
				$respuesta = new core_correos();
				$respuesta->cuenta = $row["Email"];			
	
				$response->datos[] = $respuesta;				
			};
						
			$response->transaccion = "1";
			$response->mensaje = "Ok";
			
			echo json_encode($response);
			
			break;	
			
		default:
			echo json_encode(system_get_message(SISTEMA_PARAMETRO_NO_RECONOCIDO));
			break;
	}

        
?>
