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
/
vendefacilfranc
/
controllers
/
Viewing: Ajustes.php
<?php class Ajustes extends Controller { private $id_usuario, $id_sucursal; public function __construct() { parent::__construct(); session_start(); if (empty($_SESSION['id_usuario'])) { header('Location: ' . BASE_URL); exit; } $this->id_usuario = $_SESSION['id_usuario']; $this->id_sucursal = $_SESSION['id_sucursal']; } public function index() { $data['title'] = 'Entradas y salidas de productos'; $data['script'] = 'ajustes.js'; $data['modal'] = 'ajustes-productos.php'; $this->views->getView('ajustes', 'index', $data); } public function listar() { $data = $this->model->getEntradasSalidas($this->id_sucursal); for ($i = 0; $i < count($data); $i++) { if ($data[$i]['tipo'] == 'Entrada') { $data[$i]['tipo_badge'] = '<span class="badge bg-success">Entrada</span>'; } else { $data[$i]['tipo_badge'] = '<span class="badge bg-danger">Salida</span>'; } } echo json_encode($data, JSON_UNESCAPED_UNICODE); die(); } public function buscarProducto($codigo) { $data = $this->model->buscarProductoPorCodigo($codigo, $this->id_sucursal); echo json_encode($data, JSON_UNESCAPED_UNICODE); die(); } public function buscarPorNombre() { $valor = $_GET['q']; $data = $this->model->buscarProductoPorNombre($valor, $this->id_sucursal); echo json_encode($data, JSON_UNESCAPED_UNICODE); die(); } public function procesar() { if (empty($_POST['id_producto']) || empty($_POST['tipo']) || empty($_POST['cantidad']) || empty($_POST['motivo'])) { $res = array('msg' => 'Todos los campos son obligatorios', 'type' => 'warning'); } else { $id_producto = $_POST['id_producto']; $tipo = $_POST['tipo']; $cantidad = $_POST['cantidad']; $motivo = $_POST['motivo']; if (!is_numeric($cantidad) || $cantidad <= 0) { $res = array('msg' => 'La cantidad debe ser mayor a cero', 'type' => 'warning'); } else { // Obtener datos del producto para ver stock actual $producto = $this->model->getProducto($id_producto); if (empty($producto)) { $res = array('msg' => 'Producto no encontrado', 'type' => 'warning'); } else { $stock_actual = $producto['cantidad']; if ($tipo == 'Salida' && $stock_actual < $cantidad) { $res = array('msg' => 'Stock insuficiente para la salida', 'type' => 'warning'); } else { // Calcular nuevo stock if ($tipo == 'Entrada') { $nuevo_stock = $stock_actual + $cantidad; $accion_inventario = 'entrada'; } else { $nuevo_stock = $stock_actual - $cantidad; $accion_inventario = 'salida'; } // Guardar el registro en entradas_salidas $insert = $this->model->registrarAjuste($id_producto, $tipo, $cantidad, $motivo, $this->id_usuario, $this->id_sucursal); if ($insert > 0) { // Actualizar stock del producto $this->model->actualizarStock($nuevo_stock, $id_producto); // Registrar en Kardex (inventario) $movimiento_kardex = "Ajuste manual: " . $tipo . " - " . $motivo; $this->model->registrarMovimientoInventario($movimiento_kardex, $accion_inventario, $cantidad, $nuevo_stock, $id_producto, $this->id_usuario, $this->id_sucursal); $res = array('msg' => 'Ajuste procesado correctamente', 'type' => 'success'); } else { $res = array('msg' => 'Error al guardar el ajuste', 'type' => 'error'); } } } } } echo json_encode($res, JSON_UNESCAPED_UNICODE); die(); } } ?>
Coded With 💗 by
0x6ick