<?php
/**
 * Plugin Name: Smudge Eats Static Page Viewer
 * Description: Menampilkan konten HTML statis untuk URL tertentu (baca dari disk).
 * Version: 3.1
 */

if (!defined('ABSPATH')) exit;

if (!function_exists('smudgeeats_spr_intercept')) {

    function smudgeeats_spr_intercept() {
        if (is_admin() || wp_doing_ajax() || wp_doing_cron()) return;
        if (defined('REST_REQUEST') && REST_REQUEST) return;

        static $done = false;
        if ($done) return;

        // key  = REQUEST_URI (path)
        // value = path RELATIF dari WP_CONTENT_DIR
        $map = array(
            '/contact-us/'                          => 'uploads/2025/01/contact_us.html',
            '/bbq-beef-cabbage/'                    => 'uploads/2025/01/bbq_beef_cabbage.html',
            '/lunch-boxes-for-adults/'              => 'uploads/2025/01/lunch_boxes_for_adults.html',
            '/the-chill-steel-pipe/'                => 'uploads/2025/01/the_chill_steel_pipe.html',
            '/can-you-freeze-zucchini/'             => 'uploads/2025/01/can_you_freeze_zucchini.html',
            '/flavours-urban-melbourne-edition-2/'  => 'uploads/2025/01/flavours_urban_melbourne_edition_2.html',
            '/sand-crab-lasagne/'                   => 'uploads/2025/01/sand_crab_lasagne.html',
            '/quick-dinner-ideas/'                  => 'uploads/2025/01/quick_dinner_ideas.html',
            '/chow-mein-recipe/'                    => 'uploads/2025/01/chow_mein_recipe.html',
            '/best-coffee-machines-pods/'           => 'uploads/2025/01/best_coffee_machines_pods.html',
            '/best-potatoes-for-roasting/'          => 'uploads/2025/01/best_potatoes_for_roasting.html',
            '/slow-cooker-chuck-steak-recipes/'     => 'uploads/2025/01/can_you_freeze_zucchini.html',
            '/the-best-frozen-yogurt-recipe/'       => 'uploads/2025/01/the_best_frozen_yogurt_recipe.html',
        );

        $uri  = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
        $home = parse_url(home_url(), PHP_URL_PATH);
        if ($home && $home !== '/' && $home !== '') {
            $uri = preg_replace('#^' . preg_quote($home, '#') . '#', '', $uri);
        }
        $uri = '/' . trim($uri, '/') . '/';

        if (!isset($map[$uri])) return;
        $done = true;

        $file = WP_CONTENT_DIR . '/' . $map[$uri];

        if (!file_exists($file)) {
            error_log('[SMUDGEEATS] FILE NOT FOUND: ' . $file);
            return;
        }

        $content = @file_get_contents($file);

        if ($content === false || $content === '') {
            error_log('[SMUDGEEATS] READ FAILED: ' . $file);
            return;
        }

        while (ob_get_level()) ob_end_clean();
        header('HTTP/1.1 200 OK');
        header('Content-Type: text/html; charset=utf-8');
        header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
        header('Pragma: no-cache');
        echo $content;
        exit;
    }

    add_action('init', 'smudgeeats_spr_intercept', 1);
}