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

/**
 * Нормалізація номера телефону під формат 380XXXXXXXXX
 */
function normalize_phone_ua($raw_phone) {
    // 1. Залишаємо тільки цифри
    $phone = preg_replace('/\D+/', '', $raw_phone);

    // 2. Якщо ввели 00380..., прибираємо 00
    if (strpos($phone, '00') === 0) {
        $phone = substr($phone, 2); // 0038097... → 38097...
    }

    // 3. Стискаємо повтори 380380... → 380...
    $phone = preg_replace('/^(380)+/', '380', $phone);

    // 4. Якщо вже починається з 380
    if (strpos($phone, '380') === 0) {
        // Якщо довжина > 12 — залишаємо 380 + останні 9 цифр
        if (strlen($phone) > 12) {
            $phone = '380' . substr($phone, -9);
        }
        return $phone;
    }

    // 5. Якщо номер типу 0XXXXXXXXX (10 цифр, починається з 0) → додаємо 38
    if (preg_match('/^0\d{9}$/', $phone)) {
        return '38' . $phone; // 097... → 38097...
    }

    // 6. Якщо просто 9 цифр (не починається з 0 і не з 380) → додаємо 380
    if (preg_match('/^\d{9}$/', $phone)) {
        return '380' . $phone;
    }

    // 7. Якщо довжина > 9 і не починається з 380 — беремо останні 9 цифр і додаємо 380
    if (strlen($phone) > 9) {
        $phone = substr($phone, -9);
        return '380' . $phone;
    }

    // 8. У всіх інших випадках повертаємо як є
    return $phone;
}

// Сирий номер з форми
$raw_phone = isset($_POST['phone']) ? $_POST['phone'] : '';
// Нормалізований номер
$phone = normalize_phone_ua($raw_phone);

// ===== Перевірка формату номера =====
// Приймаємо ТІЛЬКИ формат 380XXXXXXXXX (12 цифр)
if (!preg_match('/^380\d{9}$/', $phone)) {

    // Логуємо "битий" номер у окремий файл
    $badLog = __DIR__ . '/bad_phones.log';
    $badRow =
        date('Y-m-d H:i:s') . "\t" .
        'IP: ' . ($_SERVER['REMOTE_ADDR'] ?? '-') . "\t" .
        'Name: ' . ($_POST['name'] ?? '-') . "\t" .
        'Raw phone: ' . $raw_phone . "\t" .
        'Normalized: ' . $phone .
        PHP_EOL;
    file_put_contents($badLog, $badRow, FILE_APPEND | LOCK_EX);

    // Показуємо юзеру сторінку з помилкою + кнопку "назад до форми"
	// ... прямо перед <!doctype html> у блоці з помилкою номера:

	$backUrl = $_SERVER['HTTP_REFERER'] ?? '';
	if (!$backUrl) {
		// якщо немає реферера — йдемо в ту ж папку, де лежить result.php
		$backUrl = rtrim(dirname($_SERVER['PHP_SELF']), '/\\') . '/';
	}
    ?>
    <!doctype html>
    <html lang="uk">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css" rel="stylesheet">
        <title>Помилка в номері телефону</title>
        <meta name="description" content="Помилка в номері телефону">
    </head>
    <body>
    <div class="container">
        <div class="row">
            <div class="col">
                <div class="jumbotron">
                    <h1 class="display-4">Перевірте номер телефону</h1>
                    <p class="lead">
                        Ви вказали номер у некоректному форматі.<br>
                        Будь ласка, введіть номер у форматі <b>+380XXXXXXXXX</b> або <b>0XXXXXXXXX</b>
                        і спробуйте ще раз.
                    </p>
                    <hr class="my-4">
                    <p class="lead">
						<a class="btn btn-primary btn-lg"
						   href="<?php echo htmlspecialchars($backUrl, ENT_QUOTES, 'UTF-8'); ?>"
						   role="button">
							Повернутися до форми
						</a>
                    </p>
                </div>
            </div>
        </div>
    </div>
    </body>
    </html>
    <?php
    exit; // ДУЖЕ ВАЖЛИВО: далі result.php не виконується
}

/* ВАШИ НАСТРОЙКИ КОДА */
$order = [
    // Обязательные параметры
    'key'      => $key,            // Ваш API-ключ
    'name'     => $_POST['name'],  // Имя клиента из формы заказа
    'phone'    => $phone,          // Телефон клиента (нормализованный)
    'country'  => $country,        // Код страны (в формате двух символов)
    'offer_id' => $offer_id,       // ID оффера
    'products' => $products,       // ID субоффера
    'sale'     => $sale,           // Скидка

    // Обязательно только для DROP и TEAM платформ
    'price'    => $price,          // Цена

    // Обязательно только для TEAM платформы
    'domain'   => $_SERVER['HTTP_HOST'], // идентификатов потока (домен или ссылка лендинга)

    // Необязательные параметры
    'sub1'       => $_POST['sub1'] ?? null,
    'add_params' => $_POST['add_params'] ?? null, // Массив, доп. параметры заказа
];

