<?php
include('is_logged.php');

if (version_compare(PHP_VERSION, '5.3.7', '<')) {
    exit("Sorry, Simple PHP Login does not run on a PHP version smaller than 5.3.7 !");
} else if (version_compare(PHP_VERSION, '5.5.0', '<')) {
    require_once("../libraries/password_compatibility_library.php");
}       

if (empty($_POST['firstname'])){
    $errors[] = "Nombres vacíos";
} elseif (empty($_POST['tienda'])){
    $errors[] = "Tienda vacía";
} elseif (empty($_POST['lastname'])){
    $errors[] = "Apellidos vacíos";
} elseif (empty($_POST['cargo'])) {
    $errors[] = "Cargo vacío";
} elseif (empty($_POST['sueldo'])) {
    $errors[] = "Sueldo vacío";
} elseif (
    !empty($_POST['firstname'])
    && !empty($_POST['lastname'])
    && !empty($_POST['tienda'])
    && !empty($_POST['cargo'])
    && !empty($_POST['sueldo'])
) {
    require_once ("../config/db.php");
    require_once ("../config/conexion.php");

    // Escapando datos para seguridad
    $firstname = mysqli_real_escape_string($con,(strip_tags($_POST["firstname"],ENT_QUOTES)));
    $lastname = mysqli_real_escape_string($con,(strip_tags($_POST["lastname"],ENT_QUOTES)));
    $cargo = mysqli_real_escape_string($con,(strip_tags($_POST["cargo"],ENT_QUOTES)));
    $sueldo = mysqli_real_escape_string($con,(strip_tags($_POST["sueldo"],ENT_QUOTES)));
    $tienda = mysqli_real_escape_string($con,(strip_tags($_POST["tienda"],ENT_QUOTES)));
    $cedula = mysqli_real_escape_string($con,(strip_tags($_POST["cedula"],ENT_QUOTES)));
    $fecha_ingreso = mysqli_real_escape_string($con,(strip_tags($_POST["fecha_ingreso"],ENT_QUOTES)));
    if (empty($fecha_ingreso)) { $fecha_ingreso = date("Y-m-d"); }
    
    // Verificar duplicados
    $sql_check = "SELECT * FROM nomina WHERE cargo = '$cargo' AND nombre = '$firstname' AND tienda = '$tienda';";
    $query_check = mysqli_query($con, $sql_check);
    
    if (mysqli_num_rows($query_check) > 0) {
        $errors[] = "El empleado ya está registrado en esa tienda.";
    } else {
        $has_cedula = mysqli_num_rows(mysqli_query($con, "SHOW COLUMNS FROM nomina LIKE 'cedula'")) > 0;
        $has_fecha_ingreso = mysqli_num_rows(mysqli_query($con, "SHOW COLUMNS FROM nomina LIKE 'fecha_ingreso'")) > 0;

        $fields = "nombre, apellido, cargo, sueldo, tienda";
        $values = "'$firstname', '$lastname', '$cargo', '$sueldo', '$tienda'";

        if ($has_fecha_ingreso) {
            $fields .= ", fecha_ingreso";
            $values .= ", '$fecha_ingreso'";
        }
        if ($has_cedula) {
            $fields .= ", cedula";
            $values .= ", '$cedula'";
        }

        $sql = "INSERT INTO nomina ($fields) VALUES ($values)";
        $query_new_user_insert = mysqli_query($con, $sql);

        if ($query_new_user_insert) {
            $messages[] = "Empleado creado con éxito.";
        } else {
            // Esto mostrará el error exacto de MySQL si vuelve a fallar
            $errors[] = "Error técnico: " . mysqli_error($con);
        }
    }
}

// Render de mensajes de Error
if (isset($errors)){
    ?>
    <div class="alert alert-danger" role="alert">
        <button type="button" class="close" data-dismiss="alert">&times;</button>
        <strong>Error!</strong> <?php foreach ($errors as $error) { echo $error; } ?>
    </div>
    <?php
}
// Render de mensajes de Éxito
if (isset($messages)){
    ?>
    <div class="alert alert-success" role="alert">
        <button type="button" class="close" data-dismiss="alert">&times;</button>
        <strong>¡Bien hecho!</strong> <?php foreach ($messages as $message) { echo $message; } ?>
    </div>
    <?php
}
?>