123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790 |
- <?php
- require_once("../include/nocache.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 = 5;
- $submenu = 57;
- //--- 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
-
- ?>
- <!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/fa_all.css" type="text/css">
- <link rel="stylesheet" href="../css/indivisa.css" type="text/css">
- <?php if($objSesion->puedeEditar() ){ ?>
- <link rel="stylesheet" href="../css/jquery-ui.css" type="text/css">
- <link rel="stylesheet" href="../css/calendar.css" type="text/css">
- <link rel="stylesheet" href="../css/clockpicker.css" type="text/css">
- <link rel="stylesheet" href="../css/toggle.css" type="text/css">
- <link rel="stylesheet" href="../css/colpick.css" type="text/css">
- <?php }?>
- <link rel="stylesheet" href="./css/calendario_eventos.css?rand=<?php echo rand();?>" type="text/css">
- <link rel="stylesheet" href="../css/sgi.css?rand=<?php echo rand();?>" type="text/css">
- <script src="../js/util.js"></script>
- </head>
- <body>
- <div>
- <?php
- //--- Objeto que pinta menu
- $menuObj = new MainMenu($_SESSION["usuario_id"], $menu, $pdo, APSA, "Calendario Escolar » ".$_SESSION["periodo_desc"]);//usr, menu, pdo, sist
- $menuObj->printMenu();
-
- //Obtiene fechas de periodo
- $stmt = $pdo->prepare('Select * from fs_periodo(:periodo, NULL, NULL, true)');
- $stmt->bindParam(":periodo", $_SESSION["periodo_id"]);
- if(!$stmt->execute()){
- //print_r($stmt->errorInfo());
- $errorDesc = "Ocurrió un error al cargar los datos del periodo";
- }else{
- $periodo_rs = $stmt->fetch();
- }
- $stmt->closeCursor();
- if($periodo_rs["Periodo_id"] !=""){
-
- //calcula limite de calendario de periodo
- $stmt = $pdo->prepare('Select * from fs_fechaimportante(:periodo, 3)');//periodo
- $stmt->bindParam(":periodo", $_SESSION["periodo_id"]);
- if(!$stmt->execute()){
- $errorDesc = "Ocurrió un error al cargar las fechas del periodo";
- }else{
- $fecha_rs = $stmt->fetch();
- $fecha_min = date('d/m/Y', strtotime($fecha_rs["FechaImportante_inicial"].' - 1 month '));
- $fecha_max = date('d/m/Y', strtotime($fecha_rs["FechaImportante_final"].' + 1 month '));
- }
- $stmt->closeCursor();
- $stmt = null;
- //Perfiles de usuario actual
- $perfilUsr_arr = array();
- if(!$objSesion->puedeEditar() ){
- $stmt = $pdo->prepare('Select * from fs_esDirectivo(:usr)');//periodo
- $stmt->bindParam(":usr", $_SESSION["usuario_id"]);
- if($stmt->execute()){
- $rs = $stmt->fetch();
- if($rs["fs_esdirectivo"]){
- $perfilUsr_arr[]= "1";
- }
- }
- $stmt->closeCursor();
- if($_SESSION["administrativo"]){
- $perfilUsr_arr[]= "2";
- }
- if($_SESSION["profesor"]){
- $perfilUsr_arr[]= "3";
- }
- }
- //Obtiene perfiles
- $stmt = $pdo->prepare('Select * from fs_calendarioperfil()');
- if(!$stmt->execute()){
- //print_r($stmt->errorInfo());
- $errorDesc = "Ocurrió un error al cargar los perfiles del calendario";
- }else{
- $perfil_rs = $stmt->fetchAll();
- }
- $stmt->closeCursor();
- $stmt = null;
- //Obtiene repeticiones
- $stmt = $pdo->prepare('Select * from fs_calendariorepeticion()');
- if(!$stmt->execute()){
- //print_r($stmt->errorInfo());
- $errorDesc = "Ocurrió un error al cargar los tipos de repetición de eventos del calendario";
- }else{
- $rep_rs = $stmt->fetchAll();
- }
- $stmt->closeCursor();
- $stmt = null;
- //Obtiene categorías
- $stmt = $pdo->prepare('Select * from fs_calendariocategoria(NULL)');
- if(!$stmt->execute()){
- //print_r($stmt->errorInfo());
- $errorDesc = "Ocurrió un error al cargar las categorías de eventos del calendario";
- }else{
- $cat_rs = $stmt->fetchAll();
- }
- $stmt->closeCursor();
- $stmt = null;
- if(!isset($_POST["mes"])){
- /*$mes_actual = intval(date("n", strtotime($periodo_rs["Periodo_fecha_inicial"])));//mes sin 0s
- $anho_actual = intval(date("Y", strtotime($periodo_rs["Periodo_fecha_inicial"])));*/
- $mes_actual = date("n");
- $anho_actual = date("Y");
- if(strtotime($anho_actual."-".$mes_actual."-1") < strtotime(fechaGuion($fecha_min))){
- $mes_actual = intval(date("n", strtotime(fechaGuion($fecha_min))));//mes sin 0s
- $anho_actual = intval(date("Y", strtotime(fechaGuion($fecha_min))));
- }else if(strtotime($anho_actual."-".$mes_actual."-1") > strtotime(fechaGuion($fecha_max))){
- $mes_actual = intval(date("n", strtotime(fechaGuion($fecha_max))));//mes sin 0s
- $anho_actual = intval(date("Y", strtotime(fechaGuion($fecha_max))));
- }
-
- }else{
- $mes_actual = filter_input(INPUT_POST, "mes", FILTER_SANITIZE_NUMBER_INT);//limpia texto
- $anho_actual = filter_input(INPUT_POST, "anho", FILTER_SANITIZE_NUMBER_INT);//limpia texto
- }
- $dias_max = date("t", strtotime($anho_actual."-".$mes_actual."-1"));
- }else{
- $errorDesc = "Debes seleccionar un periodo.";
- }
- //--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 evento."; break;
- case 1: $errorDesc = "Ocurrió un error al insertar los datos del evento."; break;
- case 2: $errorDesc = "Ocurrió un error al actualizar los datos del evento."; 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 evento se guardó correctamente."; break;
- case 1: $successDesc = "El evento se actualizó correctamente."; break;
- }
- }
-
- ?>
- <div class="container-fluid marco pt-3">
- <?php include_once("../include/errorMessage.php"); ?>
- <?php include("../include/periodoCambio.php");?>
-
- <?php if($periodo_rs["Periodo_id"] !=""){?>
- <div class="row">
- <div class="col-6">
- <h4 class="mb-3 mayusculas">
- <?php if( $anho_actual."-".($mes_actual<10?"0".$mes_actual:$mes_actual)."-01" > fechaGuion($fecha_min)){?>
- <span class="pointer cambia-mes" data-mes="-1"><?php echo $ICO["izquierda"];?></span>
- <?php } ?>
- <?php echo mesNombre($mes_actual)." ".$anho_actual;?>
- <?php if( $anho_actual."-".($mes_actual+1<10?"0".($mes_actual+1):($mes_actual+1))."-01" < fechaGuion($fecha_max)){?>
- <span class="pointer cambia-mes" data-mes="1"><?php echo $ICO["derecha"];?></span>
- <?php } ?>
- </h4>
- </div>
- <div class="col-6 text-right">
- <?php if($objSesion->puedeEditar() ){ ?>
- <button type="button" class="btn btn-outline-primary calendario_nuevo"><?php echo $ICO["mas"];?> Crear evento</button>
- <?php } ?>
- <button type="button" class="btn btn-outline-secondary" data-toggle="modal" data-target="#modal_exportar" data-tipo="1"><?php echo $ICO["descargar"];?> Exportar</button>
- </div>
- </div>
-
- <?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;
-
- /* Definidas en constantes.php
- HORA_INICIO = 7;
- HORA_FINAL = 22;
- FRACCION_HORA = 4;*/
- ?>
- <?php }?>
- </div>
- <main class="container-fluid content marco-wide">
-
- <?php if($periodo_rs["Periodo_id"] !=""){ ?>
- <form action="calendario.php" method="post" id="formaCalendario">
- <input type="hidden" name="mes" id="mes" value="<?php echo $mes_actual;?>">
- <input type="hidden" name="anho" id="anho" value="<?php echo $anho_actual;?>">
- <div class="mt-2 mb-2">
- <div class="row justify-content-md-center">
- <div class="col-md-auto">
- <table class="table table-sm table-responsive table-borderless calendario" id="tabla-horario">
- <thead class="thead-dark">
- <tr>
- <?php for($dia = 0; $dia < 7; $dia++){
- echo "<th style='text-transform: capitalize; width: 180px'>".diaNombre($dia)."</th>";
- } ?>
- </tr>
- </thead>
- <tbody id="calendario-body">
- <tr>
- <td colspan="7">
- <div class="area-horario">
- <table class="table table-borderless">
- <tbody>
- <?php
- $dia = 1;
- $cells = 0;
- $editable = "";
- if($objSesion->puedeEditar()) $editable = "editable";
- ?>
- <tr class="border-bottom">
- <?php
- //días antes de que empiece el mes
- $dia_inicio = date("w", strtotime($anho_actual."-".$mes_actual."-1"));//0 a 7
- $j=0;
- while($j < $dia_inicio){
- echo "<td class='bg-info cell' id='cell".$cells."' data-cell='".$cells."'> </td>";
- $cells++;
- $j++;
- }
- do{
- $dia_class = "border-primary bg-white";
- if(date('Y-n-j') == $anho_actual.'-'.$mes_actual.'-'.$dia){
- $dia_class = "border-white bg-danger text-white";
- }
- ?>
- <td style="width: 180px" id="dia<?php echo $dia;?>" class='cell <?php echo $editable;?>' data-cell="<?php echo $cells;?>" data-fecha="<?php echo date("d/m/Y", strtotime($anho_actual."-".$mes_actual."-".$dia)); ?>">
- <div class='date-num border rounded-pill mb-2 <?php echo $dia_class;?>'><?php echo $dia;?></div>
- <div class="calendario_eventos">
- </div>
- </td>
- <?php
- $cells++;
- $dia++;
- if($cells%7 == 0 && $cells > 0){//domingo
- echo '</tr><tr class="border-bottom">';
- }
- }while($dia <= $dias_max);
- $j=7 - $cells%7;
- while($j > 0 && $j<7){
- echo "<td class='bg-info'> </td>";
- $j--;
- }
- ?>
- </tr>
- </tbody>
- </table>
- <div id="bloque-horarios">
- </div>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- </div>
- </form>
-
- <!-- Referencia de colores -->
- <div class="row justify-content-md-center">
- <div class="col-12">
- <h5 class="mt-2">Categorías</h5>
- </div>
- <div class="col-12">
- <span class="tipo-area"><!--6ABF4B-->
- <span class="ico-border" style="color:#c99a0c"><?php echo $ICO["circulo"];?></span>
- Fechas del periodo
- </span>
- <span class="tipo-area">
- <span class="ico-border" style="color:#E470C0"><?php echo $ICO["circulo"];?></span>
- Exámenes extraordinarios
- </span>
-
- <?php foreach($cat_rs as $cat){ ?>
- <span class="tipo-area">
- <span class="ico-border" style="color:<?php echo $cat["CalendarioCategoria_color"]?>"><?php echo $ICO["circulo"];?></span>
- <?php echo $cat["CalendarioCategoria_desc"]?>
- <?php if($objSesion->puedeEditar() && $_SESSION["sgi_administrador"]){?>
- <span class="ing-editar ing-fw categoria_edita pointer" data-id="<?php echo $cat["CalendarioCategoria_id"]; ?>" data-color="<?php echo $cat["CalendarioCategoria_color"]?>" data-desc="<?php echo $cat["CalendarioCategoria_desc"]?>" aria-hidden="true" title="Editar"></span>
- <?php } ?>
- </span>
- <?php } ?>
- <?php if($objSesion->puedeEditar() && $_SESSION["sgi_administrador"]){?>
- <span class="tipo-area">
- <button class="btn btn-outline-secondary btn-sm mb-1" data-toggle="modal" data-target="#modal_categoria" data-nuevo="1"><?php echo $ICO["mas"];?> Agregar</button>
- </span>
- <?php } ?>
- </div>
- </div>
- <?php } ?>
- </main>
- <!--- FOOTER--->
- <?php require_once("../include/footer.php"); ?>
-
- <?php
- if($objSesion->puedeEditar() && $periodo_rs["Periodo_id"] !=""){
- ?>
- <!-- Modal -->
- <div class="modal fade" id="modal" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true">
- <div class="modal-dialog modal-dialog-centered modal-lg" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h4 class="col-12 modal-title text-center"><span id="modalLabel">Evento de calendario</span>
- <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">
- <form action="#" method="post" id="formaModal"><!-- validaEvento() -->
- <input type="hidden" name="id_db" id="id_db">
-
- <div class="form-box form-box-info">
- <div class="form-group row">
- <label for="titulo" class="col-4 col-form-label">Título *</label>
- <div class="col-8">
- <input type="text" class="form-control" name="titulo" id="titulo" required="required" maxlength="60">
- </div>
- </div>
- <div class="form-group row">
- <label for="desc" class="col-4 col-form-label">Descripción</label>
- <div class="col-8">
- <textarea class="form-control" id="desc" name="desc" rows="5"></textarea>
- </div>
- </div>
- <div class="form-group row">
- <label for="categoria" class="col-4 col-form-label">Categoría *</label>
- <div class="col-6">
- <div class="datalist datalist-select mb-1 w-100" id="dlCategoria">
- <div class="datalist-input">1</div>
- <span class="ing-buscar icono"></span>
- <ul style="display:none">
- <?php foreach($cat_rs as $cat) {?>
- <li data-id="<?php echo $cat["CalendarioCategoria_id"];?>" data-color="<?php echo $cat["CalendarioCategoria_color"];?>"><?php echo $cat["CalendarioCategoria_desc"];?></li>
- <?php }?>
- </ul>
- <input type="hidden" id="categoria" name="categoria" value="0">
- </div>
- </div>
- <div class="col-2" id="categoria_color">
- <span class="ing-2x ico-border"><?php echo $ICO["circulo"];?></span>
- </div>
- </div>
- </div>
-
- <div class="form-box" id="programacion">
- <h5 class="mt-3 ml-5 font-weight-bold">Programación</h5>
-
- <div class="row form-group">
- <label for="fecha_inicial" class="col-4 col-form-label">Fecha inicial *</label>
- <div class="col-8">
- <input id="fecha_inicial" name="fecha_inicial" type="text" class="form-control date-picker" placeholder="dd/mm/aaaa" maxlength="10" required="required" readonly="readonly">
- </div>
- </div>
-
- <div class="row form-group">
- <label class="col-4 col-form-label" for="customSwitch1">Todo el día</label>
- <div class="col-8">
- <input type="checkbox" class="todo_dia" data-toggle="toggle" data-onstyle="primary" data-offstyle="info" data-on="Sí" data-off="No" id="todo_dia" name="todo_dia" value="1" data-width="50">
- </div>
- </div>
-
- <div class="form-group row" id="divHoras">
- <label for="horaIni" class="col-4 col-form-label">Hora *</label>
- <div class="col-1 my-auto text-center">de</div>
- <div class="col-3">
- <input class="form-control clock" id="hora_inicial" type="text" maxlength="5" data-autoclose="true" placeholder="hh:mm" maxlength="5" required="required" readonly="readonly" value="">
- </div>
- <div class="col-1 my-auto text-center">a</div>
- <div class="col-3 ">
- <input class="form-control clock" id="hora_final" type="text" maxlength="5" data-autoclose="true" placeholder="hh:mm" maxlength="5" required="required" readonly="readonly" value="">
- </div>
- </div>
-
-
- <div class="form-group row">
- <label for="repetir" class="col-4 col-form-label">Se repite *</label>
- <div class="col-4">
- <div class="datalist datalist-select mb-1 w-100" id="dlRepetir">
- <div class="datalist-input">1</div>
- <span class="ing-buscar icono"></span>
- <ul style="display:none">
- <li data-id="0">Fecha única</li>
- <?php foreach($rep_rs as $rep) {?>
- <li data-id="<?php echo $rep["CalendarioRepeticion_id"];?>"><?php echo $rep["CalendarioRepeticion_desc"];?></li>
- <?php }?>
- </ul>
- <input type="hidden" id="repetir" name="repetir" value="0">
- </div>
- </div>
- </div>
-
-
- <div class="row form-group rep-semana rep-mes" id="dias_block">
- <label for="dias" class="col-4 col-form-label">Los días *</label>
- <div class="col-8 px-5">
- <div class="d-flex justify-content-between ">
- <?php for($i=0; $i<7; $i++){
- $d = substr(diaNombre($i),0,1);
- ?>
- <input type="checkbox" name="dias[]" class="dias d-none" id="dia_<?php echo $i;?>" value="<?php echo $i;?>"/>
- <label class="btn-circle font-weight-bolder bg-info text-dark align-middle mb-0 mayusculas" for="dia_<?php echo $i;?>"><?php echo $d;?></label>
- <?php } ?>
- </div>
- <div class="text-danger text-80 d-none" id="dias_error">
- * Debes elegir al menos un día de la semana
- </div>
- </div>
-
- </div>
-
- <div class="form-group row rep-mes">
- <label for="de_semana" class="col-4 col-form-label">De la semana *</label>
- <div class="col-8">
- <div class="datalist datalist-select mb-1 w-100">
- <div class="datalist-input">1ra del mes</div>
- <span class="ing-buscar icono"></span>
- <ul style="display:none">
- <li data-id="1">1ra del mes</li>
- <li data-id="2">2da del mes</li>
- <li data-id="3">3ra del mes</li>
- <li data-id="4">4ta del mes</li>
- <li data-id="-1">última del mes</li>
- </ul>
- <input type="hidden" id="de_semana" name="de_semana" value="1">
- </div>
- </div>
- </div>
-
- <div class="row form-group rep-diario rep-semana rep-mes">
- <label for="fecha_final" class="col-4 col-form-label">Hasta la fecha *</label>
- <div class="col-8">
- <input id="fecha_final" name="fecha_final" type="text" class="form-control date-picker" placeholder="dd/mm/aaaa" maxlength="10" readonly="readonly">
- <div class="invalid-feedback">
- El rango de fechas es inválido.
- </div>
- </div>
- </div>
- </div>
-
- <!-- solo para editar evento -->
- <div class="form-box" id="fecha_cambio">
- <h5 class="my-3 ml-5 font-weight-bold">Fecha de esta repetición</h5>
- <input type="hidden" id="todo_dia_nueva" value="">
- <input type="hidden" id="fecha_original" value="">
-
- <div class="form-group row align-items-center">
- <label class="col-4 col-form-label">Cambiar fecha</label>
- <div class="col-4 col-md-3">
- <div class="form-check form-check-inline">
- <input class="form-check-input radio-lg" type="radio" id="cambio_fecha_no" name="cambio_fecha" value="0" checked="true">
- <label for="cambio_fecha_no" class="col-form-label">No</label>
- </div>
- </div>
- <div class="col-4 col-md-3">
- <div class="form-check form-check-inline">
- <input class="form-check-input radio-lg" type="radio" id="cambio_fecha_si" name="cambio_fecha" value="1">
- <label for="cambio_fecha_si" class="col-form-label">Sí</label>
- </div>
- </div>
- </div>
- <div class="row form-group">
- <label for="fecha_nueva" class="col-4 col-form-label">Fecha nueva *</label>
- <div class="col-8">
- <input id="fecha_nueva" name="fecha_nueva" type="text" class="form-control date-picker" placeholder="dd/mm/aaaa" maxlength="10" readonly="readonly">
- </div>
- </div>
-
- <div class="form-group row" id="divHoras_nueva">
- <label for="hora_inicial_nueva" class="col-4 col-form-label">Hora *</label>
- <div class="col-1 my-auto text-center">de</div>
- <div class="col-3">
- <input class="form-control clock" id="hora_inicial_nueva" type="text" maxlength="5" data-autoclose="true" placeholder="hh:mm" maxlength="5" readonly="readonly" value="">
- </div>
- <div class="col-1 my-auto text-center">a</div>
- <div class="col-3 ">
- <input class="form-control clock" id="hora_final_nueva" type="text" maxlength="5" data-autoclose="true" placeholder="hh:mm" maxlength="5" readonly="readonly" value="">
- </div>
- </div>
- </div>
-
-
- <div class="form-box form-box-info">
- <h5 class="mt-3 ml-5 font-weight-bold">Visibilidad</h5>
- <div class="form-group row align-items-center">
- <label class="col-4 col-form-label">Periodo *</label>
- <div class="col-4 ">
- <div class="form-check form-check-inline">
- <input class="form-check-input radio-lg" type="radio" id="periodo_actual" name="periodo_actual" value="<?php echo $_SESSION["periodo_id"];?>" checked="true">
- <label for="periodo_actual" class="col-form-label"><?php echo $periodo_rs["Periodo_desc"];?></label>
- </div>
- </div>
- <div class="col-4 ">
- <div class="form-check form-check-inline">
- <input class="form-check-input radio-lg" type="radio" id="periodo_no" name="periodo_actual" value="0">
- <label for="periodo_no" class="col-form-label">Todos</label>
- </div>
- </div>
- </div>
- <div class="form-group row">
- <label class="col-4 col-form-label">Visible para *</label>
- <div class="col-8 px-4 pt-2">
- <div class="d-flex justify-content-between ">
- <?php foreach($perfil_rs as $perfil){ ?>
- <div class="form-check form-check-inline">
- <input type="checkbox" name="perfil[]" class="perfil form-check-input radio-lg" id="perfil_<?php echo $perfil["CalendarioPerfil_id"];?>" checked="checked" value="<?php echo $perfil["CalendarioPerfil_id"];?>" />
- <label class="ml-1 col-form-label form-check-label" for="perfil_<?php echo $perfil["CalendarioPerfil_id"];?>"><?php echo $perfil["CalendarioPerfil_desc"];?></label>
- </div>
- <?php } ?>
- </div>
- <div class="text-danger text-80 d-none" id="perfil_error">
- * Debes elegir al menos un perfil
- </div>
- </div>
- </div>
- </div>
-
-
- <div class="form-group row">
- <div class="col-12 text-center">
- <button type="button" class="btn btn-outline-primary" id="submitBtn" data-nuevo="1"><?php echo $ICO["aceptar"];?> Guardar</button>
- <button type="reset" class="btn btn-outline-danger" data-dismiss="modal"><?php echo $ICO["cancelar"];?> Cancelar</button>
- </div>
- </div>
- </form>
- </div>
- </div>
- </div>
- </div>
- <div class="modal fade" id="modal_confirm" 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-body">
- <div class="row">
- <div class="col">
- <p><b>¿Qué deseas borrar?</b></p>
- <p>Una vez borrado el evento no se puede deshacer.</p>
- </div>
- </div>
- </div>
- <div class="modal-footer">
- <input type="hidden" id="id_borrar" value="">
- <div class="btn-group" role="group" aria-label="Borrar">
- <button type="button" class="btn btn-outline-primary bloque-borra" data-todos="false"><?php echo $ICO["borrar"];?> Este evento</button>
- <button type="button" class="btn btn-outline-primary bloque-borra" data-todos="true" id="btn-borra-todos"><?php echo $ICO["borrar2"];?> Toda la serie</button>
- </div>
- <button type="button" class="btn btn-outline-danger" data-dismiss="modal" aria-label="Close"><?php echo $ICO["cancelar"];?> Cancelar</button>
- </div>
- </div>
- </div>
- </div>
-
- <div class="modal fade" id="modal_categoria" 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"><span id="modalLabel">Categoría de evento</span>
- <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">
- <form action="#" method="post">
- <input type="hidden" name="cat_id" id="cat_id">
-
-
- <div class="form-box form-box-info">
- <div class="form-group row">
- <label for="cat_desc" class="col-4 col-form-label">Nombre *</label>
- <div class="col-8">
- <input type="text" class="form-control" name="cat_desc" id="cat_desc" required="required" maxlength="50">
- </div>
- </div>
- <div class="form-group row">
- <label for="cat_col" class="col-4 col-form-label">Color *</label>
- <div class="col-8">
- <input id="cat_col" name="cat_col" type="text" class="form-control" required="required" maxlength="7" value="#ffffff">
- </div>
- </div>
- </div>
- <div class="form-group row">
- <div class="col-12 text-center">
- <button type="button" class="btn btn-outline-primary" id="submitBtn_cat" data-nuevo="1"><?php echo $ICO["aceptar"];?> Guardar</button>
- <button type="reset" class="btn btn-outline-danger" data-dismiss="modal"><?php echo $ICO["cancelar"];?> Cancelar</button>
- </div>
- </div>
- </form>
- </div>
- </div>
- </div>
- </div>
- <?php } //fin puede editar ?>
-
- <!-- Modal Ver-->
- <div class="modal fade" id="modal_ver" 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"><span class="titulo">Datos del Evento</span>
- <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 ">
- <div class="row mb-2">
- <div class="col-12 text-center">
- <p><span class="fecha">13</span> de <?php echo mesNombre($mes_actual)." de ".$anho_actual;?><br>
- <span class="hora">14:00 a 18:00</span></p>
- </div>
- </div>
-
- <p class="desc">Aquí va la descripción del evento</p>
- <p><span class="categoria_color ico-border"><?php echo $ICO["circulo"];?></span> <span class="categoria">Categoria X</span></p>
-
- <?php if($objSesion->puedeEditar() ){ ?>
- <ul class="list-inline" id="datos_perfil">
- <li class="list-inline-item perfil"><b>Visible para: </b></li>
- </ul>
- <?php } ?>
-
- </div>
- <div class="modal-footer bg-primary text-white py-0">
- <div class="container-fluid">
- <div class="row">
- <div class="col-12 text-right"><p class="my-0">Repeticiones: <span class="fechas_total"></span></p></div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- <div class="modal fade" id="modal_exportar" 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"><span class="titulo"><?php echo $_SESSION["periodo_desc"];?></span>
- <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">
- <div class="row">
- <div class="col-12">
- <div>
- <?php
- if($objSesion->puedeEditar()){?>
- <p><b>¿Qué perfiles deseas exportar?</b></p>
- <?php foreach($perfil_rs as $perfil){ ?>
- <div class="form-check mx-4">
- <input type="checkbox" name="perfil[]" class="perfil form-check-input radio-lg" id="perfil_exporta_<?php echo $perfil["CalendarioPerfil_id"];?>" checked="checked" value="<?php echo $perfil["CalendarioPerfil_id"];?>" />
- <label class="ml-3 col-form-label form-check-label" for="perfil_exporta_<?php echo $perfil["CalendarioPerfil_id"];?>"><?php echo $perfil["CalendarioPerfil_desc"];?></label>
- </div>
- <?php
- }
- ?>
- <div class="text-danger text-80 d-none" id="perfil_exportar_error">
- * Debes elegir al menos un perfil
- </div>
- <?php
- }else{//no puede editar
- foreach($perfilUsr_arr as $perfil){?>
- <input type="hidden" name="perfil[]" class="perfil_hidden" value="<?php echo $perfil;?>">
- <?php }
-
- } //fin editar?>
- </div>
-
-
- </div>
- <div class="col-12" id="suscripcion_block">
- <p class="mt-3 mb-1"><b>URL de suscripción</b></p>
- <p>Copia el siguiente URL para suscribirte al calendario y obtener actualizaciones automáticas.</p>
- <div class="input-group">
- <div id="copy-box"></div>
- <input type="text" id="suscripcion_url" class="form-control texto-copiar" value="" readonly="true" data-periodo="<?php echo $_SESSION["periodo_id"]; ?>">
- <div class="input-group-append">
- <button class="btn btn-outline-primary btn-copiar" type="button" title="Copiar"><span class="ing-copiar"></span></button>
- </div>
- </div>
-
- </div>
- </div>
- </div>
- <div class="modal-footer">
- <form id="forma_exportar" method="post" action="./export/ical_calendario.php" target="_blank">
- <input type="hidden" id="perfiles_exportar" name="perfiles" value="">
- </form>
- <button type="button" class="btn btn-outline-primary btn-pdf"><span class="ing-imprimir ing-fw"></span> Descargar .pdf</button>
- <button type="button" class="btn btn-outline-primary btn-exportar"><?php echo $ICO["descargar"];?> Descargar .ical</button>
- <button type="button" class="btn btn-outline-danger" data-dismiss="modal" aria-label="Close"><?php echo $ICO["cancelar"];?> Cancelar</button>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- <script src="../js/jquery.min.js"></script>
- <?php if($objSesion->puedeEditar() ){ ?>
- <script src="../js/jquery-ui.js"></script>
- <script src="../js/datepicker-es.js"></script>
- <script src="../js/clockpicker.js"></script>
- <script src="../js/toggle.js"></script>
- <script src="../js/colpick.js"></script>
- <?php } ?>
- <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/calendario.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();
- });
-
- </script>
- <?php if($periodo_rs["Periodo_id"] !=""){?>
- <script>
- var _periodo_fecha_inicial = "<?php echo fechaSlash($fecha_min); ?>";
- var _periodo_fecha_final = "<?php echo fechaSlash($fecha_max); ?>";
- var datepickerOptions = { dateFormat: "dd/mm/yy", minDate:_periodo_fecha_inicial, maxDate:_periodo_fecha_final, changeMonth: true, defaultDate: '<?php echo "01/".($mes_actual<10?"0".$mes_actual:$mes_actual)."/".$anho_actual; ?>' };
- var clasesObj = [];
- // var _reloadTime = 45; //en segundos, tiempo para refrescar horarios
- var _w = 180, _h = 150;//tamaño de bloques
- var _block_h = 34; //espaciado por cada elemento que colisiona
- var _reloadOnClose = false;
- var id_obj = 0; //id de objeto actual
- var _perfiles;
- <?php if($objSesion->puedeEditar() ){ ?>
- _perfiles = [1,2,3,4];
- <?php } else{ ?>
- _perfiles = [<?php echo implode(",", $perfilUsr_arr)?>];
- <?php } ?>
- </script>
- <?php if($objSesion->puedeEditar() ){ ?>
- <script src="./js/calendario_edicion.js?rand=<?php echo rand();?>"></script>
- <?php }else{//no editar ?>
- <script src="./js/calendario_read.js"></script>
- <?php
- }//fin on editar
- ?>
- <?php } ?>
- </body>
- </html>
|