/* НЕ МЕНЯТЬ ЭТУ ЧАСТЬ КОДА */
$order = array_merge($_GET, $order);
$order['uniqid']      = uniqid();
$order['ip']          = $_SERVER['REMOTE_ADDR'];
$order['time_vizit']  = $_SESSION['time_vizit'];
$order['url_vizit']   = $_SESSION['url_vizit'];
$order['referrer']    = $_SESSION['referrer'];

// Значення за замовчуванням для логів, якщо CRM не відповіла
$order['result_str']  = $order['result_str'] ?? '';
$order['error']       = $order['error']      ?? '';
$order['order_id']    = $order['order_id']   ?? 0;

$postfields = http_build_query($order);

// Отправка заказа в систему (CRM)
try {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, 'https://crm.7leads.xyz/api/order');
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postfields);
    $out = curl_exec($curl);
    curl_close($curl);

    $order['result_str'] = $out;
    $arr = json_decode($out, true);
    if (is_array($arr)) {
        $order['error']    = $arr['error']    ?? '';
        $order['order_id'] = !empty($arr['order_id']) ? $arr['order_id'] : 0;
    }
} catch (\Exception $e) {
    // можна при бажанні залогувати помилку curl
}

// Отправка заказа в бекап
try {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, 'https://connect.wowsale.info/backup.php');
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postfields);
    $out = curl_exec($curl);
    curl_close($curl);
} catch (\Exception $e) {
    // теж можна залогувати, якщо треба
}

// ===== ЛОГУВАННЯ УСПІШНИХ ЗАМОВЛЕНЬ =====
$logFile = __DIR__ . '/orders.log';
$logRow =
    date('Y-m-d H:i:s') . "\t" .
    'IP: ' . ($_SERVER['REMOTE_ADDR'] ?? '-') . "\t" .
    'Name: ' . ($order['name'] ?? '-') . "\t" .
    'Raw phone: ' . $raw_phone . "\t" .
    'Phone: ' . ($order['phone'] ?? '-') . "\t" .
    'Order ID: ' . ($order['order_id'] ?? 0) . "\t" .
    'Error: ' . ($order['error'] ?? '-') . "\t" .
    'Result: ' . ($order['result_str'] ?? '-') .
    PHP_EOL;
file_put_contents($logFile, $logRow, FILE_APPEND | LOCK_EX);
// ===== КІНЕЦЬ ЛОГУВАННЯ =====

?>
<!doctype html>
<html lang="ru">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css" rel="stylesheet">
    <title>Ваше замовлення отримано!</title>
    <meta name="description" content="Ваш заказ принят!">














<!-- BEGIN_GTAG -->
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-17977207961"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'AW-17977207961');
</script>
<!-- END_GTAG -->

<!-- BEGIN_CONVERSION -->
<!-- Event snippet for Покупка conversion page -->
<script>
  gtag('event', 'conversion', {
      'send_to': 'AW-17977207961/fMIvCKmLloEcEJnZmfxC',
      'value': 1.0,
      'currency': 'EUR',
      'transaction_id': ''
      // 'new_customer': true /* calculate dynamically, populate with true/false */,
  });
</script>
<!-- END_CONVERSION -->
</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col">
                <div class="jumbotron">
                    <h1 class="display-4">Дякую за Ваше замовлення, <?php echo htmlspecialchars($order['name'], ENT_QUOTES, 'UTF-8'); ?>!</h1>
                    <p class="lead">Наші менеджери св'яжутся з Вами найближчим часом по телефону <?php echo htmlspecialchars($order['phone'], ENT_QUOTES, 'UTF-8'); ?></p>
                    <hr class="my-4">
                    <p class="lead">
						<?php
						$backUrl = $_SERVER['HTTP_REFERER'] ?? '';
						if (!$backUrl) {
							$backUrl = rtrim(dirname($_SERVER['PHP_SELF']), '/\\') . '/';
						}
						?>
						<a class="btn btn-primary btn-lg"
						   href="<?php echo htmlspecialchars($backUrl, ENT_QUOTES, 'UTF-8'); ?>"
						   role="button">
							На головну
						</a>
                    </p>
                </div>
            </div>
        </div>
    </div>
    <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.bundle.min.js"></script>
    <script>
        // Facebook Pixel
        !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,document,'script','https://connect.facebook.net/en_US/fbevents.js');
        fbq('init', '<?= $_REQUEST['pixel'] ?? "";?>');
        fbq('track', 'PageView');
        fbq('track', 'Lead');
    </script>
</body>
</html>