<?php

ini_set('display_errors', 0);
error_reporting(0);



$data = json_decode(file_get_contents('php://input'), true);

if (!$data || !isset($data['products'])) {
    echo json_encode(['status' => 'error', 'message' => 'Нет данных для обработки']);
    exit;
}

$userIp = $_SERVER['REMOTE_ADDR']; // Получение IP-адреса пользователя
$apiToken = '2e57fd8e97cd29'; // Замените на ваш реальный API ключ от ipinfo.io

$url = "http://ipinfo.io/{$userIp}?token={$apiToken}";


$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl);
curl_close($curl);

if ($response) {
    $locationData = json_decode($response, true);

    $country = $locationData['country'] ?? 'Неизвестно';
    $region = $locationData['region'] ?? 'Неизвестно';
    $city = $locationData['city'] ?? 'Неизвестно';

    // Теперь у вас есть $country, $region и $city, которые можно использовать для записи в базу данных
} else {
    // Обработка ошибки, если запрос к API не удался
    $country = $region = $city = 'Неизвестно';
}

$db = new mysqli('localhost', 'k123263_price_us', '2024Brs!2024', 'k123263_price');

if ($db->connect_error) {
    echo json_encode(['status' => 'error', 'message' => 'Ошибка подключения к базе данных: ' . $db->connect_error]);
    exit;
}

$errorOccurred = false;

foreach ($data['products'] as $product) {
    $stmt = $db->prepare("INSERT INTO selected_products (description, quantity, price_per_unit, total, user_ip, country, region, city) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
    // Предполагается, что country, region и city были получены ранее
    $stmt->bind_param("siddssss", $product['description'], $product['quantity'], $product['pricePerUnit'], $product['total'], $userIp, $country, $region, $city);

    if (!$stmt->execute()) {
        $errorOccurred = true;
        break;
    }

    $stmt->close();
}

$db->close();

if ($errorOccurred) {
    echo json_encode(['status' => 'error', 'message' => 'Ошибка при записи данных в базу данных']);
} else {
    echo json_encode(['status' => 'success', 'message' => 'Данные успешно сохранены']);
}

?>
