<?php
include_once 'includes/header.php';
include_once 'config/database.php';

$database = new Database();
$conn = $database->getConnection();

// Empleado logueado
$codempleado = $_SESSION['user']['codempleado'] ?? null;

if (!$codempleado) {
    $_SESSION['error'] = "No se encontró información del usuario en sesión.";
    header("Location: index.php");
    exit();
}

// Procesar actualización
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $nroCelular = trim($_POST['nroCelular'] ?? '');
    $claveTexto = trim($_POST['clave'] ?? '');

    // Construir UPDATE dinámico solo con los campos que se desean cambiar
    $sql = "UPDATE templeado SET nroCelular = ?";
    $params = [$nroCelular];

    // Clave (opcional). Se usa MD5 igual que en empleados.php
    if ($claveTexto !== '') {
        $sql .= ", clave = ?";
        $params[] = md5($claveTexto);
    }

    // Foto (opcional)
    $fotoRuta = null;
    if (isset($_FILES['foto']) && $_FILES['foto']['error'] === UPLOAD_ERR_OK) {
        $target_dir = "uploads/";
        if (!is_dir($target_dir)) {
            mkdir($target_dir, 0777, true);
        }
        $nombreArchivo = time() . '_' . basename($_FILES["foto"]["name"]);
        $target_file = $target_dir . $nombreArchivo;

        if (move_uploaded_file($_FILES["foto"]["tmp_name"], $target_file)) {
            $fotoRuta = $target_file;
            $sql .= ", foto = ?";
            $params[] = $fotoRuta;
        }
    }

    $sql .= " WHERE codempleado = ?";
    $params[] = $codempleado;

    try {
        $stmt = $conn->prepare($sql);
        $stmt->execute($params);
        $_SESSION['success'] = "Datos actualizados correctamente.";
    } catch (PDOException $e) {
        $_SESSION['error'] = "Error al actualizar los datos: " . $e->getMessage();
    }

    header("Location: actualizar_empleado.php");
    exit();
}

// Obtener datos actuales del empleado logueado
try {
    $stmt = $conn->prepare("SELECT codempleado, nombres, apellidoPaterno, apellidoMaterno, nroCelular, email, foto 
                            FROM templeado 
                            WHERE codempleado = ?");
    $stmt->execute([$codempleado]);
    $empleado = $stmt->fetch(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    $_SESSION['error'] = "Error al obtener los datos del empleado: " . $e->getMessage();
    $empleado = null;
}
?>

<div class="col-md-10 p-4">
    <div class="d-flex justify-content-between align-items-center mb-4">
        <h2><i class="fas fa-user-cog"></i> Actualizar mis datos</h2>
    </div>

    <?php if (isset($_SESSION['success'])): ?>
        <div class="alert alert-success">
            <?php 
            echo $_SESSION['success']; 
            unset($_SESSION['success']);
            ?>
        </div>
    <?php endif; ?>

    <?php if (isset($_SESSION['error'])): ?>
        <div class="alert alert-danger">
            <?php 
            echo $_SESSION['error']; 
            unset($_SESSION['error']);
            ?>
        </div>
    <?php endif; ?>

    <?php if ($empleado): ?>
        <div class="card mb-4">
            <div class="card-body">
                <div class="mb-4 d-flex align-items-center gap-3">
                    <div>
                        <?php if (!empty($empleado['foto'])): ?>
                            <img src="<?php echo htmlspecialchars($empleado['foto']); ?>" alt="Foto" style="width: 100px; height: 100px; object-fit: cover; border-radius: 50%;">
                        <?php else: ?>
                            <div style="width: 100px; height: 100px; background-color: #f8f9fa; display: flex; align-items: center; justify-content: center; border-radius: 50%;">
                                <i class="fas fa-user fa-3x" style="color: #6c757d;"></i>
                            </div>
                        <?php endif; ?>
                    </div>
                    <div>
                        <h4 class="mb-1">
                            <?php echo htmlspecialchars($empleado['nombres'] . ' ' . $empleado['apellidoPaterno'] . ' ' . $empleado['apellidoMaterno']); ?>
                        </h4>
                        <p class="mb-0 text-muted">
                            <i class="fas fa-envelope"></i> <?php echo htmlspecialchars($empleado['email']); ?>
                        </p>
                    </div>
                </div>

                <form method="POST" action="actualizar_empleado.php" enctype="multipart/form-data">
                    <div class="row">
                        <div class="col-md-4 mb-3">
                            <label class="form-label">Número de celular</label>
                            <input type="text" class="form-control" name="nroCelular" maxlength="50"
                                   value="<?php echo htmlspecialchars($empleado['nroCelular'] ?? ''); ?>">
                        </div>

                        <div class="col-md-4 mb-3">
                            <label class="form-label">Nueva contraseña</label>
                            <input type="password" class="form-control" name="clave">
                            <div class="form-text">Déjelo en blanco si no desea cambiarla.</div>
                        </div>

                        <div class="col-md-4 mb-3">
                            <label class="form-label">Fotografía</label>
                            <input type="file" class="form-control" name="foto" accept="image/*">
                            <div class="form-text">Opcional. Si selecciona una nueva foto, reemplazará la actual.</div>
                        </div>
                    </div>

                    <button type="submit" class="btn btn-primary">
                        <i class="fas fa-save"></i> Guardar cambios
                    </button>
                </form>
            </div>
        </div>
    <?php else: ?>
        <div class="alert alert-danger">
            No se pudieron cargar los datos del usuario.
        </div>
    <?php endif; ?>
</div>

<?php
include_once 'includes/footer.php';
?>

