<?php

ini_set('display_errors', 1);
error_reporting(E_ALL);

header('Content-Type: application/json');

$userIp = $_SERVER['REMOTE_ADDR'];

$curl = curl_init();
$apiUrl = "http://ipinfo.io/{$userIp}/json?token=2e57fd8e97cd29";

curl_setopt($curl, CURLOPT_URL, $apiUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$response = curl_exec($curl);
$httpStatus = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

if ($response === false || $httpStatus != 200) {
    http_response_code(500);
    echo json_encode(['error' => 'Не удалось получить данные о местоположении.']);
    exit;
}

$locationData = json_decode($response, true);

$db = new mysqli('localhost', 'k123263_price_us', '2024Brs!2024', 'k123263_price');
if ($db->connect_error) {
    http_response_code(500);
    echo json_encode(['error' => 'Ошибка подключения к базе данных: ' . $db->connect_error]);
    exit;
}

$stmt = $db->prepare("INSERT INTO user_locations (ip, country, region, city) VALUES (?, ?, ?, ?)");
$stmt->bind_param("ssss", $userIp, $locationData['country'], $locationData['region'], $locationData['city']);

if (!$stmt->execute()) {
    $stmt->close();
    $db->close();
    http_response_code(500);
    echo json_encode(['error' => 'Ошибка при записи местоположения пользователя: ' . $stmt->error]);
    exit;
}

$data = json_decode(file_get_contents('php://input'), true);
if (!is_array($data)) {
    $db->close();
    echo json_encode(['error' => 'Некорректные входные данные.']);
    exit;
}

foreach ($data as $product) {
    $stmt = $db->prepare("INSERT INTO selected_products (description, quantity, price_per_unit, total) VALUES (?, ?, ?, ?)");
    $stmt->bind_param("sidd", $product['description'], $product['quantity'], $product['pricePerUnit'], $product['total']);
    if (!$stmt->execute()) {
        $stmt->close();
        $db->close();
        echo json_encode(['error' => 'Ошибка при записи данных продукта: ' . $stmt->error]);
        exit;
    }
}

$stmt->close();
$db->close();

echo json_encode(['status' => 'success', 'message' => 'Данные успешно сохранены.']);

