<?php

$id=0;
$fechahora='';
$operacion='';
$permiso='';
$datos='';
$idResponsable=0;
$responsable='';
$emailresponsable='';
$fotoresponsable='';

$idSupervisor=0;
$supervisor='';
$emailSupervisor='';

$idNotificadoDefault1=30; //deberá definirse con un parámetro
$idNotificadoDefault2=30; //deberá definirse con un parámetro
$idNotificadoDefault3=30; //deberá definirse con un parámetro

$tipo='I';
$concepto='';
$mensaje=''; 
$MAILAUTOALERT01 = 0;
$MAILAUTOALERT02 = 0;

$cnx = new PDO("mysql:host=localhost:3306;dbname=qpsec_SIGPROI","qpsec_usrSIGPROI", "MabeLuis2602");

$res=$cnx->query("SELECT nombre, valor FROM `parametros` WHERE nombre in ('MAILAUTOALERT01','CODUSERNOTILEVEL1', 'CODUSERNOTILEVEL2', 'CODUSERNOTILEVEL3','MAILAUTOALERT02')");

foreach ($res as $row){
    switch($row['nombre']){
        case 'MAILAUTOALERT01'  : $MAILAUTOALERT01 = $row['valor']; break;
        case 'MAILAUTOALERT02'  : $MAILAUTOALERT02 = $row['valor']; break;
        case 'CODUSERNOTILEVEL1': $idNotificadoDefault1 = $row['valor']; break;
        case 'CODUSERNOTILEVEL2'  : $idNotificadoDefault2 = $row['valor']; break;
        case 'CODUSERNOTILEVEL3'  : $idNotificadoDefault3 = $row['valor']; break;
    }
}

$res=$cnx->query("SELECT L.id, L.fecha, L.operacion, L.permiso, L.datos, U.id as idResponsable, U.name as nameResponsable, U.email as mailResponsable, U.foto as fotoResponsable, L.notificado, U.idSupervisor, S.name as nameSupervisor, S.email as mailSupervisor, S.mailNotificaCliente FROM `logs_sistema` L LEFT OUTER JOIN `users` U ON U.id = L.user_id LEFT OUTER JOIN `users` S ON S.id = U.idSupervisor WHERE L.fecha > DATE_ADD(NOW(), INTERVAL -1 DAY) AND notificado = 0 and datos != ''");

foreach ($res as $row){
    $id=$row['id'];
    $fechahora=$row['fecha'];
    $operacion=$row['operacion'];
    $permiso=$row['permiso'];
    $datos=$row['datos'];
    $idResponsable=$row['idResponsable'];
    $responsable=$row['nameResponsable'];
    $emailresponsable=$row['mailResponsable'];
    $fotoresponsable=$row['fotoResponsable'];

    $idSupervisor=$row['idSupervisor'];
    if(!$idSupervisor)
        $idSupervisor = $idResponsable;
        
    if($idSupervisor==0)
        $idSupervisor = $idResponsable;
        
    $supervisor=$row['nameSupervisor'];

    $emailSupervisor=$row['mailSupervisor'];
    if(!$emailSupervisor)
        $emailSupervisor = $emailresponsable;

    $mailDefaulCliente=$row['mailNotificaCliente'];
    if(!$mailDefaulCliente)
        $mailDefaulCliente = $emailSupervisor;
    
    $tipo = 'I';
    
    if($permiso == ''){
        $permiso='CODIGOS';
    }
    $concepto = $permiso.' :: '.$operacion;
    $mensaje='Los siguientes datos corresponden a esta operaci&oacute;n y se han registrado autom&aacute;ticamente en el LOG del sistema SIG-PROI:<br><table border="1" align="center" style="width:100%"><tr><th>Fecha</th><th>Ejecutor</th><th>Supervisor</th></tr><tr><td>'.$fechahora.'<br><br>['.$id.']</td><td style="text-align:center"><img src="https://sigproi.qps.ec/storage/images/personal/'.$fotoresponsable.'" width="80" height="80"><br>'.$responsable.'<br>'.$emailresponsable.'</td><td>'.$supervisor.'<br>'.$emailSupervisor.'</td></tr><tr><td colspan="3">Registro del Log</td></tr><tr><td colspan="3"><b>'.$datos.'</b></td></tr></table>';
    

    if($permiso == 'USUARIO'){
        //1. recuperar del campo $datos el valor del ID para tenerlo en variable
        // $idAfectado = {valor recuperado}
    }

    if(substr($operacion,0,5)=='ELIMI'){
        $tipo = 'U';
    }
    
    if(substr($operacion,0,7)=='NOVEDAD'){
        $tipo = 'U';
    }
    
    $flag=0;
    switch($tipo){
        case 'I': $flag=$MAILAUTOALERT01; break;
        case 'U': $flag=$MAILAUTOALERT02; break;
    }
    
    
    
    if($flag==1){ //solo si la bandera confirma que se debe enviar el correo
        $sqlInsert="INSERT INTO `notificaciones` (id, idUser, idSupervisor, idAlerta, tipo, Concepto, mensaje, FechaHora, idDestino1, idDestino2, idDestino3, idDestino4, enviaMail, enviadoMail, enviaSMS, enviadoSMS, mailDefaultCliente) values(NULL, $idResponsable, $idResponsable, 0, '$tipo', '$concepto', '$mensaje', '$fechahora', $idSupervisor, $idNotificadoDefault1, $idNotificadoDefault2, $idNotificadoDefault3, 1, 0, 0, 0, '$mailDefaulCliente')";
        //LEQF 2021ENE28: se quita el usuario y se deja al supervisor en el correo
    
        $cnx->prepare($sqlInsert)->execute();    
    
        $sql= "Update `logs_sistema` set notificado=1 where id=$id";
        $cnx->prepare($sql)->execute();    
    }

}
?>