<?php
// Connessione al database
include('../include/headscript.php');
$tableName = 'products'; // Nome tabella per products.php

// Verifica che i parametri necessari siano stati inviati
if (isset($_POST['user']) && isset($_POST['table'])) {
    $userId = $_POST['user'];
    $page = $tableName;

    $conn = new mysqli($servername, $username, $password, $database);

    // Verifica della connessione
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    // Query per verificare se il record esiste
    $query = "SELECT * FROM user_table_settings WHERE iduser = ? AND page = ?";
    $stmt = $conn->prepare($query);
    $stmt->bind_param("is", $userId, $page);
    $stmt->execute();
    $result = $stmt->get_result();

    if ($result->num_rows > 0) {
        // Restituisci i dati esistenti
        $row = $result->fetch_assoc();

        // Costruisci l'output JSON nel formato che DataTables si aspetta
        $settings = [
            'columns' => array_map(function ($visible) {
                return ['visible' => $visible];
            }, json_decode($row['column_visibility'], true)), // Converti la visibilità in array associativo
            'ColReorder' => json_decode($row['column_order'], true), // Decodifica l'ordine delle colonne
            'time' => time() // Aggiungi un timestamp per evitare che i dati vengano memorizzati in cache
        ];

        echo json_encode($settings);
    } else {
        // Se non ci sono dati, invia un errore (o imposta valori predefiniti)
        http_response_code(404);
        echo json_encode(['error' => 'No settings found']);
    }

    $stmt->close();
    $conn->close();
} else {
    // Se i parametri non sono validi, restituisci errore
    http_response_code(400);
    echo json_encode(['error' => 'Invalid request']);
}
