<?php
// Uključivanje konfiguracije i neophodni fajlovi
require_once '../includes/config.php';
require_once '../includes/db.php';
require_once '../includes/functions.php';
require_once '../includes/email_helper.php';



// Provera CSRF tokena
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (!isset($_POST['csrf_token']) || !verify_csrf_token($_POST['csrf_token'])) {
        // Logiraj pokušaj
        security_log('Invalid CSRF token in order processing', 'warning');
        
        // Preusmeri korisnika
        header('Location: /checkout.php?error=security');
        exit;
    }
}

// Inicijalizacija response niza
$response = [
    'success' => false,
    'message' => 'Došlo je do greške prilikom slanja pitanja.'
];

// Provera da li je zahtev POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Validacija ulaznih parametara
    $product_id = isset($_POST['product_id']) ? intval($_POST['product_id']) : 0;
    $name = isset($_POST['name']) ? trim($_POST['name']) : '';
    $email = isset($_POST['email']) ? trim($_POST['email']) : '';
    $question = isset($_POST['question']) ? trim($_POST['question']) : '';
    
    // Validacija ulaznih podataka
    $errors = [];
    
    if ($product_id <= 0) {
        $errors[] = 'Neispravan proizvod.';
    }
    
    if (empty($name)) {
        $errors[] = 'Ime je obavezno.';
    } elseif (mb_strlen($name) > 100) {
        $errors[] = 'Ime je predugačko (maksimalno 100 karaktera).';
    }
    
    if (empty($email)) {
        $errors[] = 'Email adresa je obavezna.';
    } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        $errors[] = 'Email adresa nije ispravna.';
    }
    
    if (empty($question)) {
        $errors[] = 'Pitanje je obavezno.';
    } elseif (mb_strlen($question) > 2000) {
        $errors[] = 'Pitanje je predugačko (maksimalno 2000 karaktera).';
    }
    
    // Ako nema grešaka, nastavi sa slanjem pitanja
    if (empty($errors)) {
        // Provera da li proizvod postoji
        $product = get_row("SELECT id, name FROM products WHERE id = ?", [$product_id]);
        
        if ($product) {
            // Dodavanje pitanja u bazu
            $status = 'pending'; // ili 'published' ako ne želite moderaciju
            
            $insert = execute_query("
                INSERT INTO product_faqs (product_id, question, answer, name, email, status, created_at)
                VALUES (?, ?, NULL, ?, ?, ?, NOW())
            ", [$product_id, $question, $name, $email, $status]);
            
            if ($insert) {
                // Slanje obaveštenja administratoru (opciono)
                $admin_email = get_setting('admin_email', 'info@hugong-aparati.rs');
                $product_name = $product['name'];
                
                $subject = "Novo pitanje za proizvod: $product_name";
                $message = "Novo pitanje od: $name ($email)\n\n";
                $message .= "Proizvod: $product_name (ID: $product_id)\n\n";
                $message .= "Pitanje:\n$question\n\n";
                $message .= "Možete odgovoriti na pitanje u admin panelu.";
                
                // Jednostavna funkcija za slanje emaila (može biti zamenjena postojećom funkcijom)
                @mail($admin_email, $subject, $message, "From: $email");
                
                $response = [
                    'success' => true,
                    'message' => 'Vaše pitanje je uspešno poslato.' . ($status === 'pending' ? ' Odgovor će biti objavljen nakon pregleda.' : '')
                ];
            }
        } else {
            $response['message'] = 'Proizvod nije pronađen.';
        }
    } else {
        $response['message'] = 'Molimo ispravite sledeće greške: ' . implode(' ', $errors);
        $response['errors'] = $errors;
    }
}

// Vraćanje odgovora u JSON formatu
header('Content-Type: application/json');
echo json_encode($response);
exit;