<?php

header("Content-Type: application/javascript; charset=utf-8");
header("Cache-Control: public, max-age=300");
header("X-Content-Type-Options: nosniff");

load_public_env(dirname(__DIR__) . "/.env");

$config = [
    "brand" => public_env("SITE_BRAND", "Hensire Coatings"),
    "email" => public_env("SITE_SALES_EMAIL", ""),
    "address" => public_env("SITE_ADDRESS", ""),
];

echo "window.SITE_CONFIG = " . json_encode(
    $config,
    JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_HEX_TAG | JSON_HEX_AMP
) . ";";

function load_public_env($path)
{
    if (!is_readable($path)) {
        return;
    }
    foreach (file($path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) as $line) {
        $line = trim($line);
        if ($line === "" || str_starts_with($line, "#") || strpos($line, "=") === false) {
            continue;
        }
        [$key, $value] = explode("=", $line, 2);
        $key = trim($key);
        $value = trim($value);
        if (
            (str_starts_with($value, '"') && str_ends_with($value, '"')) ||
            (str_starts_with($value, "'") && str_ends_with($value, "'"))
        ) {
            $value = substr($value, 1, -1);
        }
        if ($key !== "" && getenv($key) === false) {
            $GLOBALS["PUBLIC_ENV"][$key] = $value;
        }
    }
}

function public_env($key, $fallback)
{
    $value = getenv($key);
    if (($value === false || $value === "") && isset($GLOBALS["PUBLIC_ENV"][$key])) {
        $value = $GLOBALS["PUBLIC_ENV"][$key];
    }
    return $value === false || $value === "" ? $fallback : $value;
}
