<?php

require_once __DIR__ . '/watermark_lib.php';

$root = dirname(__DIR__, 2);
$logoId = $_GET['logo_id'] ?? '';
$frame = $_GET['frame'] ?? 'detail';
$imageIndex = $_GET['image'] ?? 0;

$sourcePath = lt_logo_watermark_source_path($root, $logoId, $imageIndex);
$framePath = is_string($frame) ? lt_logo_watermark_frame_path($root, $frame) : null;

if (!$sourcePath || !$framePath) {
    http_response_code(404);
    header('Content-Type: text/plain; charset=UTF-8');
    echo 'Watermarked logo not found.';
    exit;
}

try {
    $cachePath = lt_logo_watermark_cache_path($root, $sourcePath, $framePath, (string)$frame, $logoId, $imageIndex);
    $outputPath = lt_logo_watermark_render($sourcePath, $framePath, $cachePath);
} catch (Throwable $exception) {
    http_response_code(500);
    header('Content-Type: text/plain; charset=UTF-8');
    echo 'Unable to create watermarked logo.';
    exit;
}

$etag = lt_logo_watermark_etag($outputPath);
header('Content-Type: image/png');
header('Cache-Control: public, max-age=31536000, immutable');
header('ETag: ' . $etag);
header('X-Content-Type-Options: nosniff');

if (lt_logo_watermark_not_modified($_SERVER, $etag)) {
    http_response_code(304);
    exit;
}

header('Content-Length: ' . filesize($outputPath));
readfile($outputPath);
