manda_correo.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. require_once('../include/phpmailer/PHPMailerAutoload.php');
  3. require_once "../class/mailer.php";
  4. class MandaCorreos{
  5. public const COORDINADOR = 1;
  6. public const SUPERVISOR = 2;
  7. public const JEFE = 4;
  8. public const PROFESOR = 8;
  9. private const ENVIO_CORREOS = true;
  10. private const PRUEBAS = false;
  11. /* tipo es un acumulador de las banderas */
  12. public static function enviarCorreo($db, $asunto, $texto, $facultad, $tipo, $prof_id = NULL){
  13. $to="";
  14. $correos=[];
  15. if($_ENV['DB_NAME'] == "paad_pruebas" || self::PRUEBAS){
  16. $to = "alejandro.lara@lasalle.mx";
  17. }else{
  18. if($tipo & self::COORDINADOR){
  19. $correos_rs = $db->query("SELECT DISTINCT coor.usuario_correo FROM usuario coor
  20. where rol_id = 9 and facultad_id = :fac
  21. and coor.usuario_correo is not null and coor.usuario_correo != ''",
  22. [':fac' => $facultad]
  23. );
  24. //print_r($correos_rs);
  25. foreach($correos_rs as $correo){
  26. array_push($correos, $correo["usuario_correo"]);
  27. }
  28. unset($correos_rs);
  29. }
  30. if($tipo & self::SUPERVISOR){
  31. /*$correosSup_rs = $db->querySingle("SELECT DISTINCT sup.usuario_correo
  32. FROM horario_supervisor hs
  33. inner join usuario sup on sup.usuario_id =hs.usuario_id
  34. where :id_fac = ANY(hs.facultad_id_array)
  35. and sup.usuario_correo is not null and sup.usuario_correo != ''",
  36. [':id_fac' => $facultad] );*/
  37. $correosSup_rs = $db->querySingle("SELECT DISTINCT usuario_correo as supervisor_correo
  38. FROM usuario where rol_id = 7 and not estado_baja");
  39. foreach($correosSup_rs as $correo){
  40. if (!empty($correo["usuario_correo"]))
  41. array_push($correos, $correo["usuario_correo"]);
  42. }
  43. unset($correosSup_rs);
  44. }
  45. if($tipo & self::JEFE){
  46. $correosJefe_rs = $db->querySingle("SELECT DISTINCT jefe.usuario_correo
  47. FROM usuario jefe
  48. where :id_fac = ANY(jefe.facultad_id_array) AND rol_id = 11
  49. and jefe.usuario_correo is not null and jefe.usuario_correo != ''",
  50. [':id_fac' => $facultad] );
  51. foreach($correosJefe_rs as $correo){
  52. if(!empty($correo["usuario_correo"]))
  53. array_push($correos, $correo["usuario_correo"]);
  54. }
  55. unset($correosJefe_rs);
  56. }
  57. if($tipo & self::PROFESOR && $prof_id != NULL){
  58. $correosProf_rs = $db->querySingle("SELECT DISTINCT prof.usuario_correo
  59. FROM horario_profesor hs
  60. inner join usuario prof on prof.usuario_id =hs.usuario_id
  61. where :id_fac = ANY(hs.facultad_id_array) and prof.usuario_id = :id_prof
  62. and prof.usuario_correo is not null and prof.usuario_correo != ''",
  63. [':id_prof'=>$prof_id, ':id_fac' => $facultad] );
  64. foreach($correosProf_rs as $correo){
  65. if(!empty($correo["usuario_correo"]))
  66. array_push($correos, $correo["usuario_correo"]);
  67. }
  68. unset($correosProf_rs);
  69. }
  70. $to .= join(",", $correos);
  71. }
  72. if($to!= "" && self::ENVIO_CORREOS){
  73. //crear plantilla
  74. $texto = '<body >
  75. <img src="https://paad.lci.ulsa.mx/imagenes/logo_lasalle.png" alt="La Salle" style="margin-bottom:60px">
  76. '.$texto.'
  77. </body>';
  78. if($_ENV['DB_NAME'] == "paad_pruebas" || self::PRUEBAS){
  79. $asunto = "PRUEBAS-".$asunto;
  80. }
  81. return Mailer::enviarCorreo($to, $asunto, $texto, true);
  82. }
  83. return true;
  84. }
  85. }
  86. ?>