Tul xxx Tul
User / IP
:
216.73.216.217
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
/
app
/
views
/
cotizaciones
/
Viewing: show.php
<?php $success = $success ?? null; $error = $error ?? null; $cotizacion = $cotizacion ?? []; $items = $items ?? []; ?> <?php if ($success): ?> <div class="alert alert-success alert-dismissible fade show d-flex align-items-center" role="alert" style="border: none; border-radius: 10px; border-left: 4px solid #06d6a0;"> <i class="bi bi-check-circle-fill me-2"></i> <?= htmlspecialchars($success) ?> <button type="button" class="btn-close" data-bs-dismiss="alert"></button> </div> <?php endif; ?> <?php if ($error): ?> <div class="alert alert-danger alert-dismissible fade show d-flex align-items-center" role="alert" style="border: none; border-radius: 10px; border-left: 4px solid #ef476f;"> <i class="bi bi-exclamation-circle-fill me-2"></i> <?= htmlspecialchars($error) ?> <button type="button" class="btn-close" data-bs-dismiss="alert"></button> </div> <?php endif; ?> <div class="row"> <div class="col-12"> <div class="card-custom"> <div class="card-header-custom"> <h5><i class="bi bi-file-earmark-text me-2"></i>Cotización <?= htmlspecialchars($cotizacion['numero']) ?></h5> <div class="cotizacion-actions-group"> <a href="<?= BASE_URL ?>/cotizaciones/pdf/<?= $cotizacion['id'] ?>" class="btn-cot-action btn-cot-pdf"> <div class="btn-cot-icon"> <i class="bi bi-file-pdf"></i> </div> <span class="btn-cot-text">Descargar PDF</span> </a> <?php if ($cotizacion['estado'] !== 'convertida'): ?> <a href="<?= BASE_URL ?>/cotizaciones/edit/<?= $cotizacion['id'] ?>" class="btn-cot-action btn-cot-edit"> <div class="btn-cot-icon"> <i class="bi bi-pencil"></i> </div> <span class="btn-cot-text">Editar</span> </a> <?php endif; ?> <a href="<?= BASE_URL ?>/cotizaciones" class="btn-cot-action btn-cot-back"> <div class="btn-cot-icon"> <i class="bi bi-arrow-left"></i> </div> <span class="btn-cot-text">Volver</span> </a> </div> </div> <div class="card-body-custom"> <!-- Información General --> <div class="row mb-4"> <div class="col-md-6"> <div class="card" style="border: 1px solid var(--border-color); border-radius: 12px;"> <div class="card-body"> <h6 class="mb-3"><i class="bi bi-info-circle me-2"></i>Información General</h6> <div class="mb-2"> <small class="text-muted">Número:</small> <div><strong style="color: var(--primary);"><?= htmlspecialchars($cotizacion['numero']) ?></strong></div> </div> <div class="mb-2"> <small class="text-muted">Cliente:</small> <div> <?php if (!empty($cotizacion['cliente_nombre'])): ?> <strong><?= htmlspecialchars(trim($cotizacion['cliente_nombre'] . ' ' . $cotizacion['cliente_apellido'])) ?></strong> <?php else: ?> <span class="text-muted">Sin cliente asignado</span> <?php endif; ?> </div> </div> <div class="mb-2"> <small class="text-muted">Fecha de Emisión:</small> <div><?= date('d/m/Y', strtotime($cotizacion['fecha_emision'])) ?></div> </div> <div class="mb-2"> <small class="text-muted">Fecha de Vencimiento:</small> <div><?= date('d/m/Y', strtotime($cotizacion['fecha_vencimiento'])) ?></div> </div> <div class="mb-2"> <small class="text-muted">Estado:</small> <div> <?php $estadoClasses = [ 'pendiente' => 'badge-status pending', 'aprobada' => 'badge-status active', 'rechazada' => 'badge-status inactive', 'vencida' => 'badge-status inactive', 'convertida' => 'badge-status convertido' ]; $estadoIcons = [ 'pendiente' => 'bi-clock-history', 'aprobada' => 'bi-check-circle-fill', 'rechazada' => 'bi-x-circle-fill', 'vencida' => 'bi-exclamation-triangle-fill', 'convertida' => 'bi-arrow-right-circle-fill' ]; $estado = $cotizacion['estado']; ?> <span class="<?= $estadoClasses[$estado] ?? 'badge-status' ?>"> <i class="bi <?= $estadoIcons[$estado] ?? 'bi-circle' ?>"></i> <?= ucfirst($estado) ?> </span> </div> </div> </div> </div> </div> <div class="col-md-6"> <div class="card" style="border: 1px solid var(--border-color); border-radius: 12px;"> <div class="card-body"> <h6 class="mb-3"><i class="bi bi-currency-dollar me-2"></i>Resumen Financiero</h6> <div class="d-flex justify-content-between mb-2"> <span>Subtotal:</span> <strong>$<?= number_format(floatval($cotizacion['subtotal']), 2) ?></strong> </div> <div class="d-flex justify-content-between mb-2"> <span>Descuento:</span> <strong class="text-danger">-$<?= number_format(floatval($cotizacion['descuento']), 2) ?></strong> </div> <div class="d-flex justify-content-between mb-2"> <span>Impuesto:</span> <strong>$<?= number_format(floatval($cotizacion['impuesto']), 2) ?></strong> </div> <hr> <div class="d-flex justify-content-between"> <strong>Total:</strong> <strong style="font-size: 1.5rem; color: var(--primary);">$<?= number_format(floatval($cotizacion['total']), 2) ?></strong> </div> </div> </div> </div> </div> <!-- Items --> <div class="mb-4"> <h6 class="mb-3"><i class="bi bi-list-ul me-2"></i>Items de la Cotización</h6> <div class="table-responsive"> <table class="table table-bordered"> <thead style="background: #f8f9fa;"> <tr> <th>#</th> <th>Descripción</th> <th class="text-center">Cantidad</th> <th class="text-end">Precio Unit.</th> <th class="text-end">Subtotal</th> </tr> </thead> <tbody> <?php foreach ($items as $index => $item): ?> <tr> <td><?= $index + 1 ?></td> <td> <?= htmlspecialchars($item['descripcion']) ?> <?php if ($item['tipo'] === 'servicio' && !empty($item['servicio_nombre'])): ?> <br><small class="text-muted"><i class="bi bi-gear"></i> Servicio: <?= htmlspecialchars($item['servicio_nombre']) ?></small> <?php elseif ($item['tipo'] === 'sistema' && !empty($item['sistema_nombre'])): ?> <br><small class="text-muted"><i class="bi bi-laptop"></i> Sistema: <?= htmlspecialchars($item['sistema_nombre']) ?></small> <?php endif; ?> </td> <td class="text-center"><?= $item['cantidad'] ?></td> <td class="text-end">$<?= number_format(floatval($item['precio_unitario']), 2) ?></td> <td class="text-end"><strong>$<?= number_format(floatval($item['subtotal']), 2) ?></strong></td> </tr> <?php endforeach; ?> </tbody> </table> </div> </div> <!-- Notas y Términos --> <?php if (!empty($cotizacion['notas']) || !empty($cotizacion['terminos'])): ?> <div class="row"> <?php if (!empty($cotizacion['notas'])): ?> <div class="col-md-6 mb-3"> <h6><i class="bi bi-sticky me-2"></i>Notas Internas</h6> <div class="p-3 border rounded" style="background: #f8f9fa;"> <?= nl2br(htmlspecialchars($cotizacion['notas'])) ?> </div> </div> <?php endif; ?> <?php if (!empty($cotizacion['terminos'])): ?> <div class="col-md-6 mb-3"> <h6><i class="bi bi-file-text me-2"></i>Términos y Condiciones</h6> <div class="p-3 border rounded" style="background: #f8f9fa;"> <?= nl2br(htmlspecialchars($cotizacion['terminos'])) ?> </div> </div> <?php endif; ?> </div> <?php endif; ?> <!-- Acciones según estado --> <?php if ($cotizacion['estado'] === 'pendiente'): ?> <div class="mt-4 p-3 border rounded" style="background: #f8f9fa;"> <h6 class="mb-3">Cambiar Estado</h6> <div class="d-flex gap-2 flex-wrap"> <form method="POST" action="<?= BASE_URL ?>/cotizaciones/cambiarEstado/<?= $cotizacion['id'] ?>" style="display: inline;"> <input type="hidden" name="estado" value="aprobada"> <button type="submit" class="btn btn-sm btn-success"> <i class="bi bi-check-circle me-1"></i>Aprobar </button> </form> <form method="POST" action="<?= BASE_URL ?>/cotizaciones/cambiarEstado/<?= $cotizacion['id'] ?>" style="display: inline;"> <input type="hidden" name="estado" value="rechazada"> <button type="submit" class="btn btn-sm btn-danger"> <i class="bi bi-x-circle me-1"></i>Rechazar </button> </form> <form method="POST" action="<?= BASE_URL ?>/cotizaciones/cambiarEstado/<?= $cotizacion['id'] ?>" style="display: inline;"> <input type="hidden" name="estado" value="vencida"> <button type="submit" class="btn btn-sm btn-warning"> <i class="bi bi-exclamation-triangle me-1"></i>Marcar Vencida </button> </form> </div> </div> <?php endif; ?> <?php if ($cotizacion['estado'] === 'aprobada'): ?> <div class="mt-4 p-3 border rounded" style="background: #e8f5e9;"> <h6 class="mb-3 text-success"><i class="bi bi-check-circle-fill me-2"></i>Cotización Aprobada</h6> <p class="mb-2">Esta cotización ha sido aprobada. Puedes convertirla en una venta.</p> <form method="POST" action="<?= BASE_URL ?>/cotizaciones/convertirAVenta/<?= $cotizacion['id'] ?>" onsubmit="return confirm('¿Convertir esta cotización en venta?');"> <button type="submit" class="btn btn-primary-custom"> <i class="bi bi-arrow-right-circle me-1"></i>Convertir a Venta </button> </form> </div> <?php endif; ?> <?php if ($cotizacion['estado'] === 'convertida'): ?> <div class="mt-4 p-3 border rounded" style="background: #e3f2fd;"> <h6 class="mb-2 text-primary"><i class="bi bi-arrow-right-circle-fill me-2"></i>Cotización Convertida</h6> <p class="mb-0">Esta cotización ya fue convertida en una venta.</p> </div> <?php endif; ?> </div> </div> </div> </div>
Coded With 💗 by
0x6ick