<?php


use PHPMailer\PHPMailer\PHPMailer;


use PHPMailer\PHPMailer\Exception;


class Correos {





    /**


     */


    public static function enviarContacto($contactoCorreo, $asuntoCorreo, $cuerpoMensaje, $datosEnviador = null) {


        $mail = Correos::configCorreo();


        $mail->addAddress($contactoCorreo[0], $contactoCorreo[1]); 


        $mail->Subject = $asuntoCorreo;


        $mail->Body = $cuerpoMensaje;


        return self::enviar($mail, $datosEnviador);


    }


    


    public static function enviarVariosContactos($listaDestinos, $asuntoCorreo, $cuerpoMensaje, $datosEnviador = null) {


        $mail = Correos::configCorreo();


        foreach( $listaDestinos as $destino ){


            $mail->addAddress($destino[0], $destino[1]);   


        }


        $mail->Subject = $asuntoCorreo;


        $mail->Body = $cuerpoMensaje;


        return self::enviar($mail, $datosEnviador);


    }


    


    private static function enviar($mailSENDER, $datosEnviador) {


        if( !is_null($datosEnviador) ){


            $mailSENDER->setFrom($datosEnviador[0], $datosEnviador[1]);


            $mailSENDER->addReplyTo($datosEnviador[0], $datosEnviador[1]);


        }else{


            $mailSENDER->setFrom('sicam32@ccsm.org.co', 'SICAM32 Notificaciones');


            $mailSENDER->addReplyTo('sicam32@ccsm.org.co', 'SICAM32 Notificaciones');


        }


        if ($mailSENDER->send()) {


            //echo RespuestasSistema::exito("CORREO ENVIADO DE MANERA EXITOSA");


            return true;


        } else {


            echo RespuestasSistema::error('ERROR AL ENVIAR CORREO ' . $mailSENDER->ErrorInfo, '405');


        }


    }


    


    private static function configCorreo() {


        return self::configGMAILpruebas();


    }


    


    


    private static function configPALMASOFT(){


        $mail = new PHPMailer();


        $mail->isSMTP();


        $mail->isHTML(true);


        $mail->SMTPAuth = true;


        $mail->SMTPSecure = 'ssl';


        


        $mail->Username = 'sicam32@ccsm.org.co';


        $mail->Password = '6))0B(6acpOQ';


        $mail->Host = '192.185.163.39';


        $mail->Port = 465;


        $mail->addBcc('sicam32@ccsm.org.co', 'SICAM32 Notificaciones');


        


        $mail->CharSet = 'UTF-8';


        $mail->preSend();





        return $mail;


    }


    


    


    private static function configCOLOMBIAHOSTING(){


         $mail = new PHPMailer();


        $mail->isSMTP();


        $mail->isHTML(true);


        $mail->SMTPAuth = true;


        $mail->SMTPSecure = 'ssl';


        


        $mail->Username = 'sicam32@ccsm.org.co';


        $mail->Password = 'n6!VZ#d27BgW';


        $mail->Host = 'ccsm.org.co';


        $mail->Port = 465;


        $mail->addBcc('sicam32@ccsm.org.co', 'SICAM32 Notificaciones');


        $mail->CharSet = 'UTF-8';


        $mail->preSend();





        return $mail;


    }


    


    


    private static function configGMAIL(){


        $mail = new PHPMailer();


        $mail->isSMTP();


        $mail->isHTML(true);


        $mail->SMTPAuth = true;


        $mail->SMTPSecure = 'ssl';


        


        $mail->Host = 'smtp.gmail.com';


        $mail->Username = 'sicam32@ccsm.org.co';


        $mail->Password = 'a2%G7DV*';


        $mail->Port = 465; 


        


        $mail->CharSet = 'UTF-8';


        $mail->preSend();





        return $mail;


    }


    


    private static function configGMAILpruebas(){


         $mail = new PHPMailer();


        $mail->isSMTP();


        $mail->isHTML(true);


        $mail->SMTPAuth = true;


        $mail->SMTPSecure = 'tls';


        


        $mail->Host = 'smtp.gmail.com';


        $mail->Username = 'pruebas@ccsm.org.co';


        $mail->Password = 'pruebas12345';


        $mail->Port = 587; 


        


        $mail->CharSet = 'UTF-8';


        $mail->preSend();





        return $mail;


    }


    





