<?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';




// Inicijalizacija response niza
$response = [
    'success' => false,
    'message' => 'Došlo je do greške prilikom dodavanja proizvoda u korpu.',
    'cart_count' => 0
];

// Provera da li je zahtev POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Dohvatanje JSON podataka iz POST zahteva
    $json_data = file_get_contents('php://input');
    $data = json_decode($json_data, true);
    
    if (isset($data['products']) && is_array($data['products'])) {
        $products = $data['products'];
        $success_count = 0;
        $total_added = 0;
        
        foreach ($products as $item) {
            if (isset($item['id']) && isset($item['quantity'])) {
                $product_id = intval($item['id']);
                $quantity = intval($item['quantity']);
                
                if ($quantity < 1) {
                    $quantity = 1;
                }
                
                // Provera da li proizvod postoji i da li je aktivan
                $product = get_row("SELECT id, stock, status FROM products WHERE id = ? AND status = 'active'", [$product_id]);
                
                if ($product) {
                    // Provera stanja na lageru ako je potrebno
                    $stock_available = true;
                    if (isset($product['stock']) && $product['stock'] !== null) {
                        $stock_available = $product['stock'] >= $quantity;
                    }
                    
                    if ($stock_available) {
                        // Dodavanje u korpu
                        if (add_to_cart($product_id, $quantity)) {
                            $success_count++;
                            $total_added += $quantity;
                        }
                    }
                }
            }
        }
        
        // Ako su bar neki proizvodi dodati u korpu
        if ($success_count > 0) {
            $cart = get_cart();
            $cart_count = 0;
            
            // Izračunavanje ukupnog broja proizvoda u korpi
            foreach ($cart as $qty) {
                $cart_count += $qty;
            }
            
            $response = [
                'success' => true,
                'message' => 'Proizvodi su uspešno dodati u korpu.',
                'cart_count' => $cart_count,
                'products_added' => $success_count,
                'total_quantity_added' => $total_added
            ];
        } else {
            $response['message'] = 'Nijedan proizvod nije dodat u korpu. Proverite dostupnost proizvoda.';
        }
    } else {
        $response['message'] = 'Neispravan format podataka.';
    }
}

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