<?php
// image_upload.php
session_start();

// Проверка прав администратора
if (!isset($_SESSION['isAdmin']) || $_SESSION['isAdmin'] !== true) {
    echo json_encode(['success' => false, 'message' => 'Доступ запрещен']);
    exit();
}

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['image'])) {
    $uploadDir = 'uploads/products/';

    // Создаем директорию если не существует
    if (!file_exists($uploadDir)) {
        mkdir($uploadDir, 0777, true);
    }

    $allowedTypes = ['image/jpeg', 'image/png', 'image/gif', 'image/webp'];
    $maxSize = 5 * 1024 * 1024; // 5MB

    $file = $_FILES['image'];

    // Проверка типа файла
    if (!in_array($file['type'], $allowedTypes)) {
        echo json_encode(['success' => false, 'message' => 'Допустимые форматы: JPEG, PNG, GIF, WebP']);
        exit();
    }

    // Проверка размера
    if ($file['size'] > $maxSize) {
        echo json_encode(['success' => false, 'message' => 'Максимальный размер файла: 5MB']);
        exit();
    }

    // Генерируем уникальное имя
    $extension = pathinfo($file['name'], PATHINFO_EXTENSION);
    $fileName = 'product_' . time() . '_' . rand(1000, 9999) . '.' . $extension;
    $filePath = $uploadDir . $fileName;

    if (move_uploaded_file($file['tmp_name'], $filePath)) {
        echo json_encode([
            'success' => true,
            'url' => $filePath,
            'name' => $fileName
        ]);
    } else {
        echo json_encode(['success' => false, 'message' => 'Ошибка загрузки файла']);
    }
} else {
    echo json_encode(['success' => false, 'message' => 'Файл не получен']);
}
?>