<?php
session_start();
if (!isset($_SESSION['usu_id'])) {
    header("Location: ../login.php");
    exit();
}

// 1. Corregimos la inclusión usando el mismo archivo que tu index.php (Db.php o clsbdd.php)
// Si en tu index usas "modelo/Db.php", aquí llamamos a ese archivo dando un paso atrás
if (file_exists('../modelo/Db.php')) {
    require_once '../modelo/Db.php';
} else {
    require_once '../modelo/clsbdd.php';
}

$bd = new clsbdd();
$action = isset($_GET['action']) ? $_GET['action'] : '';

switch ($action) {
    case 'crear':
        if ($_SERVER['REQUEST_METHOD'] === 'POST') {
            $con_nombre = trim($_POST['con_nombre'] ?? '');
            $con_valor_base = floatval($_POST['con_valor_base'] ?? 0);

            if (!empty($con_nombre) && $con_valor_base >= 0) {
                
                // Eliminamos ->conexion->real_escape_string para evitar el Error 500
                // Usamos comillas limpias. Tu método ejecutar() se encargará del query.
                $sql = "INSERT INTO bas_conceptos (con_nombre, con_valor_base) 
                        VALUES ('$con_nombre', $con_valor_base)";
                
                if ($bd->ejecutar($sql)) {
                    header("Location: ../index.php?page=conceptos/listar&msg=success_create");
                    exit();
                } else {
                    header("Location: ../index.php?page=conceptos/listar&msg=error_db");
                    exit();
                }
            } else {
                header("Location: ../index.php?page=conceptos/listar&msg=invalid_data");
                exit();
            }
        }
        break;

    case 'editar':
        if ($_SERVER['REQUEST_METHOD'] === 'POST') {
            $con_id = intval($_POST['con_id'] ?? 0);
            $con_nombre = trim($_POST['con_nombre'] ?? '');
            $con_valor_base = floatval($_POST['con_valor_base'] ?? 0);
            $con_estado = isset($_POST['con_estado']) ? intval($_POST['con_estado']) : 1;

            if ($con_id > 0 && !empty($con_nombre) && $con_valor_base >= 0) {
                
                // Si agregaste la columna con_estado en tu ALTER TABLE, este query es el correcto.
                // Si NO la has agregado, cambia la línea de abajo a: con_nombre = '$con_nombre', con_valor_base = $con_valor_base
                $sql = "UPDATE bas_conceptos SET 
                            con_nombre = '$con_nombre', 
                            con_valor_base = $con_valor_base,
                            con_estado = $con_estado
                        WHERE con_id = $con_id";
                
                if ($bd->ejecutar($sql)) {
                    header("Location: ../index.php?page=conceptos/listar&msg=success_update");
                    exit();
                } else {
                    header("Location: ../index.php?page=conceptos/listar&msg=error_db");
                    exit();
                }
            } else {
                header("Location: ../index.php?page=conceptos/listar&msg=invalid_data");
                exit();
            }
        }
        break;

    default:
        header("Location: ../index.php?page=conceptos/listar");
        exit();
}