<?php
/* 
Cambia de estado la reposición
 */
$pag = "../solicitudes_autorizar.php";
$ruta = "../";
require_once "../class/c_login.php";
require_once "../class/manda_correo.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 = "../solicitudes_autorizar.php";


if(!isset($_POST["id"]) || !isset($_POST["edo"]) ){
    header("Location: ".$pag."?error=0");
    exit();
}

$id_sol = filter_input(INPUT_POST, "id", FILTER_SANITIZE_NUMBER_INT);//limpia texto
$edo = filter_input(INPUT_POST, "edo", FILTER_SANITIZE_NUMBER_INT);//limpia texto
$tipo = filter_input(INPUT_POST, "tipo", 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 de salón asignado
$salon_desc = "Pendiente";
if(!empty($salon)){
    $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);
    }
}

$solicitud_rs = $db->querySingle('SELECT * from fs_solicitud(:id, NULL, NULL, NULL, NULL, NULL, NULL, NULL)', [':id' => $id_sol]);



if($edo == 4){//cancelación
    $motivo = "";
    if(isset($_POST["motivo"]) && $_POST["motivo"] != "")
        $motivo = trim($_POST["motivo"]);
    $db->querySingle('SELECT fu_solicitud_cancela(:id, :motivo)',
        [':id' => $id_sol, ':motivo' => $motivo]
    );
}else{
    if(!empty($salon)){
        //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 )
        $db->querySingle('SELECT fu_solicitud(:id, NULL, NULL, NULL, NULL, NULL, :edo, NULL, NULL,:sal, NULL, NULL, NULL, NULL, NULL, NULL)',
            [':id' => $id_sol, ':sal' => $salon, ':edo' => $edo]
        );
    }else{
        $db->querySingle('SELECT fu_solicitud(:id, NULL, NULL, NULL, NULL, NULL, :edo, NULL, NULL,NULL, NULL, NULL, NULL, NULL, NULL, NULL)',
            [':id' => $id_sol, ':edo' => $edo]
        );
    }
}
//fecha_nueva,  fecha_clase
$fecha_nueva = $solicitud_rs["fecha_nueva"];
$hora_nueva = $solicitud_rs["hora_nueva"];
$fecha_clase = $solicitud_rs["fecha_clase"];
$hora_clase = $solicitud_rs["horario_hora"];
$facultad = $solicitud_rs["facultad"]??"";

//echo $fecha_nueva." ** ".$fecha_clase;

if(!empty($fecha_nueva)){
    $dia_new = date('w', strtotime($fecha_nueva));
    //$fecha_nueva =  DateTime::createFromFormat('Y-m-d', $fecha_nueva)->format('d/m/Y')." ".$hora_nueva;
    $fecha_nueva =  $fecha_nueva." ".$hora_nueva;
}

if(!empty($fecha_clase)){
    $dia_falta = date('w', strtotime($fecha_clase));
    //$fecha_clase = DateTime::createFromFormat('d/m/Y', $fecha_clase)->format('Y-m-d');
}

switch($edo){
    case 2://Correo a supervisor
        switch($tipo){
            case 1://Reposición
                $asunto = "Solicitud - Reposición nueva ".$solicitud_rs["clave_dependencia"]." ".$facultad;
                $texto = "<p>Se creó una nueva solicitud de reposición para: <b>".$solicitud_rs["clave_dependencia"]." ".$facultad."</b>.</p>";
                $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>";
            break;
            case 2:
                $asunto = "Solicitud - Cambio de salón ".$solicitud_rs["clave_dependencia"]." ".$facultad;
                $texto = "<p>Se creó una nueva solicitud de cambio de salón.</p>";
                $texto .= "<p>El día <b>".$fecha_nueva." a las ".$hora_nueva." hrs. </b>";
                
            break;
            case 3:
                $asunto = "Solicitud - Asignación de espacio ".$solicitud_rs["clave_dependencia"]." ".$facultad;
                $texto = "<p>Se creó una nueva solicitud de asignación de salón.</p>";
                $texto .= "<p>El día <b>".$fecha_nueva." a las ".$hora_nueva." hrs. </b>";
            break;
            case 4:
                $asunto = "Solicitud - Cambio permanente ".$solicitud_rs["clave_dependencia"]." ".$facultad;
                $texto = "<p>Se creó una nueva solicitud de asignación de salón permanente.</p>";
                $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>";
            break;
        
        }
        //$texto .= "<p>Ingresa al <a href='https://paad.lci.ulsa.mx'>sistema PAAD</a> para autorizarla.</p>";
        
        MandaCorreos::enviarCorreo($db, $asunto, $texto, $user->facultad["facultad_id"], MandaCorreos::SUPERVISOR);
        
        $ok = 0;
    break;
    case 3://Correo a coordinador, profesor y jefe

        switch($tipo){
            case 1://Reposición
                $asunto = "Reposición nueva autorizada ".isset($solicitud_rs["materia"])?$solicitud_rs["materia"]:"";
                $texto = "<p>Se autorizó la solicitud de reposición.</p>";
                $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>";
            break;
            case 2:
                $asunto = "Cambio de salón autorizado";
                $texto = "<p>Se autorizó la solicitud de cambio de salón.</p>";
                $texto .= "<p>El día <b>".$fecha_nueva." a las ".$hora_nueva." hrs. en ".$salon_desc."</b>";
                
            break;
            case 3:
                $asunto = "Asignación de espacio autorizada";
                $texto = "<p>Se autorizó la asignación de salón.</p>";
                $texto .= "<p>El día <b>".$fecha_nueva." a las ".$hora_nueva." hrs. en ".$salon_desc."</b>";
            break;
            case 4:
                $asunto = "Cambio permanente autorizado ".$solicitud_rs["materia_nombre"];
                $texto = "<p>Se autorizó cambio de salón permanente.</p>";
                $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>";
            break;
        }

        $ok = 0;
        $db->querySingle('SELECT fu_reposicion_solicitud_supervisor(:id, :sup)',
            [':id' => $id_sol, ':sup'=>$user->user["id"]]
        );
        
        MandaCorreos::enviarCorreo($db, $asunto, $texto, $user->facultad["facultad_id"], MandaCorreos::COORDINADOR| MandaCorreos::PROFESOR| MandaCorreos::JEFE);
        
    break;
    case 4://Correo a coordinador, profesor y jefe
        switch($tipo){
            case 1://Reposición
                $asunto = "Reposición declinada ".$solicitud_rs["materia"];
                $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>";
            break;
            case 2:
                $asunto = "Cambio de salón declinado";
                $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>";
            break;
            case 3:
                $asunto = "Asignación de espacio declinada";
                $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>";
            break;
            case 4:
                $asunto = "Cambio permanente declinado ".$solicitud_rs["materia_nombre"];
                $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>";
            break;
        }
        $texto .= "<p style='font-style:italic; padding-left:25px'>".$solicitud_rs["motivo"]."</p>";

        $ok = 1;
        $db->querySingle('SELECT fu_reposicion_solicitud_supervisor(:id, :sup)',
            [':id' => $id_sol, ':sup'=>$user->user["id"]]
        );
        
        MandaCorreos::enviarCorreo($db, $asunto, $texto, $user->facultad["facultad_id"], MandaCorreos::COORDINADOR| MandaCorreos::PROFESOR| MandaCorreos::JEFE);
        
    break;
}


/*
$log->appendLog($_SESSION["usuario_id"], $_SESSION["usuario_nombre"]." ".$_SESSION["usuario_apellidos"], $desc_log);
*/
header("Location: ".$pag."?ok=".$ok);
exit();
?>
