<?php
// Izinkan akses dari aplikasi web Anda (CORS)
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *'); 
header('Access-Control-Allow-Methods: POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');

// Tangani request OPTIONS (Preflight)
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
    http_response_code(200);
    exit();
}

// Pastikan request menggunakan metode POST
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    echo json_encode(['status' => 'error', 'message' => 'Metode request tidak valid. Harus POST.']);
    exit;
}

// Ambil data JSON mentah yang dikirim dari panel admin
$inputJSON = file_get_contents('php://input');

// Validasi apakah data yang dikirim benar-benar format JSON
$inputArray = json_decode($inputJSON, true);
if ($inputArray === null && json_last_error() !== JSON_ERROR_NONE) {
    echo json_encode(['status' => 'error', 'message' => 'Format JSON tidak valid atau kosong.']);
    exit;
}

// Tentukan lokasi folder dan nama file
// __DIR__ adalah direktori tempat file PHP ini berada (public_html)
$targetDir = __DIR__ . '/markup';
$targetFile = $targetDir . '/cachemarkup.json';

// Cek apakah folder 'markup' sudah ada. Jika belum, buat foldernya.
if (!is_dir($targetDir)) {
    // Buat folder dengan permission 0755 (standar aman untuk hosting)
    if (!mkdir($targetDir, 0755, true)) {
        echo json_encode(['status' => 'error', 'message' => 'Gagal membuat folder markup. Periksa izin (permission) di cPanel.']);
        exit;
    }
}

// Tulis data JSON mentah langsung ke file cachemarkup.json
$bytesWritten = file_put_contents($targetFile, $inputJSON);

// Cek apakah berhasil ditulis
if ($bytesWritten !== false) {
    echo json_encode(['status' => 'success', 'message' => 'Markup berhasil disimpan secara permanen.']);
} else {
    echo json_encode(['status' => 'error', 'message' => 'Gagal menulis ke file cachemarkup.json. Periksa permission file/folder.']);
}
?>