<?php
require_once 'includes/ProxyHelper.php';

$data = $_GET['data'] ?? '';
$type = $_GET['type'] ?? 'app'; // 'app' or 'receipt'

if (empty($data)) {
    die("Error: No data provided.");
}

// Ensure the data parameter is a valid encrypted string, not just an Application ID.
if (strlen($data) < 50) {
    die('<div style="font-family: sans-serif; padding: 40px; text-align: center; color: #d9534f; background-color: #fdf2f2; border: 1px solid #d9534f; border-radius: 5px; margin: 50px auto; max-width: 600px;">
        <h3 style="margin-top:0;">ভুল লিংক বা ডাটা!</h3>
        <p>আপনি <b>data=' . htmlspecialchars($data) . '</b> দিয়েছেন, যা একটি সাধারণ নম্বর বা অসম্পূর্ণ ডাটা।</p>
        <p>সরাসরি প্রিন্ট করার জন্য অবশ্যই একটি দীর্ঘ এনক্রিপ্টেড লিংক (যেমন: <i>data=W5wVwjM7...</i>) প্রয়োজন।</p>
        <p>যদি আপনার কাছে শুধু আবেদন নম্বর থাকে, তবে <b>আবেদন প্রিন্ট</b> পেজে গিয়ে নম্বর দিয়ে সার্চ করুন।</p>
        </div>');
}

$proxy = new ProxyHelper();

if ($type === 'receipt') {
    $url = "https://bdris.gov.bd/admin/payment/receipt?data=" . urlencode($data);
} else {
    $url = "https://bdris.gov.bd/admin/application/print?data=" . urlencode($data);
}

try {
    $response = $proxy->fetch($url, 'GET', [], false, 'https://bdris.gov.bd/');
    
    if (isset($response['error']) && !empty($response['error'])) {
        die("Error from Proxy: " . $response['error']);
    }
    
    $body = $response['body'] ?? '';
    
    // Inject base tag to fix relative assets (css, js, images)
    $body = preg_replace('/<head[^>]*>/i', '$0<base href="https://bdris.gov.bd/">', $body, 1);
    
    // Stop automatic printing triggered by the source site
    $body = preg_replace('/window\.print\s*\(\s*\)\s*;?/i', 'console.log("Auto-print blocked");', $body);
    
    // Inject a manual Print button and zoom out screen view
    $printBtnHtml = '
    <style>
        @media screen {
            body {
                zoom: 0.75; /* Reduce screen view zoom by 25% */
            }
        }
        @media print {
            .custom-print-btn-container { display: none !important; }
            body { zoom: 1 !important; }
        }
        .custom-print-btn-container {
            text-align: center;
            padding: 15px;
            background: #f8f9fa;
            border-bottom: 2px solid #ccc;
            margin-bottom: 20px;
        }
        .custom-print-btn {
            background-color: #0d6efd;
            color: #fff;
            border: none;
            padding: 16px 36px;
            font-size: 22px; /* Made slightly larger to offset the zoom */
            font-weight: bold;
            border-radius: 5px;
            cursor: pointer;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }
        .custom-print-btn:hover { background-color: #0b5ed7; }
    </style>
    <div class="custom-print-btn-container no-print">
        <button class="custom-print-btn" onclick="window.print()"><i class="fas fa-print"></i> প্রিন্ট করুন (Print Document)</button>
    </div>
    ';
    
    $body = preg_replace('/<body[^>]*>/i', '$0' . $printBtnHtml, $body, 1);
    
    echo $body;
} catch (Exception $e) {
    die("Error fetching page: " . $e->getMessage());
}
