Current File : /var/www/pharmacius/controller/productos_controller.php
<?php
session_start();
require_once("model/productos_model.php");
$productoModel = new Productos_model();

// Acción principal: mostrar productos
function home()
{
    global $productoModel;
    
    // Obtener todos los productos
    $productos = $productoModel->get_productos();

    // Filtrar si hay búsqueda
    if (isset($_GET['search']) && !empty(trim($_GET['search']))) {
        $searchTerm = strtolower(trim($_GET['search']));
        $searchType = $_GET['search_type'] ?? 'producto';

        $productos = array_filter($productos, function ($item) use ($searchTerm, $searchType) {
            switch ($searchType) {
                case 'producto':
                    return (string)$item['IDProducto'] === $searchTerm;
                case 'marca':
                    return isset($item['NombreMarca']) && stripos(strtolower($item['NombreMarca']), $searchTerm) !== false;
                case 'categoria':
                    return isset($item['categorias']) && stripos(strtolower($item['categorias']), $searchTerm) !== false;
                case 'referencia':
                    return isset($item['Referencia']) && strtolower($item['Referencia']) === $searchTerm;
                default:
                    return false;
            }
        });
    }

    require("view/productos_view.php");
}

// Acción para eliminar producto
function eliminar()
{
    global $productoModel;

    if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST["IDProducto"])) {
        $idProducto = $_POST["IDProducto"];

        if ($productoModel->eliminar_producto($idProducto)) {
            $_SESSION['message'] = "Producto borrado correctamente";
        } else {
            $_SESSION['message'] = "Error al borrar el producto";
        }
    } else {
        $_SESSION['message'] = "Solicitud de eliminación inválida";
    }

    header("Location: index.php?controlador=productos&action=home");
    exit();
}