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
/
bills
/
Viewing: edit.php
<?= $this->extend('layout/app'); ?> <?php $this->section('title'); ?> Editar Factura <?php $this->endSection(); ?> <?php $this->section('css'); ?> <style> /* Asegurarnos que Select2 ocupe todo el ancho */ .select2-container { width: 100% !important; } </style> <?php $this->endSection(); ?> <?php $this->section('content'); ?> <div class="app-title"> <div> <h1><i class="bi bi-receipt"></i> Factura</h1> <p>Editar Factura</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="#">Factura</a></li> </ul> </div> <div class="card"> <div class="card-body"> <h6 class="card-title">Editar Factura</h6> <hr> <?php if (session()->get('errors')) : ?> <div class="alert alert-danger"> <ul> <?php foreach (session()->get('errors') as $error) : ?> <li><?= esc($error) ?></li> <?php endforeach ?> </ul> </div> <?php endif; ?> <form action="<?= base_url('admin/bills/' . $bill['id']); ?>" method="post" enctype="multipart/form-data"> <?= csrf_field() ?> <input type="hidden" name="_method" value="PUT"> <div class="row"> <div class="mb-3 col-md-3"> <label for="payment_method_id" class="form-label">Método de Pago *</label> <select class="form-select" id="payment_method_id" name="payment_method_id"> <?php foreach ($payment_methods as $pm) { ?> <option value="<?= $pm['id']; ?>" <?= ($bill['payment_method_id'] ?? '') == $pm['id'] ? 'selected' : (empty($bill['payment_method_id']) && strtolower(trim($pm['name'])) === 'efectivo' ? 'selected' : '') ?>><?= esc($pm['name']); ?></option> <?php } ?> </select> </div> <div class="mb-3 col-md-3" id="box_container"> <label for="box_id" class="form-label">Caja *</label> <select class="form-select" id="box_id" name="box_id"> <option value="">Seleccionar</option> <?php foreach ($boxes as $box) { ?> <option value="<?= $box['id']; ?>" <?= set_select('box_id', $box['id'], $bill['box_id'] == $box['id']) ?>><?= $box['name'] . ' - ' . $box['opening_date']; ?></option> <?php } ?> </select> </div> <div class="mb-3 col-md-3"> <label for="category_id" class="form-label">Categoría</label> <select class="select2" id="category_id" name="category_id" style="width: 100%;"> <option value="">Seleccionar Categoría</option> <?php foreach ($categories as $category) { ?> <option value="<?= $category['id']; ?>" <?= $category['id'] == $current_category_id ? 'selected' : '' ?>><?= esc($category['name']); ?></option> <?php } ?> </select> </div> <div class="mb-3 col-md-3"> <label for="subcategory_id" class="form-label">Subcategoría</label> <select class="select2" id="subcategory_id" name="subcategory_id" style="width: 100%;"> <option value="">Seleccionar Subcategoría</option> <?php foreach ($subcategories as $sub) { ?> <option value="<?= $sub['id']; ?>" <?= $sub['id'] == $bill['subcategory_id'] ? 'selected' : '' ?>><?= esc($sub['name']); ?></option> <?php } ?> </select> </div> <div class="mb-3 col-md-3"> <label for="amount" class="form-label">Monto</label> <input type="text" class="form-control" id="amount" name="amount" placeholder="Ingrese el monto" value="<?= set_value('amount', $bill['amount']) ?>"> </div> <div class="mb-3 col-md-6"> <label for="description" class="form-label">Descripción</label> <input type="text" class="form-control" id="description" name="description" placeholder="Ingrese la descripción" value="<?= set_value('description', $bill['description']) ?>"> </div> <div class="mb-3 col-md-6"> <label for="expense_date" class="form-label">Fecha del Gasto</label> <input type="date" class="form-control" id="expense_date" name="expense_date" value="<?= set_value('expense_date', $bill['expense_date']) ?>"> </div> <div class="mb-3 col-md-6"> <label for="photo" class="form-label">Foto</label> <input type="file" class="form-control" id="photo" name="photo"> <?php if (!empty($bill['photo'])) : ?> <img src="<?= base_url('assets/admin/images/bills/' . $bill['photo']) ?>" alt="Foto de la factura" width="100"> <input type="hidden" name="old_photo" value="<?= $bill['photo'] ?>"> <?php endif; ?> </div> </div> <div class="text-end"> <a href="<?= base_url('admin/bills'); ?>" class="btn btn-danger">Cancelar</a> <button type="submit" class="btn btn-primary">Actualizar Factura</button> </div> </form> </div> </div> <?php $this->endSection(); ?> <?php $this->section('js'); ?> <script> $(document).ready(function() { // ======================================== // LÓGICA DE MÉTODO DE PAGO ↔ CAJA // ======================================== function toggleBoxField() { const selectedText = $('#payment_method_id option:selected').text().trim().toLowerCase(); const isEfectivo = selectedText === 'efectivo'; const $boxContainer = $('#box_container'); const $boxSelect = $('#box_id'); if (isEfectivo) { $boxContainer.slideDown(300); $boxSelect.prop('disabled', false).prop('required', true); } else { $boxContainer.slideUp(300); $boxSelect.prop('disabled', true).prop('required', false).val(''); } } // Ejecutar al cargar la página toggleBoxField(); // Ejecutar al cambiar método de pago $('#payment_method_id').on('change', toggleBoxField); // ======================================== // LÓGICA DE CATEGORÍA → SUBCATEGORÍA // ======================================== $('#category_id').on('change', function() { const categoryId = this.value; const subcategorySelect = $('#subcategory_id'); // Limpiar subcategorías subcategorySelect.empty().append('<option value="">Seleccionar Subcategoría</option>'); if (categoryId) { // Mostrar estado de carga subcategorySelect.prop('disabled', true).append('<option value="" disabled selected>Cargando...</option>'); fetch('<?= base_url('admin/expense-subcategories/by-category') ?>/' + categoryId) .then(response => response.json()) .then(data => { subcategorySelect.empty().append('<option value="">Seleccionar Subcategoría</option>'); if (data.length === 0) { subcategorySelect.append('<option value="" disabled>No hay subcategorías</option>'); } else { data.forEach(sub => { subcategorySelect.append(`<option value="${sub.id}">${sub.name}</option>`); }); } subcategorySelect.prop('disabled', false).trigger('change'); }) .catch(err => { console.error('Error al cargar subcategorías:', err); subcategorySelect.prop('disabled', false).trigger('change'); }); } else { subcategorySelect.trigger('change'); } }); }); </script> <?php $this->endSection(); ?>
Coded With 💗 by
0x6ick