184 lines
7.7 KiB
PHP
184 lines
7.7 KiB
PHP
<?php
|
|
/*
|
|
Cambia de estado la reposición
|
|
*/
|
|
$pag = "../reposiciones_crear.php";
|
|
$ruta = "../";
|
|
require_once "../class/c_login.php";
|
|
require_once "../class/mailer.php";
|
|
|
|
define("COORDINADOR", 9);
|
|
define("SUPERVISOR", 7);
|
|
define("ENVIO_CORREOS", true);
|
|
|
|
// check if the session is started
|
|
if (!isset($_SESSION['user']))
|
|
die('No se ha iniciado sesión');
|
|
|
|
$user = unserialize($_SESSION['user']);
|
|
|
|
$pag = "../reposiciones_autorizar.php";
|
|
|
|
|
|
if(!isset($_POST["id"]) || !isset($_POST["edo"]) ){
|
|
header("Location: ".$pag."?error=0");
|
|
exit();
|
|
}
|
|
|
|
$id_repo = filter_input(INPUT_POST, "id", FILTER_SANITIZE_NUMBER_INT);//limpia texto
|
|
$edo = filter_input(INPUT_POST, "edo", FILTER_SANITIZE_NUMBER_INT);//limpia texto
|
|
if(isset($_POST["salon"]) && $_POST["salon"] != "")
|
|
$salon = filter_input(INPUT_POST, "salon", FILTER_SANITIZE_NUMBER_INT);//limpia texto
|
|
//--------------
|
|
|
|
//--------------
|
|
//Obtiene datos reposición
|
|
$reposicion_rs = $db->querySingle('SELECT h.materia, r.fecha_nueva, r.hora_nueva, r.fecha_clase, h.horario_hora, h.facultad_id, h.facultad, f.clave_dependencia, r.motivo_cancelacion, ta.tipoaula_supervisor , ta.tipoaula_nombre
|
|
from reposicion_solicitud r
|
|
inner join horario_view h on h.horario_id = r.horario_id
|
|
inner join facultad f on f.facultad_id = h.facultad_id
|
|
inner join tipoaula ta on ta.tipoaula_id = r.tipoaula_id
|
|
where r.reposicion_solicitud_id = :id_repo',
|
|
[':id_repo' => $id_repo]
|
|
);
|
|
|
|
//Obtiene datos de salón asignado
|
|
$salon_rs = $db->querySingle('SELECT s.salon_id, s.salon_array FROM salon_view s where s.salon_id = :id_salon',
|
|
[':id_salon' => $salon]
|
|
);
|
|
if($salon_rs["salon_id"] == "" || $salon_rs["salon_id"] == NULL){
|
|
$salon_desc = "Pendiente";
|
|
}else{
|
|
$salon_json = json_decode($salon_rs["salon_array"], true);
|
|
if($salon_json[0]== "UNIVERSIDAD LA SALLE"){
|
|
unset($salon_json[0]);
|
|
}
|
|
$salon_desc = join(" / ",$salon_json);
|
|
}
|
|
|
|
//Obtiene correos
|
|
$correos_rs = $db->query('SELECT p.profesor_nombre, p.profesor_correo, u.usuario_nombre as jefe_nombre, u.usuario_correo as jefe_correo,
|
|
coor.usuario_nombre as coordinador_nombre, coor.usuario_correo as coordinador_correo
|
|
from reposicion_solicitud rs
|
|
inner join profesor p on rs.profesor_id =p.profesor_id
|
|
inner join usuario u on u.usuario_id = rs.usuario_id
|
|
inner join horario_view hv on hv.horario_id = rs.horario_id
|
|
inner join usuario coor on hv.facultad_id = coor.facultad_id and coor.rol_id = :rol_coord
|
|
where rs.reposicion_solicitud_id = :id_repo',
|
|
[':rol_coord' => COORDINADOR, ':id_repo' => $id_repo]
|
|
);
|
|
//print_r($correos_rs); exit();
|
|
|
|
$prof_correos=array();
|
|
$jefe_correos=[];
|
|
$coord_correos=[];
|
|
|
|
foreach($correos_rs as $correo){
|
|
if( count($prof_correos)==0 && $correo["profesor_correo"]!=""){
|
|
if( !isset($prof_correos["correo"]) || !in_array($correo["profesor_correo"], $prof_correos["correo"]) ){
|
|
array_push($prof_correos, $correo["profesor_correo"]);
|
|
}
|
|
}
|
|
if( count($jefe_correos)==0 && $correo["jefe_correo"]!=""){
|
|
if(!isset($jefe_correos["correo"]) || !in_array($correo["jefe_correo"], $jefe_correos["correo"])){
|
|
array_push($jefe_correos, $correo["jefe_correo"]);
|
|
}
|
|
}
|
|
if( count($coord_correos)==0 && $correo["coordinador_correo"]!=""){
|
|
if(!isset($coord_correos["correo"]) || !in_array($correo["coordinador_correo"], $coord_correos["correo"])){
|
|
array_push($coord_correos, $correo["coordinador_correo"]);
|
|
}
|
|
}
|
|
}
|
|
|
|
$correosSup_rs = $db->querySingle("SELECT DISTINCT sup.usuario_correo as coordinador_correo
|
|
FROM horario_supervisor hs
|
|
inner join usuario sup on sup.usuario_id =hs.usuario_id
|
|
where :facultad = ANY(hs.facultad_id_array)
|
|
and hs.turno_inicio <= :hora and hs.turno_fin >= :hora",
|
|
[':facultad'=>$reposicion_rs["facultad_id"], ':hora'=>$reposicion_rs["hora_nueva"]] );
|
|
|
|
|
|
if($edo == 4){//cancelación
|
|
$motivo = "";
|
|
if(isset($_POST["motivo"]) && $_POST["motivo"] != "")
|
|
$motivo = trim($_POST["motivo"]);
|
|
$db->querySingle('SELECT fu_reposicion_cancela(:id, :motivo)',
|
|
[':id' => $id_repo, ':motivo' => $motivo]
|
|
);
|
|
}else{
|
|
if(!empty($salon)){
|
|
$db->querySingle('SELECT fu_reposicion_solicitud(:id, NULL, NULL, NULL, :sal, :edo, NULL, NULL, NULL, NULL)',
|
|
[':id' => $id_repo, ':sal' => $salon, ':edo' => $edo]
|
|
);
|
|
}else{
|
|
$db->querySingle('SELECT fu_reposicion_solicitud(:id, NULL, NULL, NULL, NULL, :edo, NULL, NULL, NULL, NULL)',
|
|
[':id' => $id_repo, ':edo' => $edo]
|
|
);
|
|
}
|
|
}
|
|
|
|
|
|
$fecha_clase = date('d/m/Y', strtotime($reposicion_rs["fecha_clase"]));
|
|
$fecha_nueva = date('d/m/Y', strtotime($reposicion_rs["fecha_nueva"]));
|
|
$hora_tmp = explode(":",$reposicion_rs["horario_hora"]);
|
|
$hora_clase = $hora_tmp[0].":".$hora_tmp[1];
|
|
$hora_tmp = explode(":",$reposicion_rs["hora_nueva"]);
|
|
$hora_nueva = $hora_tmp[0].":".$hora_tmp[1];
|
|
|
|
$asunto = "";
|
|
$texto = "";
|
|
$to = "";
|
|
switch($edo){
|
|
case 2://Correo a supervisor
|
|
$asunto = "Reposición nueva - ".$reposicion_rs["clave_dependencia"]." ".$reposicion_rs["facultad"];
|
|
//crear plantilla
|
|
$texto = "<p>Se creó una reposición nueva para: <b>".$reposicion_rs["clave_dependencia"]." ".$reposicion_rs["facultad"]."</b>.</p>";
|
|
$texto .= "<p><b>".mb_strtoupper($reposicion_rs["materia"])."</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>";
|
|
if(!$reposicion_rs["tipoaula_supervisor"]){
|
|
$texto .= " en el salón: <b>".$salon_desc."</b></p>";
|
|
}else{
|
|
$texto .= " en un salón de tipo: <b>".$reposicion_rs["tipoaula_nombre"]."</b></p>";
|
|
}
|
|
$texto .= "<p>Ingresa al <a href='https://paad.lci.ulsa.mx'>sistema PAAD</a> para autorizarla.</p>";
|
|
$to = join(",", $correosSup_rs);
|
|
$ok = 0;
|
|
break;
|
|
case 3://Correo a coordinador, profesor y jefe
|
|
$asunto = "Reposición autorizada - ".$reposicion_rs["materia"];
|
|
$texto = "<p>La resposición de la clase de <b>".$reposicion_rs["materia"]."</b> del día <b>".$fecha_clase." a las ".$hora_clase." hrs. </b> está autorizada para realizarse el día <b>".$fecha_nueva." a las ".$hora_nueva." hrs. en: $salon_desc</b></p>";
|
|
$to = join(",", $coord_correos).",".join(",", $prof_correos).",".join(",", $jefe_correos);
|
|
$ok = 0;
|
|
break;
|
|
case 4://Correo a coordinador, profesor y jefe
|
|
$asunto = "Reposición declinada - ".$reposicion_rs["materia"];
|
|
$texto = "<p>La resposición de la clase de <b>".$reposicion_rs["materia"]." planeada para el día ".$fecha_nueva." a las ".$hora_nueva." hrs.</b> ha sido declinada por el siguiente motivo:</p>";
|
|
$texto .= "<p style='font-style:italic; padding-left:25px'>".$motivo."</p>";
|
|
$to = join(",", $coord_correos).",".join(",", $prof_correos).",".join(",", $jefe_correos);
|
|
$ok = 1;
|
|
break;
|
|
}
|
|
|
|
if($to!= "" && ENVIO_CORREOS){
|
|
$texto = '<body >
|
|
<img src="https://paad.lci.ulsa.mx/imagenes/logo_lasalle.png" alt="La Salle" style="margin-bottom:60px">
|
|
'.$texto.'
|
|
</body>';
|
|
|
|
require_once('../include/phpmailer/PHPMailerAutoload.php');
|
|
/*if($_ENV['DB_NAME'] == "paad_pruebas"){
|
|
$asunto = "PRUEBAS-".$asunto;
|
|
Mailer::enviarCorreo("alejandro.lara@lasalle.mx", $asunto, $texto, true);
|
|
}else{
|
|
Mailer::enviarCorreo($to, $asunto, $texto, true);
|
|
}*/
|
|
Mailer::enviarCorreo("alejandro.rosales@lasalle.mx", $asunto, $texto, true);
|
|
}
|
|
|
|
/*
|
|
$log->appendLog($_SESSION["usuario_id"], $_SESSION["usuario_nombre"]." ".$_SESSION["usuario_apellidos"], $desc_log);
|
|
*/
|
|
header("Location: ".$pag."?ok=".$ok);
|
|
exit();
|
|
?>
|