    public static function enviarMensajeAfiliados($empresa, $correo, $asunto, $mensaje) {


        $mail = Correos::configCorreo();


        $mail->setFrom('sicam32@ccsm.org.co', 'App Afiliados');


        $mail->addReplyTo('sicam32@ccsm.org.co', 'App Afiliados');


        $mail->addAddress('lmontoya@ccsm.org.co');


        $mail->isHTML(true);


        $mail->Subject = 'NUEVO MENSAJE: APLICACION AFILIADOS';


        $variables = array(


            '%%LOGOCCSM%%', '%%FECHASOLICITUD%%', '%%ASUNTO%%',


            '%%NOMBREEMPRESA%%', '%%CORREO%%', '%%MENSAJE%%'


        );





        $datos = array(


            'http://permisos.apps.ccsm.org.co/plantilla/asset/img/Logo.png', date('l jS \of F Y h:i:s A'),


            $asunto, $empresa, $correo, $mensaje);





        $htmlContenido = file_get_contents('app/modelos/correos/msj-afiliados.html.php');


        $htmlContenido = str_replace(


                $variables, $datos, $htmlContenido


        );


        $mail->Body = $htmlContenido;


        if ($mail->send()) {


            return true;


        } else {


            return "Problemas enviando correo electrónico";


        }


    }


    


     public static function enviarPermiso($asunto,$correo, $empresa, $mensaje) {


        $mail = Correos::configCorreo();


        $mail->setFrom('sicam32@ccsm.org.co', 'App Afiliados');


        $mail->addReplyTo('sicam32@ccsm.org.co', 'App Afiliados');


        $mail->addAddress('lmontoya@ccsm.org.co');


        $mail->isHTML(true);


        $mail->Subject = 'NUEVO MENSAJE: APLICACION AFILIADOS';


        $variables = array(


            '%%LOGOCCSM%%', '%%FECHASOLICITUD%%', '%%ASUNTO%%',


            '%%NOMBREEMPRESA%%', '%%CORREO%%', '%%MENSAJE%%'


        );





        $datos = array(


            'http://permisos.apps.ccsm.org.co/plantilla/asset/img/Logo.png', date('l jS \of F Y h:i:s A'),


            $asunto, $empresa, $correo, $mensaje);





        $htmlContenido = file_get_contents(DIR_API.'modelos/correos/permisos/solicitud.html');


        $htmlContenido = str_replace(


                $variables, $datos, $htmlContenido


        );


        $mail->Body = $htmlContenido;


        if ($mail->send()) {


            return true;


        } else {


            return "Problemas enviando correo electrónico";


        }


    }





    public static function enviarSolicitudAfiliados($identificacion, $razonSocial, $sede, $tipoOrganizacion, $cedulaSolicitante, $nombreSolicitante, $apellidoSolicitante, $celular, $email) {


        $mail = Correos::configCorreo();


        $mail->setFrom('sicam32@ccsm.org.co', 'App Afiliados');


        $mail->addReplyTo('sicam32@ccsm.org.co', 'App Afiliados');


        $mail->addAddress('lmontoya@ccsm.org.co');


        $mail->isHTML(true);


        $mail->Subject = 'NUEVA SOLICITUD DE AFILIACIÒN: APLICACION AFILIADOS';


        $variables = array(


            '%%LOGOCCSM%%', '%%FECHASOLICITUD%%', '%%SEDE%%',


            '%%NOMBREEMPRESA%%', '%%NOMBRESOLICITANTE%%', '%%CCSOLICITANTE%%', '%%IDENTIFICACION%%',


            '%%EMAILSOLICITANTE%%', '%%TELEFONOSOLICITANTE%%'


        );





        $datos = array(


            'http://permisos.apps.ccsm.org.co/plantilla/asset/img/Logo.png', date('l jS \of F Y h:i:s A'),


            $sede, $razonSocial, $nombreSolicitante . " " . $apellidoSolicitante, $cedulaSolicitante, $identificacion, $email, $celular);





        $htmlContenido = file_get_contents('app/modelos/correos/solicitud-afiliados.html.php');


        $htmlContenido = str_replace(


                $variables, $datos, $htmlContenido


        );


        $mail->Body = $htmlContenido;


        if ($mail->send()) {


            return true;


        } else {


            return "Problemas enviando correo electrónico";


        }


    }





