123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649 |
- <?php
- require_once("../include/constantes.php");
- require_once("../include/util.php");
- require_once("../include/bd_pdo.php");
- require_once("../classes/ValidaSesion.php");
- require_once("../classes/MainMenu.php");
- $menu = 27;
- $submenu = 272;
- //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
- $objSesion = new ValidaSesion($pdo, $submenu, APSA);
- if(!$objSesion->tieneAcceso()){
- $objSesion->terminaSesion();
- }
- $objSesion->validaPeriodoUsuario();//si no tiene periodo manda a main
-
- //Obtiene grupos del periodo
- $stmt = $pdo->prepare('Select * from fs_grupo(NULL, :periodo)');
- $stmt->bindParam(":periodo", $_SESSION["periodo_id"]);
- if(!$stmt->execute()){
- header("Location: grupos.php?error=4");
- exit();
- }else{
- $grupos_rs = $stmt->fetchAll();
- }
- $stmt->closeCursor();
- if(!is_array($grupos_rs) || count($grupos_rs) == 0){
- header("Location: grupos.php?error=5");
- exit();
- }
- $pendiente = "<em>Pendiente</em>";
-
-
- if(isset($_POST["grupo"]) && is_numeric($_POST["grupo"]) && $_POST["grupo"] != ""){
- $filter_grupo = filter_input(INPUT_POST, "grupo", FILTER_SANITIZE_NUMBER_INT);//limpia texto
- if(isset($_POST["filter_fecha"]) && $_POST["filter_fecha"]!= "")
- $filter_fecha = fechaGuion(trim(filter_input(INPUT_POST, "filter_fecha", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW))));//limpia texto
- $stmt = $pdo->prepare('Select * from fs_grupo(:grupo, :periodo)');
- $stmt->bindParam(":periodo", $_SESSION["periodo_id"]);
- $stmt->bindParam(":grupo", $filter_grupo);
- if(!$stmt->execute()){
- $errorDesc = "Ocurrió un error al cargar el grupo.";
- }else{
- $grupo_actual_rs = $stmt->fetch();
- if(!is_array($grupo_actual_rs) || count($grupo_actual_rs) == 0){
- $stmt->closeCursor();
- header("Location: grupos.php?error=6");
- exit();
- }
- }
- $stmt->closeCursor();
- //Obtiene horario del grupo
-
- $stmt = $pdo->prepare('Select * from fs_horariogrupo(:gpo, NULL, false)');
- $stmt->bindParam(":gpo", $filter_grupo);
- if(!$stmt->execute()){
- //header("Location: materias.php?error=2");
- $errorDesc = "Error al cargar el horario del grupo";
- print_r($stmt->errorInfo());
- exit();
- }else{
- $horario_rs = $stmt->fetchAll();
- $horaMin = horaMin($horario_rs);
- $horaMax = horaMax($horario_rs);
- }
- $stmt->closeCursor();
- }
-
- function enBloqueClase($pdo, $hora, $frac, $nivel){
- $stmt = $pdo->prepare('Select * from fs_horaclase(:nivel, NULL)');
- $stmt->bindParam(":nivel", $nivel);
- $stmt->execute();
- $bloque_rs = $stmt->fetchAll();
-
- $horaFracc = $hora .":". (60/FRACCION_HORA*$frac).":00";
- foreach($bloque_rs as $bloque){
- if(strtotime($horaFracc) >= strtotime($bloque["HoraClase_inicio"]) && strtotime($horaFracc) < strtotime($bloque["HoraClase_final"]))
- return "fraccion-sugerida";
- }
- return "";
- }
- ?>
- <!DOCTYPE html>
- <html lang="es" prefix="og: http://ogp.me/ns#">
- <head>
- <title>APSA - Facultad de Ingeniería</title>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <link rel="icon" type="image/png" href="../img/favicon.png" />
- <link rel="stylesheet" href="../css/bootstrap-ulsa.min.css" type="text/css">
- <link rel="stylesheet" href="../css/indivisa.css" type="text/css">
- <link rel="stylesheet" href="../css/sgi.css?rand=<?php echo rand();?>" type="text/css">
- <link rel="stylesheet" href="../css/fa_all.css" type="text/css">
- <link rel="stylesheet" href="./css/horario_alumnos.css" type="text/css">
-
- <script src="../js/util.js"></script>
-
- </head>
- <body>
- <div>
- <div class="d-none d-print-block"><img id="logo" src="../img/logo_lasalle.png" border="0" class="img-fluid mb-4"></div>
-
- <div class="d-print-none">
- <?php
- //--- Objeto que pinta menu
- $menuObj = new MainMenu($_SESSION["usuario_id"], $menu, $pdo, APSA, "Horario de grupos");//usr, menu, pdo, sist
- $menuObj->printMenu();
- ?>
- </div>
- <?php
- //Obtiene fechas de periodo
- $stmt = $pdo->prepare('Select * from fs_periodo(:periodo, NULL, NULL, true)');
- $stmt->bindParam(":periodo", $_SESSION["periodo_id"]);
- if(!$stmt->execute()){
- $errorDesc = "Ocurrió un error al cargar las fechas del periodo";
- }else{
- $periodo_rs = $stmt->fetch();
- }
- $stmt->closeCursor();
- $stmt = null;
-
- //--Manejo de errores y mensajes de exito
- if(isset($_GET["error"]) && is_numeric($_GET["error"])){
- switch ($_GET["error"]){
- case 0: $errorDesc = "No se reciberon los datos del grupo."; break;
- case 1: $errorDesc = "Ocurrió un error al insertar los datos del grupo."; break;
- case 2: $errorDesc = "Ocurrió un error al actualizar los datos del grupo."; break;
- case 3: $errorDesc = "No tienes permisos para realizar esa acción."; break;
- }
- }
- if(isset($_GET["ok"]) && is_numeric($_GET["ok"])){
- switch ($_GET["ok"]){
- case 0: $successDesc = "El grupo se guardó correctamente."; break;
- case 1: $successDesc = "El grupo se actualizó correctamente."; break;
- }
- }
- ?>
- <main class="container-fluid marco pt-3">
-
- <?php include_once("../include/errorMessage.php"); ?>
-
- <?php include("../include/periodoCambio.php");?>
- <!-- Filtro -->
- <div class="row d-print-none">
- <div class="col-12">
-
- <form action="reporte_horariogrupo.php" method="post" id="formaFiltro">
- <div class="form-box form-box-info">
- <div class="form-group row">
- <label for="filter_grupo" class="col-4 col-form-label">Grupo</label>
- <div class="col-8 col-sm-4">
- <!--<select id="filter_grupo" name="grupo" class="form-control">
- <option value="">Selecciona un grupo</option>
- <?php foreach($grupos_rs as $grupo) {
- $nombre = "";
- //if($_SESSION["nivel_id"] == 1)
- $nombre = $grupo["Grupo_desc"]." ".$grupo["Carrera_prefijo"];
- /*else
- $nombre = $grupo["Grupo_desc"];*/
- ?>
- <option value="<?php echo $grupo["Grupo_id"];?>" <?php if(isset($filter_grupo) && $filter_grupo == $grupo["Grupo_id"]){echo "selected='selected'";}?> ><?php echo $nombre;?></option>
- <?php } ?>
- </select>-->
- <div class="datalist datalist-select mb-1 w-100">
- <div class="datalist-input">Selecciona un grupo</div>
- <span class="ing-buscar icono"></span>
- <ul style="display:none">
- <?php foreach($grupos_rs as $grupo) {
- $nombre = "";
- $nombre = $grupo["Grupo_desc"]." ".$grupo["Carrera_prefijo"];
- ?>
- <li data-id="<?php echo $grupo["Grupo_id"];?>" <?php if(isset($filter_grupo) && $filter_grupo == $grupo["Grupo_id"]){echo "class='selected'";}?> ><?php echo $nombre;?></li>
- <?php }?>
- </ul>
- <input type="hidden" id="filter_grupo" name="grupo" value="">
- </div>
- </div>
- </div>
- </div>
- <div class="form-group row">
- <div class="col-12 text-center">
- <button type="submit" class="btn btn-outline-primary" id="cambia-grupo"><?php echo $ICO["buscar"]; ?> Ver horario</button>
- </div>
- </div>
- </form>
- </div>
- </div>
-
- <?php
- if(isset($grupo_actual_rs) && isset($horario_rs)){//Si existe grupo seleccionado carga horario
- ?>
- <h3 class="mb-2">Grupo <?php echo $grupo_actual_rs["Grupo_desc"]." ".$grupo_actual_rs["Carrera_prefijo"];?></h3>
-
- <?php
- $stmt = $pdo->prepare('Select * from fs_dia(NULL)');
- if(!$stmt->execute()){
- echo "Error al obtener los días";
- print_r($stmt->errorInfo());
- }
- $dias_rs = $stmt->fetchAll();
- $stmt->closeCursor();
-
- $stmt = null;
-
- $horas_dif = intval(date('H', strtotime($horaMax))) - intval(date('H', strtotime($horaMin)));
- $hora_ini = date('H', strtotime($horaMin));
- $hora_fin = date('H', strtotime($horaMax));
- if(intval(date('i', strtotime($horaMax))) != 0)
- $hora_fin++;
-
- /* Definidas en constantes.php
- HORA_INICIO = 7;
- HORA_FINAL = 22;
- FRACCION_HORA = 4;*/
-
- //print_r($horario_rs);
- ?>
-
- <p class="text-right m-0">
- <a href="#" class="btn btn-outline-secondary d-print-none" data-toggle="modal" data-target="#modal" title="Ver detalle"><?php echo $ICO["descargar"];?> Descargar horarios</a>
- <button type="button" class="btn btn-outline-secondary d-print-none" onclick="imprime()"><i class="ing-imprimir"></i> Imprimir</button>
- </p>
- </main>
- <div class="container-fluid content marco-wide">
- <ul class="nav nav-tabs d-print-none mb-4" id="myTab" role="tablist">
- <li class="nav-item">
- <a class="nav-link active" id="tab1-tab" data-toggle="tab" href="#tab1" role="tab" aria-controls="calendario" aria-selected="true">Calendario</a>
- </li>
- <li class="nav-item">
- <a class="nav-link" id="tab2-tab" data-toggle="tab" href="#tab2" role="tab" aria-controls="lista" aria-selected="false">Listado por materia</a>
- </li>
- </ul>
- <div class="tab-content" id="horariosTabContent">
- <div class="tab-pane fade show active" id="tab1" role="tabpanel" aria-labelledby="tab1-tab">
- <?php // ---- Como horario ---- ?>
- <div class="row">
- <div class="col-12 px-0 no-gutters">
- <table class="table table-sm table-responsive table-borderless calendario" id="tabla-horario" data-hora-inicio="<?php echo $hora_ini;?>" data-fracciones = "<?php echo FRACCION_HORA; ?>">
- <thead class="thead-dark">
- <tr>
- <th>Hora</th>
- <?php foreach($dias_rs as $dia){
- echo "<th data='dia_".$dia["Dia_id"]."'>".$dia["Dia_desc"]."</th>";
- } ?>
- </tr>
- </thead>
- <tbody id="calendario-body">
- <?php
- $biccell = false;
- //for($h = HORA_INICIO, $i=0; $h < HORA_FINAL; $h++, $i++){
- for($h = $hora_ini, $i=0; $h < $hora_fin; $h++, $i++){
- ?>
- <tr>
- <td data-hora="<?php echo $h;?>" data-index="<?php echo $i;?>" class="hora" ><?php echo $h;?>:00 </td>
- <?php
- if(!$biccell){
- $biccell = true;
- ?>
- <td colspan='<?php echo count($dias_rs); ?>' rowspan='<?php echo ($hora_fin-$hora_ini)+1; ?>'>
- <div class='area-horario'>
- <table class="table table-borderless ">
- <tbody>
- <?php
- for($h2 = $hora_ini; $h2 < $hora_fin; $h2++){
- for($f = 0; $f < FRACCION_HORA; $f++){
- echo "<tr class='dia'>";
- foreach($dias_rs as $dia){
- echo "<td title='".$h2.":".sprintf("%02d", ($f*(60/FRACCION_HORA)))."' data-dia='".$dia["Dia_id"]."' data-hora='".$h2."' data-fraccion='".($f*(60/FRACCION_HORA))."' class='crea-horario fraccion '></td>";
- }
- echo "</tr>";
- }
- }
- ?>
- </tbody>
- </table>
- <div id="bloque-horarios"></div>
- </div>
- </td>
- <?php
- } ?>
- </tr>
- <?php } ?>
- </tbody>
- </table>
- </div>
- </div>
- </div>
- <div class="tab-pane fade" id="tab2" role="tabpanel" aria-labelledby="tab2-tab">
-
- <?php
- // --- Como listado ----
- $stmt = $pdo->prepare('Select * from fs_horariogrupo(:gpo, NULL, false) order by "Materia_desc", "Dia_id", "Horario_hora"');
- $stmt->bindParam(":gpo", $filter_grupo);
- if(!$stmt->execute()){
- //header("Location: materias.php?error=2");
- $errorDesc = "Error al cargar el horario del grupo";
- print_r($stmt->errorInfo());
- exit();
- }
- $horario_materia_rs = $stmt->fetchAll();
- $stmt->closeCursor();
- $materia_old = -1;
- $xtpl = new XTemplate('./tpl/horariolista_reporte.tpl.html');
- foreach($horario_materia_rs as $horario){
- if(intval($horario["Materia_id"]) != $materia_old && $materia_old != -1){
- if((isset($filter_fecha) && strtotime($filter_fecha) >= strtotime($horario["fecha_inicial"]) && strtotime($filter_fecha) <= strtotime($horario["fecha_final"]) ) || !isset($filter_fecha)){
- $xtpl->parse("main.table");
- }
- }
- $materia_old = intval($horario["Materia_id"]);
- $xtpl->assign("MATERIA", $horario["Materia_desc"]);
- $xtpl->assign("CLAVE", $horario["Materia_clave"]);
- //----- Carga profesores ----
- if($horario["TipoSubmateria_id"] == 0){
- $stmt = $pdo->prepare('Select * from fs_profesorhorariogrupo(:id)');
- $stmt->bindParam(":id", $horario["HorarioGrupo_id"]);
- if(!$stmt->execute()){
- $t = $stmt->errorInfo();
- $errorDesc = "Ocurrió un error al obtener los datos de los profesores ".$t[2];
- break;
- }
- $profesores_rs = $stmt->fetchAll();
- $stmt->closeCursor();
- $prof_nombre = "";
- if(isset($profesores_rs) && count($profesores_rs) > 0){
- $profesores_all = "";
- foreach($profesores_rs as $profesor){
- $prof_clave = '<span class="font-weight-bold mr-2">'.$profesor["Usuario_claveULSA"].'</span> ';
- $prof_nombre = $profesor["Usuario_apellidos"]." ".$profesor["Usuario_nombre"];
- $profesores_all .= $prof_clave.$prof_nombre."<br>";
- }
- }else{
- $profesores_all = $pendiente;
- }
- $xtpl->assign("PROFESOR", $profesores_all);
- }else{//Con submaterias
-
- //----- Carga submaterias ----
- $stmt = $pdo->prepare('Select * from fs_submateriahorariogrupo(:id)');
- $stmt->bindParam(":id", $horario["HorarioGrupo_id"]);
- if(!$stmt->execute()){
- $t = $stmt->errorInfo();
- $errorDesc = "Ocurrió un error al obtener los datos de los profesores ".$t[2];
- break;
- }
- $submaterias_rs = $stmt->fetchAll();
- $stmt->closeCursor();
- $sub_prof_num = 0;
- $profesores_all = "";
- if(count($submaterias_rs) > 0){
- foreach($submaterias_rs as $submateria){
- //---
- $stmt = $pdo->prepare('Select * from fs_submateriahorariogrupoprofesor(:id,:sub)');
- $stmt->bindParam(":id", $horario["HorarioGrupo_id"]);
- $stmt->bindParam(":sub", $submateria["Submateria_id"]);
- if(!$stmt->execute()){
- $t = $stmt->errorInfo();
- $errorDesc = "Ocurrió un error al obtener los datos de los profesores ".$t[2];
- break;
- }
- $profesores_rs = $stmt->fetchAll();
- $stmt->closeCursor();
- $sub_prof_num += count($profesores_rs);
- if(isset($profesores_rs) && count($profesores_rs) > 0){
- foreach($profesores_rs as $profesor){
- $prof_clave = '<span class="font-weight-bold mr-2">'.$profesor["Usuario_claveULSA"].'</span> ';
- $prof_nombre = $profesor["Usuario_apellidos"]." ".$profesor["Usuario_nombre"];
- $profesores_all .= $prof_clave.$prof_nombre."<br>";
- }
- //$xtpl->assign("PROFESOR", $profesores_all);
- }/*else{
- $xtpl->assign("PROFESOR", $pendiente);
- }*/
- }
- if($sub_prof_num > 0)
- $xtpl->assign("PROFESOR", $profesores_all);
- else
- $xtpl->assign("PROFESOR", $pendiente);
- }
- unset($profesores_rs);
- }//fin con submaterias
- $xtpl->assign("DIA", ucfirst(diaNombre($horario["Dia_id"])));
- $xtpl->assign("HORAI", date('H:i', strtotime($horario["Horario_hora"])));
- $xtpl->assign("HORAF", date('H:i', strtotime($horario["Horario_hora_final"])));
- if($horario["TipoSubmateria_id"] == 0){
- if($horario["Salon_desc"]!= ""){
- if($horario["Salon_desc_larga"] != "")
- $xtpl->assign("SALON", $horario["Salon_desc"]." (".$horario["Salon_desc_larga"].")");
- else
- $xtpl->assign("SALON", $horario["Salon_desc"]);
- }else
- $xtpl->assign("SALON", $pendiente);
- }else{
- $xtpl->assign("SALON", "<em>*Revisa la tabla de materias electivas</em>");
- }
- $xtpl->parse("main.table.row");
-
- }//for each materias
- if($materia_old != -1){
- if((isset($filter_fecha) && strtotime($filter_fecha) >= strtotime($horario["fecha_inicial"]) && strtotime($filter_fecha) <= strtotime($horario["fecha_final"]) ) || !isset($filter_fecha))
- $xtpl->parse("main.table");
- }
- $xtpl->parse("main");
- $xtpl->out("main");
- ?>
- </div>
- </div><!-- End tabs-->
-
- <div class="row justify-content-md-center mt-4" id="electivasBlock">
- <div class="col-md-auto">
- <h3>Electivas</h3>
- <table class="table table-sm table-striped table-white table-responsive text-80" id="tabla-horario" data-hora-inicio="<?php echo $hora_ini;?>" data-fracciones = "<?php echo FRACCION_HORA; ?>">
- <thead class="thead-dark">
- <tr><th scope="col">Materia</th><th scope="col">Horario</th><th scope="col">Salón</th><th scope="col">Profesores</th></tr>
- </thead>
- <tbody>
- <?php
- $tabla_electivas = array();
- foreach($horario_rs as $horario){
- if($horario["TipoSubmateria_id"] != 0){
- //----- Carga submaterias ----
- $stmt = $pdo->prepare('Select * from fs_submateriahorariogrupo(:id)');
- $stmt->bindParam(":id", $horario["HorarioGrupo_id"]);
- if(!$stmt->execute()){
- $t = $stmt->errorInfo();
- $errorDesc = "Ocurrió un error al obtener los datos de los profesores ".$t[2];
- break;
- }
- $submaterias_rs = $stmt->fetchAll();
- $stmt->closeCursor();
- $sub_prof_num = 0;
- $nombre_impreso = false;
- if(count($submaterias_rs) > 0){
- $tiene_submaterias = true;
- foreach($submaterias_rs as $submateria){
- $submateria_text = $submateria["Submateria_desc"];
- $dia_hora_text = ucfirst(diaNombre($horario["Dia_id"]))." ".date('H:i', strtotime($horario["Horario_hora"]));
- $profesores_all = "";
- $salon_text = "";
- /*$xtpl->assign("SUBMATERIA", $submateria["Submateria_desc"]);
- $xtpl->assign("DIA", diaNombre($submateria["Dia_id"]));*/
- //---
- $stmt = $pdo->prepare('Select * from fs_submateriahorariogrupoprofesor(:id,:sub)');
- $stmt->bindParam(":id",$horario["HorarioGrupo_id"]);
- $stmt->bindParam(":sub", $submateria["Submateria_id"]);
- if(!$stmt->execute()){
- $t = $stmt->errorInfo();
- $errorDesc = "Ocurrió un error al obtener los datos de los profesores ".$t[2];
- break;
- }
- $profesores_rs = $stmt->fetchAll();
- $stmt->closeCursor();
- $sub_prof_num += count($profesores_rs);
- if(isset($profesores_rs) && count($profesores_rs) > 0){
- foreach($profesores_rs as $profesor){
- $prof_nombre = '<span class="ing-formacion ing-fw mx-1"></span> '.$profesor["Usuario_apellidos"]." ".$profesor["Usuario_nombre"];
- $profesores_all .= $prof_nombre."<br>";
- if($profesor["Salon_desc"]){
- $salon_text .= $profesor["Salon_desc"]."<br>";
- }else{
- $salon_text .= $pendiente."<br>";
- }
- }
- //$xtpl->assign("PROFESOR_SUB", $profesores_all);
-
- //$xtpl->parse("main.submaterias_block.row.submateria");
- /*if(!$nombre_impreso){
- $nombre_impreso = true;
- $xtpl->assign("MAT_ROWSPAN", count($submaterias_rs));
- $xtpl->parse("main.submaterias_block.row.materia");
- }*/
- $row = array();
- $row["id"] = $submateria["Submateria_id"];
- $row["materia"] = $submateria_text;
- $row["dia"] = $dia_hora_text;
- $row["profesores"] = $profesores_all;
- $row["salon"] = $salon_text;
- $tabla_electivas[] = $row;
-
- //$xtpl->parse("main.submaterias_block.row");
- }//se pinta sólo si tiene profesor
- }
- }//hay submaterias
- }//fin if
- }
- if(count($tabla_electivas) > 0){
- //Ordena arreglo asociativo
- usort($tabla_electivas, function($a, $b) {
- return $a['materia'] <=> $b['materia'];
- });
- //Pinta arreglo ordenado
- foreach($tabla_electivas as $row){
- ?>
- <tr>
- <td class="align-middle"><?php echo $row["materia"];?> </td>
- <td class="text-center align-middle"><?php echo $row["dia"];?></td>
- <td class="text-center align-middle"><?php echo $row["salon"];?></td>
- <td class="align-middle"><?php echo $row["profesores"];?></td>
- </tr>
- <?php
- }
- }
- unset($profesores_rs);
- ?>
- </tbody>
- </table>
- </div>
- </div>
- <?php }//end if existe grupo_actual_rs ?>
- </div>
- <!--- FOOTER--->
- <div class="d-print-none">
- <?php require_once("../include/footer.php"); ?>
- </div>
- <!-- Modal -->
- <div class="modal fade" id="modal" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true">
- <div class="modal-dialog modal-dialog-centered" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h4 class="col-12 modal-title text-center" id="modalLabel">Descargar horarios
- <button type="button" class="close text-white" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">×</span>
- </button>
- </h4>
- </div>
- <div class="modal-body pb-0">
- <form action="./export/xls_horariogrupo.php" method="post" onsubmit="bloquea()">
- <div class="form-box">
- <div class="form-group row">
- <label for="edo-old" class="col-4 col-form-label">Grupo</label>
- <div class="col-8">
- <?php
- $stmt = $pdo->prepare('Select * from fs_subestadoalumno_activo(false)');
- $stmt->execute();
- ?>
- <div class="datalist datalist-select mb-1 w-100" id="dlModal">
- <div class="datalist-input">Todos los grupos</div>
- <span class="ing-buscar icono"></span>
- <ul style="display:none">
- <li data-id="0">Todos los grupos</li>
- <?php foreach($grupos_rs as $grupo) {
- $nombre = $grupo["Grupo_desc"]." ".$grupo["Carrera_prefijo"];
- ?>
- <li data-id="<?php echo $grupo["Grupo_id"];?>" <?php if(isset($filter_grupo) && $filter_grupo == $grupo["Grupo_id"]){echo "class='selected'";}?> ><?php echo $nombre;?></li>
- <?php }?>
- </ul>
- <input type="hidden" id="modal_grupo" name="grupo" value="0">
- </div>
- </div>
- </div>
- </div>
-
- <div class="form-group row">
- <div class="offset-4 col-8">
- <button type="submit" class="btn btn-outline-primary" id="btn-descargar"><?php echo $ICO["descargar"];?> Descargar xls</button>
- <button type="button" class="btn btn-outline-danger" data-dismiss="modal"><?php echo $ICO["cancelar"];?> Cancelar</button>
- </div>
- </div>
- </form>
- </div>
- </div>
- </div>
- </div>
- </div>
- <script src="../js/jquery.min.js"></script>
- <script src="../js/jquery-ui.js"></script>
- <script src="../js/datepicker-es.js"></script>
- <script src="../js/bootstrap/popper.min.js"></script>
- <script src="../js/bootstrap/bootstrap.min.js"></script>
- <script src="../js/fechas.js"></script>
- <script src="../js/sidebarmenu.js"></script>
- <script src="../js/datalist.js"></script>
- <script>
- setDatalist("#periodo", <?php echo $_SESSION["periodo_id"]; ?>);
- $(document).on('click', '#dlPeriodo ul li' ,function(){
- $("#formaPeriodo").submit();
- });
- $(document).on('click', '#dlModal ul li' ,function(){
- $("#btn-descargar").attr("disabled", false);
- });
- function bloquea(){
- $("#btn-descargar").attr("disabled", true);
- }
- $('#modal').on('shown.bs.modal', function (event) {
- $("#btn-descargar").attr("disabled", false);
- });
- </script>
- <?php if(isset($grupo_actual_rs)){ ?>
- <script>
- var _periodo_fecha_inicial = "<?php echo fechaSlash($periodo_rs["Periodo_fecha_inicial"]); ?>";
- var _periodo_fecha_final = "<?php echo fechaSlash($periodo_rs["Periodo_fecha_final"]); ?>";
- var _w = 208, _h = 25;//tamaño de bloques
- var _tab_size = 25; //espaciado por cada elemento que colisiona
- var _frac = parseInt($('#tabla-horario').data('fracciones'));
- var _reloadOnClose = false;
- var id_obj = 0; //id de objeto actual
- var _hora_min = parseInt($('#tabla-horario').data('hora-inicio'));
- var clasesObj = [];
- //al imprimir pone horarios lado a lado, sólo soporta 2
- function imprime(){
- _tab_size = _w/2;
- loadHorario();
- setTimeout(function() {
- window.print()
- console.log("Fin print");
- setTimeout(function() {
- _tab_size = 25;
- loadHorario();
- console.log("Reajustado");
- }, 1000);
- }, 1000);
- //window.print();
- }
- </script>
- <script src="./js/horario.js"></script>
- <script src="./js/horario_alumnos.js"></script>
- <?php } ?>
- </body>
- </html>
|