solicitud_autoriza.php 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <?php
  2. /*
  3. Cambia de estado la reposición
  4. */
  5. $pag = "../solicitudes_autorizar.php";
  6. $ruta = "../";
  7. require_once "../class/c_login.php";
  8. require_once "../class/manda_correo.php";
  9. define("COORDINADOR", 9);
  10. define("SUPERVISOR", 7);
  11. define("ENVIO_CORREOS", true);
  12. // check if the session is started
  13. if (!isset($_SESSION['user']))
  14. die('No se ha iniciado sesión');
  15. $user = unserialize($_SESSION['user']);
  16. $pag = "../solicitudes_autorizar.php";
  17. if(!isset($_POST["id"]) || !isset($_POST["edo"]) ){
  18. header("Location: ".$pag."?error=0");
  19. exit();
  20. }
  21. $id_sol = filter_input(INPUT_POST, "id", FILTER_SANITIZE_NUMBER_INT);//limpia texto
  22. $edo = filter_input(INPUT_POST, "edo", FILTER_SANITIZE_NUMBER_INT);//limpia texto
  23. $tipo = filter_input(INPUT_POST, "tipo", FILTER_SANITIZE_NUMBER_INT);//limpia texto
  24. if(isset($_POST["salon"]) && $_POST["salon"] != "")
  25. $salon = filter_input(INPUT_POST, "salon", FILTER_SANITIZE_NUMBER_INT);//limpia texto
  26. //--------------
  27. //Obtiene datos de salón asignado
  28. $salon_desc = "Pendiente";
  29. if(!empty($salon)){
  30. $salon_rs = $db->querySingle('SELECT s.salon_id, s.salon_array FROM salon_view s where s.salon_id = :id_salon',
  31. [':id_salon' => $salon]
  32. );
  33. if($salon_rs["salon_id"] == "" || $salon_rs["salon_id"] == NULL){
  34. $salon_desc = "Pendiente";
  35. }else{
  36. $salon_json = json_decode($salon_rs["salon_array"], true);
  37. if($salon_json[0]== "UNIVERSIDAD LA SALLE"){
  38. unset($salon_json[0]);
  39. }
  40. $salon_desc = join(" / ",$salon_json);
  41. }
  42. }
  43. $solicitud_rs = $db->querySingle('SELECT * from fs_solicitud(:id, NULL, NULL, NULL, NULL, NULL, NULL, NULL)', [':id' => $id_sol]);
  44. if($edo == 4){//cancelación
  45. $motivo = "";
  46. if(isset($_POST["motivo"]) && $_POST["motivo"] != "")
  47. $motivo = trim($_POST["motivo"]);
  48. $db->querySingle('SELECT fu_solicitud_cancela(:id, :motivo)',
  49. [':id' => $id_sol, ':motivo' => $motivo]
  50. );
  51. }else{
  52. if(!empty($salon)){
  53. //fu_solicitud(p_solicitud_id, p_fecha_clase , p_fecha_nueva, p_hora_nueva, p_prof_id , p_desc, p_edo, p_alumnos, p_tipoaula , p_salon, p_duracion , p_horario_id , p_bloque, p_ciclo, p_motivo, p_supervisor_id )
  54. $db->querySingle('SELECT fu_solicitud(:id, NULL, NULL, NULL, NULL, NULL, :edo, NULL, NULL,:sal, NULL, NULL, NULL, NULL, NULL, NULL)',
  55. [':id' => $id_sol, ':sal' => $salon, ':edo' => $edo]
  56. );
  57. }else{
  58. $db->querySingle('SELECT fu_solicitud(:id, NULL, NULL, NULL, NULL, NULL, :edo, NULL, NULL,NULL, NULL, NULL, NULL, NULL, NULL, NULL)',
  59. [':id' => $id_sol, ':edo' => $edo]
  60. );
  61. }
  62. }
  63. //fecha_nueva, fecha_clase
  64. $fecha_nueva = $solicitud_rs["fecha_nueva"];
  65. $hora_nueva = $solicitud_rs["hora_nueva"];
  66. $fecha_clase = $solicitud_rs["fecha_clase"];
  67. $hora_clase = $solicitud_rs["horario_hora"];
  68. $facultad = $solicitud_rs["facultad"]??"";
  69. //echo $fecha_nueva." ** ".$fecha_clase;
  70. if(!empty($fecha_nueva)){
  71. $dia_new = date('w', strtotime($fecha_nueva));
  72. //$fecha_nueva = DateTime::createFromFormat('Y-m-d', $fecha_nueva)->format('d/m/Y')." ".$hora_nueva;
  73. $fecha_nueva = $fecha_nueva." ".$hora_nueva;
  74. }
  75. if(!empty($fecha_clase)){
  76. $dia_falta = date('w', strtotime($fecha_clase));
  77. //$fecha_clase = DateTime::createFromFormat('d/m/Y', $fecha_clase)->format('Y-m-d');
  78. }
  79. switch($edo){
  80. case 2://Correo a supervisor
  81. switch($tipo){
  82. case 1://Reposición
  83. $asunto = "Solicitud - Reposición nueva ".$solicitud_rs["clave_dependencia"]." ".$facultad;
  84. $texto = "<p>Se creó una nueva solicitud de reposición para: <b>".$solicitud_rs["clave_dependencia"]." ".$facultad."</b>.</p>";
  85. $texto .= "<p><b>".mb_strtoupper($solicitud_rs["materia_nombre"])."</b> del día <b>".$fecha_clase." a las ".$hora_clase." hrs. </b> se propone reponer el <b>".$fecha_nueva." a las ".$hora_nueva." hrs.</b>";
  86. break;
  87. case 2:
  88. $asunto = "Solicitud - Cambio de salón ".$solicitud_rs["clave_dependencia"]." ".$facultad;
  89. $texto = "<p>Se creó una nueva solicitud de cambio de salón.</p>";
  90. $texto .= "<p>El día <b>".$fecha_nueva." a las ".$hora_nueva." hrs. </b>";
  91. break;
  92. case 3:
  93. $asunto = "Solicitud - Asignación de espacio ".$solicitud_rs["clave_dependencia"]." ".$facultad;
  94. $texto = "<p>Se creó una nueva solicitud de asignación de salón.</p>";
  95. $texto .= "<p>El día <b>".$fecha_nueva." a las ".$hora_nueva." hrs. </b>";
  96. break;
  97. case 4:
  98. $asunto = "Solicitud - Cambio permanente ".$solicitud_rs["clave_dependencia"]." ".$facultad;
  99. $texto = "<p>Se creó una nueva solicitud de asignación de salón permanente.</p>";
  100. $texto .= "<p><b>".mb_strtoupper($solicitud_rs["materia_nombre"])."</b> a partir del día <b>".$fecha_clase." a las ".$hora_orig." hrs. </b> se propone cambiar para el <b>".$fecha_nueva." a las ".$hora_nueva." hrs.</b>";
  101. break;
  102. }
  103. //$texto .= "<p>Ingresa al <a href='https://paad.lci.ulsa.mx'>sistema PAAD</a> para autorizarla.</p>";
  104. MandaCorreos::enviarCorreo($db, $asunto, $texto, $user->facultad["facultad_id"], MandaCorreos::SUPERVISOR);
  105. $ok = 0;
  106. break;
  107. case 3://Correo a coordinador, profesor y jefe
  108. switch($tipo){
  109. case 1://Reposición
  110. $asunto = "Reposición nueva autorizada ".isset($solicitud_rs["materia"])?$solicitud_rs["materia"]:"";
  111. $texto = "<p>Se autorizó la solicitud de reposición.</p>";
  112. $texto .= "<p><b>".mb_strtoupper($solicitud_rs["materia_nombre"])."</b> del día <b>".$fecha_clase." a las ".$hora_clase." hrs. se repondrá el <b>".$fecha_nueva." a las ".$hora_nueva." hrs. en ".$salon_desc."</b>";
  113. break;
  114. case 2:
  115. $asunto = "Cambio de salón autorizado";
  116. $texto = "<p>Se autorizó la solicitud de cambio de salón.</p>";
  117. $texto .= "<p>El día <b>".$fecha_nueva." a las ".$hora_nueva." hrs. en ".$salon_desc."</b>";
  118. break;
  119. case 3:
  120. $asunto = "Asignación de espacio autorizada";
  121. $texto = "<p>Se autorizó la asignación de salón.</p>";
  122. $texto .= "<p>El día <b>".$fecha_nueva." a las ".$hora_nueva." hrs. en ".$salon_desc."</b>";
  123. break;
  124. case 4:
  125. $asunto = "Cambio permanente autorizado ".$solicitud_rs["materia_nombre"];
  126. $texto = "<p>Se autorizó cambio de salón permanente.</p>";
  127. $texto .= "<p><b>".mb_strtoupper($solicitud_rs["materia_nombre"])."</b> a partir del día <b>".$fecha_clase."</b> la clase será el <b>".$fecha_nueva." a las ".$hora_nueva." hrs. en ".$salon_desc."</b>";
  128. break;
  129. }
  130. $ok = 0;
  131. $db->querySingle('SELECT fu_reposicion_solicitud_supervisor(:id, :sup)',
  132. [':id' => $id_sol, ':sup'=>$user->user["id"]]
  133. );
  134. MandaCorreos::enviarCorreo($db, $asunto, $texto, $user->facultad["facultad_id"], MandaCorreos::COORDINADOR| MandaCorreos::PROFESOR| MandaCorreos::JEFE);
  135. break;
  136. case 4://Correo a coordinador, profesor y jefe
  137. switch($tipo){
  138. case 1://Reposición
  139. $asunto = "Reposición declinada ".$solicitud_rs["materia"];
  140. $texto = "<p>La reposición de <b>".mb_strtoupper($solicitud_rs["materia_nombre"])."</b> del día <b>".$fecha_clase." a las ".$hora_clase." hrs.</b> programada para el <b>".$fecha_nueva." a las ".$hora_nueva." hrs.</b> ha sido declinada por el siguiente motivo</p>";
  141. break;
  142. case 2:
  143. $asunto = "Cambio de salón declinado";
  144. $texto = "<p>La solicitud de cambio de salón para el día <b>".$fecha_nueva." a las ".$hora_nueva." hrs.</b> ha sido declinada por el siguiente motivo</p>";
  145. break;
  146. case 3:
  147. $asunto = "Asignación de espacio declinada";
  148. $texto = "<p>La asignación de salón para el día <b>".$fecha_nueva." a las ".$hora_nueva." hrs.</b> ha sido declinada por el siguiente motivo</p>";
  149. break;
  150. case 4:
  151. $asunto = "Cambio permanente declinado ".$solicitud_rs["materia_nombre"];
  152. $texto = "<p>El cambio de salón permanente de <b>".mb_strtoupper($solicitud_rs["materia_nombre"])."</b> del día <b>".$fecha_clase." a las ".$hora_clase." hrs.</b> programada para el <b>".$fecha_nueva." a las ".$hora_nueva." hrs.</b> ha sido declinada por el siguiente motivo</p>";
  153. break;
  154. }
  155. $texto .= "<p style='font-style:italic; padding-left:25px'>".$solicitud_rs["motivo"]."</p>";
  156. $ok = 1;
  157. $db->querySingle('SELECT fu_reposicion_solicitud_supervisor(:id, :sup)',
  158. [':id' => $id_sol, ':sup'=>$user->user["id"]]
  159. );
  160. MandaCorreos::enviarCorreo($db, $asunto, $texto, $user->facultad["facultad_id"], MandaCorreos::COORDINADOR| MandaCorreos::PROFESOR| MandaCorreos::JEFE);
  161. break;
  162. }
  163. /*
  164. $log->appendLog($_SESSION["usuario_id"], $_SESSION["usuario_nombre"]." ".$_SESSION["usuario_apellidos"], $desc_log);
  165. */
  166. header("Location: ".$pag."?ok=".$ok);
  167. exit();
  168. ?>