<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Verifikačný token pre webhook
$VERIFY_TOKEN = "123456789"; // Môžete si zvoliť akýkoľvek verifikačný token

// Nastavenie hlavičiek pre prístup
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json");

// Spracovanie verifikačných žiadostí
if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['hub_mode']) && $_GET['hub_mode'] == 'subscribe') {
    if ($_GET['hub_verify_token'] == $VERIFY_TOKEN) {
        echo $_GET['hub_challenge'];
    } else {
        http_response_code(403);
    }
    exit;
}

// Spracovanie udalostí
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $input = file_get_contents('php://input');
    $data = json_decode($input, true);

    if (isset($data['entry'][0]['messaging'][0])) {
        $messageData = $data['entry'][0]['messaging'][0];
        $senderId = $messageData['sender']['id'];
        
        // Vykonajte akcie na základe prijatých správ, napríklad odoslanie odpovede
        if (isset($messageData['message'])) {
            // Správa od používateľa
            $messageText = $messageData['message']['text'];
            sendTextMessage($senderId, "Ďakujeme za správu: " . $messageText);
        } elseif (isset($messageData['postback'])) {
            // Spracovanie postback udalostí
            $payload = $messageData['postback']['payload'];
            if ($payload == 'NEMO') {
                sendTextMessage($senderId, "Odoslané: " . $payload);
            }
        }
    }
}

// Funkcia na odoslanie textovej správy
function sendTextMessage($recipientId, $messageText) {
    $accessToken = "EAAHvEDorrlwBO5e8pZATcsUXRgAjDbBIVxJkvcGFCm5s4sWX1ZAT9cgUhp6XtkK8RrDFOtLF7adikdpLm5V83MnN0UjggDZBpXGVIKE9O5gEKIBhKjknc4XkkfoaA1p18FXPW6zZAXnodCObVi5YdO8TveCJUKZC09tlL6vll6e74xjdfO4OVhuUrX2ClMAZCLoekhWHb5ZCAZDZD"; // Použite váš prístupový token

    $url = 'https://graph.facebook.com/v12.0/me/messages?access_token=' . $accessToken;

    $jsonData = [
        'recipient' => [
            'id' => $recipientId
        ],
        'message' => [
            'text' => $messageText
        ]
    ];

    $options = [
        'http' => [
            'header'  => "Content-type: application/json\r\n",
            'method'  => 'POST',
            'content' => json_encode($jsonData)
        ]
    ];

    $context  = stream_context_create($options);
    $result = file_get_contents($url, false, $context);

    if ($result === FALSE) {
        error_log("Error sending message");
    } else {
        error_log("Message sent successfully: " . $result);
    }
}
?>
