Se muestra la IP y puerto del servidor de base de datos arriba del nombre de la base de datos en el menú desplegable del usuario para administradores.
133 lines
6.9 KiB
PHP
Executable File
133 lines
6.9 KiB
PHP
Executable File
<!DOCTYPE html>
|
|
<html lang="es">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>IBIZA CEA - Sistema de Gestión</title>
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css" rel="stylesheet">
|
|
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🏠</text></svg>">
|
|
<link href="<?= SITE_URL ?>/assets/css/theme.css" rel="stylesheet">
|
|
|
|
<script>
|
|
// Prevenir FOUC (Flash of Unstyled Content)
|
|
(function() {
|
|
const theme = localStorage.getItem('theme') || 'light';
|
|
if (theme === 'dark') {
|
|
document.documentElement.classList.add('dark-mode');
|
|
}
|
|
})();
|
|
</script>
|
|
|
|
|
|
</head>
|
|
<body>
|
|
<?php if (Auth::check()): ?>
|
|
<nav class="navbar navbar-expand-lg navbar-dark bg-primary sticky-top">
|
|
<div class="container-fluid">
|
|
<a class="navbar-brand" href="/dashboard.php">
|
|
<i class="bi bi-house-door-fill"></i> IBIZA CEA
|
|
</a>
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
<div class="collapse navbar-collapse" id="navbarNav">
|
|
<ul class="navbar-nav me-auto">
|
|
<li class="nav-item">
|
|
<a class="nav-link <?= $page == 'dashboard' ? 'active' : '' ?>" href="/dashboard.php?page=dashboard">
|
|
<i class="bi bi-speedometer2"></i> Dashboard
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link <?= $page == 'pagos' ? 'active' : '' ?>" href="/dashboard.php?page=pagos">
|
|
<i class="bi bi-droplet-fill"></i> Pagos de Agua
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link <?= $page == 'casas' ? 'active' : '' ?>" href="/dashboard.php?page=casas">
|
|
<i class="bi bi-building"></i> Casas
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link <?= $page == 'finanzas' ? 'active' : '' ?>" href="/dashboard.php?page=finanzas">
|
|
<i class="bi bi-cash-coin"></i> Finanzas
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link <?= $page == 'graficos' ? 'active' : '' ?>" href="/dashboard.php?page=graficos">
|
|
<i class="bi bi-bar-chart-line-fill"></i> Gráficos
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link <?= $page == 'reportes' ? 'active' : '' ?>" href="/dashboard.php?page=reportes">
|
|
<i class="bi bi-file-earmark-bar-graph"></i> Reportes
|
|
</a>
|
|
</li>
|
|
<?php if (Auth::isAdmin()): ?>
|
|
<li class="nav-item">
|
|
<a class="nav-link <?= $page == 'importar' ? 'active' : '' ?>" href="/dashboard.php?page=importar">
|
|
<i class="bi bi-file-earmark-arrow-up"></i> Importar
|
|
</a>
|
|
</li>
|
|
<?php endif; ?>
|
|
</ul>
|
|
<ul class="navbar-nav">
|
|
<li class="nav-item d-flex align-items-center">
|
|
<button id="theme-toggle" class="nav-link" style="background: none; border: none;">
|
|
<i id="theme-icon" class="bi bi-sun-fill"></i>
|
|
</button>
|
|
</li>
|
|
<li class="nav-item dropdown">
|
|
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-bs-toggle="dropdown">
|
|
<i class="bi bi-person-circle"></i>
|
|
<?= htmlspecialchars(Auth::user()['first_name'] ?? 'Usuario') ?>
|
|
</a>
|
|
<ul class="dropdown-menu dropdown-menu-end">
|
|
<?php if (Auth::isAdmin()): ?>
|
|
<li><a class="dropdown-item" href="/dashboard.php?page=usuarios"><i class="bi bi-people"></i> Usuarios</a></li>
|
|
<li><a class="dropdown-item" href="/dashboard.php?page=configurar"><i class="bi bi-gear"></i> Configurar</a></li>
|
|
<li><hr class="dropdown-divider"></li>
|
|
<?php endif; ?>
|
|
<?php if (Auth::isAdmin()): ?>
|
|
<li><span class="dropdown-item text-muted small"><i class="bi bi-server"></i> <?= DB_HOST ?>:<?= DB_PORT ?></span></li>
|
|
<li><span class="dropdown-item text-muted small"><i class="bi bi-database"></i> DB: <?= DB_NAME ?></span></li>
|
|
<li><hr class="dropdown-divider"></li>
|
|
<?php endif; ?>
|
|
<li><a class="dropdown-item" href="/dashboard.php?page=profile"><i class="bi bi-person"></i> Perfil</a></li>
|
|
<li><hr class="dropdown-divider"></li>
|
|
<li><a class="dropdown-item text-danger" href="/logout.php"><i class="bi bi-box-arrow-right"></i> Cerrar Sesión</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<?php endif; ?>
|
|
|
|
<div class="container-fluid py-4">
|
|
<?php
|
|
$viewPath = __DIR__ . '/../' . $view . '.php';
|
|
if (isset($view) && file_exists($viewPath)):
|
|
?>
|
|
<?php include $viewPath; ?>
|
|
<?php else: ?>
|
|
<div class="alert alert-danger">
|
|
Vista no encontrada: <?= htmlspecialchars($view ?? '') ?><br>
|
|
Ruta: <?= htmlspecialchars($viewPath ?? '') ?><br>
|
|
Existe: <?= isset($view) && file_exists($viewPath) ? 'Sí' : 'No' ?>
|
|
</div>
|
|
<?php endif; ?>
|
|
</div>
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
|
<script src="<?= SITE_URL ?>/assets/js/theme.js"></script>
|
|
<footer class="footer mt-auto py-3">
|
|
<div class="container-fluid text-center">
|
|
<span class="text-muted">Condominio IBIZA - Derechos reservados Miguel Pons casa 11</span>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
</html>
|