    /**


     * 


     * @param type $emailDestino


     * @param type $nombreDestino


     * @param type $cuerpoMensaje


     * @return boolean


     */


    


    public static function responseSolicitudPermiso($OBJPermiso) {


        $mail = Correos::configCorreo();


        $mail->setFrom('sicam32@ccsm.org.co', 'SICAM32 Notificaciones');


        $mail->addReplyTo('sicam32@ccsm.org.co', 'SICAM32 Notificaciones');


        if ($OBJPermiso->estadoPermiso == 'AUTORIZADO') {


            $mail->addAddress('coordinacion.th@ccsm.org.co', 'Cindy Cabrales');


            //$mail->addAddress('lmontoya@ccsm.org.co','Luis Montoya');


        } else {


            $mail->addAddress($OBJPermiso->emailEmp, $OBJPermiso->nombreEmp);


        }


        $mail->isHTML(true);


        $mail->Subject = 'Respuesta de Solicitud de Permiso #' . $OBJPermiso->codigoPermiso . ' .';


        $variables = array(


            '%%LOGOCCSM%%', '%%FECHASOLICITUD%%', '%%NOMBREEMPLEADO%%', '%%FECHAINICIO%%',


            '%%FECHAFINAL%%', '%%MOTIVOSOLICITUD%%', '%%AUTORIZACION%%'


        );


        $datos = array(


            'http://permisos.apps.ccsm.org.co/plantilla/asset/img/Logo.png', $OBJPermiso->fechaSolictudPermiso,


            htmlspecialchars($OBJPermiso->nombreEmp), $OBJPermiso->fechaInicioPermiso,


            $OBJPermiso->fechaFinPermiso,


            htmlspecialchars($OBJPermiso->motivoPermiso),


            $OBJPermiso->estadoPermiso


        );





        $htmlContenido = file_get_contents('mvc/modelos/correos/confirmacion.html.php');


        $htmlContenido = str_replace(


                $variables, $datos, $htmlContenido


        );


        $mail->Body = $htmlContenido;


        if ($mail->send()) {


            return true;


        } else {


            return "Problemas enviando correo electrónico a " . $OBJPermiso->emailAutoriza


                    . "<br/>" . $mail->ErrorInfo;


        }


    }





    public static function responseSolicitudPermisoEmpleado($OBJPermiso) {


        $mail = Correos::configCorreo();


        $mail->setFrom('sicam32@ccsm.org.co', 'SICAM32 Notificaciones');


        $mail->addReplyTo('sicam32@ccsm.org.co', 'SICAM32 Notificaciones');


        $mail->addAddress($OBJPermiso->emailEmp, $OBJPermiso->nombreEmp);


        $mail->isHTML(true);


        $mail->Subject = 'Respuesta de Solicitud de Permiso #' . $OBJPermiso->codigoPermiso . ' .';


        $variables = array(


            '%%LOGOCCSM%%', '%%FECHASOLICITUD%%', '%%NOMBREEMPLEADO%%', '%%FECHAINICIO%%',


            '%%FECHAFINAL%%', '%%MOTIVOSOLICITUD%%', '%%AUTORIZACION%%', '%%URLCONFIRMACION%%'


        );


        $datos = array(


            'http://permisos.apps.ccsm.org.co/plantilla/asset/img/Logo.png', $OBJPermiso->fechaSolictudPermiso,


            htmlspecialchars($OBJPermiso->nombreEmp), $OBJPermiso->fechaInicioPermiso,


            $OBJPermiso->fechaFinPermiso,


            htmlspecialchars($OBJPermiso->motivoPermiso),


            $OBJPermiso->estadoPermiso,


            'http://permisos.apps.ccsm.org.co/confirmarPermiso.php?permisoId=' . $OBJPermiso->permisoId


        );





        $htmlContenido = file_get_contents('mvc/modelos/correos/confirmacionEmpleado.html.php');


        $htmlContenido = str_replace(


                $variables, $datos, $htmlContenido


        );


        $mail->Body = $htmlContenido;


        if ($mail->send()) {


            return true;


        } else {


            return "Problemas enviando correo electrónico a " . $OBJPermiso->emailAutoriza


                    . "<br/>" . $mail->ErrorInfo;


        }


    }








}




