<?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'] . ')';
}