Files
Critters/lib/head.php
T
pauljd d41725cd68
pauljd/davidson-ci: Davidson CI / quality (push) Successful in 20s
pauljd/davidson-ci: Davidson CI / ai-review (push) Successful in 1m5s
Davidson CI testing & AI refinement
2026-09-11 09:42:27 +01:00

49 lines
1.8 KiB
PHP

<?php
require_once __DIR__ . '/ticket.php';
$isLoggedIn = isset($_SESSION['user_id']) && isset($_SESSION['username']);
?>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="<?php echo htmlspecialchars(csrf_token(), ENT_QUOTES, 'UTF-8'); ?>">
<title><?php echo htmlspecialchars($pageTitle ?? 'OurApp', ENT_QUOTES, 'UTF-8'); ?></title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/media/output.css?v=<?php echo filemtime(__DIR__ . '/../media/output.css'); ?>">
<script src="https://unpkg.com/lucide@1.41.0/dist/umd/lucide.min.js" integrity="sha384-5hfcTHqJTrDq2YPubIhzTtbnAx6tDcmRrxlfwLEierMHQtmz030891dt1/8VAupY" crossorigin="anonymous"></script>
<?php if ($isLoggedIn): ?>
<script src="https://cdn.paddle.com/paddle/v2/paddle.js"></script>
<script type="text/javascript">
Paddle.Environment.set("sandbox");
Paddle.Initialize({
token: "test_4e37deb3ec9f5dbe68fef14fcf6",
eventCallback: function(data) {
if (data.name === "checkout.completed") {
setTimeout(function() {
window.location.href = "/processing.php";
}, 2000);
}
}
});
// define items
let itemsList = [
{
priceId: "pri_01m1v2aegbrdvwhw1jf7b0s6va",
quantity: 1
}
];
// open checkout
function openCheckout(items){
Paddle.Checkout.open({
items: items,
customData: {user_id: "<?php echo htmlspecialchars(createTicket((int) $_SESSION['user_id'], 'purchase', PURCHASE_TICKET_LIFETIME_SECONDS), ENT_QUOTES, 'UTF-8'); ?>"}
});
}
</script>
<?php endif; ?>
</head>