123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- <?php
- session_start();
- require_once 'include/bd_pdo.php';
- require_once 'classes/EventoInsignia.php';
- require_once 'classes/Fechas.php';
- require_once 'classes/MainMenu.php';
- require_once './classes/SGI.php';
- require_once 'classes/Template.php';
- require_once 'classes/ValidaSesion.php';
- //CONSTANTES Y VARIABLES GLOBALES
- $menu = 43;
- $submenu = 432;
- $titulo = '';
- if (!isset($_SESSION['usuario_id']))
- ValidaSesion::salirPagina();
- else {
- if(isset($_SESSION['usuario_id']))
- $objSesion = new ValidaSesion($pdo, $submenu);
- else
- ValidaSesion::salirPagina();
- }
- if ($objSesion->tieneAcceso()) {
- $listInsignias = array();
- $insignias = SGI::getInsignias($pdo, $_SESSION['usuario_id']);
- $cont = -1;
- $tipoInsignia = '';
- foreach($insignias as $insignia){
- $tipoFecha = '';
- if($insignia['InsigniaTipo_general']) {
- $evento = EventoInsignia::getDatosEventos($pdo, null, null, $insignia['Insignia_id']);
- if (count($evento) > 0)
- $fechas = EventoInsignia::getFechasRomanizadas($evento[0]['fechas'], $evento[0]['periodicidad'], null, false, true);
- } else {
- if (is_null($insignia['InsigniaPersonal_fecha_final']))
- $fechas = EventoInsignia::getFechasRomanizadas(array(array('fecha' => $insignia['InsigniaPersonal_fecha_inicial']), array('fecha' => null)), 'UNICO', null, false, true);
- else
- $fechas = EventoInsignia::getFechasRomanizadas(array(array('fecha' => $insignia['InsigniaPersonal_fecha_inicial']), array('fecha' => $insignia['InsigniaPersonal_fecha_final'])), 'RANGO', null, false, true);
- }
- if ($tipoInsignia != $insignia['InsigniaTipo_desc']) {
- $cont++;
- $tipoInsignia = $insignia['InsigniaTipo_desc'];
- $listInsignias[$cont] = array('tipo' => $insignia['InsigniaTipo_desc'], 'color' => $insignia['InsigniaTipo_color'], 'insignias' => array(array('titulo'=>$insignia['Insignia_titulo'], 'desc' => $insignia['Insignia_desc'], 'fecha' => $fechas['texto'])));
- } else
- array_push ($listInsignias[$cont]['insignias'], array('titulo'=>$insignia['Insignia_titulo'], 'desc' => $insignia['Insignia_desc'], 'fecha' => $fechas['texto']));
- }
- }
- if (isset($objSesion)) {
- $titulo = $objSesion->nombrePagina();?>
- <!DOCTYPE html>
- <html>
- <head>
- <title>Alumnos - <?php echo $titulo; ?></title>
- <?php if ($objSesion->tieneAcceso())
- Template::getCSS(array('secciones/insignias.css'));
- else
- Template::getCSS(); ?>
- </head>
- <body>
- <?php $menuObj = new MainMenu($_SESSION["RolUsuario_id"], $menu, $submenu, $pdo);
- $menuObj->printMenu($titulo);
- if ($objSesion->tieneAcceso()) {
- if (count($listInsignias) > 0) { ?>
- <main class="container-fluid content marco">
- <div class="accordion" id="accordionInsignias">
- <?php for ($i=0; $i < count($listInsignias); $i++) {
- if ($i == 0) {
- $collapsed = '';
- $show = 'show';
- } else {
- $collapsed = 'collapsed';
- $show = '';
- }
- $colorBG = getRGBA($listInsignias[$i]['color'],0.25);
- $colorTxt = getRGBA($listInsignias[$i]['color']); ?>
- <div id="heading_<?php echo $i; ?>" class="encabezado">
- <a class="d-flex justify-content-between align-items-stretch <?php echo $collapsed; ?> accordion-toggle display-6" data-toggle="collapse" href="#collapse_<?php echo $i; ?>">
- <span style="background: <?php echo $colorBG; ?>;"></span>
- <div class="flex-grow-1" style="background:<?php echo $colorBG; ?>; color: <?php echo $colorTxt; ?>;"><?php echo $listInsignias[$i]['tipo']?></div>
- <span class="d-flex flex-row justify-content-center align-items-center" style="background: <?php echo $colorBG; ?>;">
- <i class="fa-solid fa-caret-right" style="color: <?php echo $colorTxt; ?>;"></i>
- </span>
- </a>
- </div>
- <div id="collapse_<?= $i ?>" class="collapse <?php echo $show; ?> contenido" aria-labelledby="heading_<?php echo $i; ?>" data-parent="#accordionInsignias">
- <?php foreach ($listInsignias[$i]['insignias'] as $insignia) { ?>
- <div class="d-flex flex-column justify-content-start align-items-start pl-3">
- <span class="ing-cuadrado" style="color: <?php echo $listInsignias[$i]['color']; ?>;"></span>
- <div class="indivisa-text-bold"><?php echo $insignia['titulo']; ?></div>
- <div><?php echo $insignia['desc']; ?></div>
- <div class="indivisa-text-italic"><?php echo $insignia['fecha']; ?></div>
- </div>
- <?php } ?>
- </div>
- <?php } ?>
- </div>
- </main>
- <?php } else { ?>
- <main class="container-fluid content marco d-flex justify-content-center align-items-center">
- <div class="msgBox d-flex flex-row justify-content-center align-items-center">
- <img src="img/triangulos.svg" class="imgBoxIzq" />
- <img src="img/triangulos.svg" class="imgBoxDer" />
- <hr class="hrArriba">
- <hr class="hrAbajo">
- <div class="d-flex flex-column justify-content-center align-items-center display-5 text-center p-4">
- <div>Aún no tienes <span class="text-azul1 mx-1">ninguna</span>insignia registrada</div>
- </div>
- </div>
- </main>
- <?php }
- } else { ?>
- <main class="container-fluid content marco">
- <div class="row justify-content-center" style="min-height: 600px;">
- <img id="errorImg" class="col-sm-3" src="img/nico_error.svg" />
- <div class="col-sm-9 display-4 d-flex flex-row justify-content-center align-items-center text-center">No tienes acceso a ésta página</div>
- </div>
- </main>
- <?php } ?>
- <div style="isolation: isolate;">
- <?php Template::footer(); ?>
- </div>
- <?php Template::getJS(array()); ?>
- </body>
- </html>
- <?php } else
- ValidaSesion::salirPagina();
- function getRGBA($hex, $opacity = 1){
- $hex = str_replace('#', '', $hex);
- $length = strlen($hex);
- $rgb['r'] = hexdec($length == 6 ? substr($hex, 0, 2) : ($length == 3 ? str_repeat(substr($hex, 0, 1), 2) : 0));
- $rgb['g'] = hexdec($length == 6 ? substr($hex, 2, 2) : ($length == 3 ? str_repeat(substr($hex, 1, 1), 2) : 0));
- $rgb['b'] = hexdec($length == 6 ? substr($hex, 4, 2) : ($length == 3 ? str_repeat(substr($hex, 2, 1), 2) : 0));
- $rgb['a'] = $opacity;
- return 'rgba(' . $rgb['r'] . ',' . $rgb['g'] . ',' . $rgb['b'] . ',' . $rgb['a'] . ')';
- }
|