404 Not Found"; exit(); } $uri = $_SERVER['REQUEST_URI'] ?? '/'; $scriptBase = rtrim(dirname($_SERVER['SCRIPT_NAME'] ?? ''), '/'); $path = trim(str_replace($scriptBase, '', $uri), '/'); $segments = $path === '' ? [] : explode('/', $path); if (empty($segments[0])) feedback404(); // simpan slug asli (apa adanya dari URL) $slugOriginal = $segments[0]; // slugKey hanya untuk pencocokan, dibuat lowercase $slugKey = strtolower($slugOriginal); // load list.json $raw = @file_get_contents(__DIR__.'/list.json'); $data = json_decode($raw, true); if (!is_array($data) || !isset($data['brands'])) feedback404(); $brand = $title = $desc = null; foreach ($data['brands'] as $it) { if (!is_array($it)) continue; if (isset($it['slug']) && strtolower($it['slug']) === $slugKey) { $brand = isset($it['brand']) ? strtoupper($it['brand']) : ''; $title = $it['meta_title'] ?? ''; $desc = $it['meta_description'] ?? ''; break; } } if ($brand === null) feedback404(); // absolute non-AMP URL (pakai slug asli, jadi case-nya ikut URL) $https = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS']==='on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO']==='https'); $scheme = $https ? 'https' : 'http'; $host = $_SERVER['HTTP_HOST'] ?? 'localhost'; $base = rtrim($scheme.'://'.$host.$scriptBase, '/'); // pakai slugOriginal di URL biar canonical-nya ikut huruf besar/kecil slug $nonamp = $base.'/'.rawurlencode($slugOriginal).'/'; // AMP host (Cloudflare Pages / custom domain). Bisa override via ENV AMP_HOST $AMP_HOST = getenv('AMP_HOST') ?: 'katekese.pages.dev'; $amp = 'https://'.rtrim($AMP_HOST,'/').'/'.rawurlencode($slugOriginal).'/'; function h($s){ return htmlspecialchars($s ?? '', ENT_QUOTES, 'UTF-8'); } function trim_len($s,$max){ $s=preg_replace('/\s+/u',' ',trim($s ?? '')); return (mb_strlen($s)<= $max)?$s: rtrim(mb_substr($s,0,$max),' .,-–—').'…'; } $title = trim_len($title, 70); $desc = trim_len($desc, 165); ?> <?= h($title) ?>
By
Cart 1,278,03,433 Player has join at
LINK LOGIN
<?= h($title) ?>
by
by
by
by
by
Regular License Selected
$33

Use, by you or one client, in a single end product which end users are not charged for. The total price includes the item price and a buyer fee.