<?php
/*
Template Name: Bird Save
*/


$upload_dir = wp_upload_dir();
$save_path = $upload_dir['basedir'] . '/bird_drawings';
$save_url  = $upload_dir['baseurl'] . '/bird_drawings';

if (!file_exists($save_path)) {
    mkdir($save_path, 0755, true);
}

// Recibir los datos JSON
$data = json_decode(file_get_contents('php://input'), true);

if (!isset($data['svg'])) {
    http_response_code(400);
    echo 'No SVG data';
    exit;
}

$svg_data = $data['svg'];

// Obtener la IP del cliente
$client_ip = $_SERVER['HTTP_CLIENT_IP'] ?? $_SERVER['HTTP_X_FORWARDED_FOR'] ?? $_SERVER['REMOTE_ADDR'];
$ip_info = @file_get_contents("https://ipapi.co/{$client_ip}/json");

$city = "Unknown";
$country = "Unknown";

if ($ip_info !== false) {
    $info = json_decode($ip_info, true);
    if (isset($info['city'])) $city = $info['city'];
    if (isset($info['country_name'])) $country = $info['country_name'];
}

// Guardar SVG
$filename = 'drawing_' . time() . '.svg';
file_put_contents("$save_path/$filename", $svg_data);

// Guardar metadata
$meta = array(
    "file" => $filename,
    "date" => date("Y-m-d H:i:s"),
    "location" => $city,
    "country" => $country
);
$json_path = "$save_path/metadata.json";
$entries = [];

if (file_exists($json_path)) {
    $entries = json_decode(file_get_contents($json_path), true);
}

$entries[] = $meta;
file_put_contents($json_path, json_encode($entries, JSON_PRETTY_PRINT));

echo 'OK';
?>
