<?php // ============================================================ // SIDE - ARC 1.0 // Archivo: subordinados.php // ============================================================ require_once 'conexion.php'; require_once 'helpers.php'; // --- Validar parent_id --- if (!isset($_GET['parent_id']) || !is_numeric($_GET['parent_id'])) { header('Location: /apps/side-arc/cuadro_clasificacion.php'); exit; } $parent_id = (int) $_GET['parent_id']; $es_admin = es_admin(); // ============================================================ // CARGAR DATOS DEL REGISTRO PADRE // ============================================================ $stmt = mysqli_prepare($conexion, "SELECT id, titulo, nivel_descripcion, codigo_referencia FROM descripcion_isadg WHERE id = ? LIMIT 1"); mysqli_stmt_bind_param($stmt, 'i', $parent_id); mysqli_stmt_execute($stmt); $res = mysqli_stmt_get_result($stmt); $padre = mysqli_fetch_assoc($res); mysqli_free_result($res); mysqli_stmt_close($stmt); if (!$padre) { header('Location: /apps/side-arc/cuadro_clasificacion.php'); exit; } // ============================================================ // CARGAR HIJOS DIRECTOS DEL PADRE // ============================================================ $hijos = obtener_hijos($conexion, $parent_id); // ============================================================ // TÍTULO Y HEADER // ============================================================ $titulo_pagina = 'Subordinados de: ' . h($padre['titulo']); require_once 'header.php'; $prefijo_padre = prefijo_nivel($padre['nivel_descripcion']); ?> <div class="site-main" style="padding: 1.5rem;"> <div class="sub-encabezado"> <div class="sub-encabezado__info"> <span class="atom-prefijo nivel-<?= strtolower($prefijo_padre) ?>"> [<?= $prefijo_padre ?>] </span> <h1 class="sub-encabezado__titulo"><?= h($padre['titulo']) ?></h1> <?php if (!empty($padre['codigo_referencia'])): ?> <span class="ficha-codigo"><?= h($padre['codigo_referencia']) ?></span> <?php endif; ?> </div> <div class="sub-encabezado__acciones"> <a href="/apps/side-arc/ficha.php?id=<?= $parent_id ?>" class="btn btn--primario">← Regresar a la ficha</a> <?php if ($es_admin): ?> <a href="/apps/side-arc/ingreso.php?parent_id=<?= $parent_id ?>" class="btn btn--primario">+ Agregar subordinado</a> <?php endif; ?> </div> </div> <?php if (empty($hijos)): ?> <div class="alerta alerta--info">Este registro no tiene subordinados.</div> <?php else: ?> <div class="buscar-resultados__cabecera"> <h2 class="buscar-resultados__titulo"> <?= count($hijos) ?> resultado(s) </h2> </div> <div class="buscar-lista"> <?php foreach ($hijos as $hijo): $prefijo_hijo = prefijo_nivel($hijo['nivel_descripcion']); $tiene_digital = !empty($hijo['ruta_objeto_digital']); $alcance = $hijo['alcance_contenido'] ?? ''; $alcance_corto = mb_strlen($alcance) > 200 ? mb_substr($alcance, 0, 200) . '...' : $alcance; ?> <div class="buscar-resultado"> <div class="buscar-resultado__cabecera"> <span class="atom-prefijo nivel-<?= strtolower($prefijo_hijo) ?>"> [<?= $prefijo_hijo ?>] </span> <a href="/apps/side-arc/ficha.php?id=<?= $hijo['id'] ?>" class="buscar-resultado__titulo"> <?= h($hijo['titulo']) ?> </a> <?php if ($tiene_digital): ?> <span class="ficha-estado">(Digitalizado)</span> <?php endif; ?> <?php if ($es_admin): ?> <a href="/apps/side-arc/editar.php?id=<?= $hijo['id'] ?>" class="btn--toolbar" style="margin-left:auto;">Editar</a> <a href="/apps/side-arc/eliminar.php?id=<?= $hijo['id'] ?>" class="btn--toolbar btn--toolbar--peligro" onclick="return confirm('¿Confirma la eliminación?')">Eliminar</a> <?php endif; ?> </div> <?php if (!empty($hijo['codigo_referencia'])): ?> <div class="buscar-resultado__codigo"> <span class="ficha-codigo"><?= h($hijo['codigo_referencia']) ?></span> </div> <?php endif; ?> <?php if (!empty($alcance_corto)): ?> <div class="buscar-resultado__alcance"> <?= h($alcance_corto) ?> </div> <?php endif; ?> </div> <?php endforeach; ?> </div> <?php endif; ?> </div> <?php mysqli_close($conexion); require_once 'footer.php'; ?>