"> // So yes, IPOs are also at root or we need to check if they are distinct. // Let's assume they are unique slugs. $stmt = $db->prepare("SELECT id FROM ipo_calendar WHERE slug = :slug LIMIT 1"); $stmt->execute([':slug' => $slug]); if ($stmt->fetch()) { $_GET['slug'] = $slug; include 'ipo-detail.php'; // We need to verify this file exists exit; } $parts = explode('-', $slug); if (count($parts) >= 6) { $day = (int)($parts[0] ?? 0); $months = [ 'ocak' => '01','subat' => '02','mart' => '03','nisan' => '04','mayis' => '05','haziran' => '06', 'temmuz' => '07','agustos' => '08','eylul' => '09','ekim' => '10','kasim' => '11','aralik' => '12' ]; $monTxt = $parts[1] ?? ''; $year = preg_match('/^\d{4}$/', $parts[2] ?? '') ? (int)$parts[2] : 0; $dayNames = ['pazartesi','sali','carsamba','persembe','cuma','cumartesi','pazar']; $maybeDayName = $parts[3] ?? ''; $idxAfter = in_array($maybeDayName, $dayNames, true) ? 4 : 3; $tail = implode('-', array_slice($parts, -3)); $marketTokens = array_slice($parts, $idxAfter, max(0, count($parts) - $idxAfter - 3)); if ($day > 0 && $year > 0 && isset($months[$monTxt]) && $tail === 'fiyati-ve-analizi' && !empty($marketTokens)) { $marketKey = implode('-', $marketTokens); $catId = null; if ($marketKey === 'altin') $catId = 2; elseif ($marketKey === 'gumus') $catId = 1; elseif ($marketKey === 'brent-petrol') $catId = 3; elseif ($marketKey === 'bitcoin') $catId = 5; elseif (in_array($marketKey, ['borsa-istanbul-bist-100','dolar','euro'], true)) $catId = 4; if ($catId) { $dateStr = sprintf('%04d-%02d-%02d', $year, (int)$months[$monTxt], $day); $stmtByDate = $db->prepare("SELECT slug FROM posts WHERE is_analysis = 1 AND category_id = ? AND DATE(created_at) = ? ORDER BY id DESC LIMIT 1"); $stmtByDate->execute([$catId, $dateStr]); if ($row = $stmtByDate->fetch(PDO::FETCH_ASSOC)) { $target = rtrim(SITE_URL, '/') . '/' . ltrim($row['slug'], '/'); header("Location: " . $target, true, 301); exit; } $trMonthsCap = [ '01' => 'Ocak','02' => 'Şubat','03' => 'Mart','04' => 'Nisan','05' => 'Mayıs','06' => 'Haziran', '07' => 'Temmuz','08' => 'Ağustos','09' => 'Eylül','10' => 'Ekim','11' => 'Kasım','12' => 'Aralık' ]; $marketNames = [1=>'Gümüş',2=>'Altın',3=>'Brent Petrol',4=>'Borsa',5=>'Bitcoin']; $searchDateStr = $day . ' ' . $trMonthsCap[$months[$monTxt]] . ' ' . $year; $searchMarket = $marketNames[$catId] ?? ''; if ($searchMarket) { $like = '%' . $searchDateStr . '%' . $searchMarket . '%'; $st = $db->prepare("SELECT slug FROM posts WHERE title LIKE ? AND is_analysis = 1 ORDER BY id DESC LIMIT 1"); $st->execute([$like]); if ($rp = $st->fetch(PDO::FETCH_ASSOC)) { $target = rtrim(SITE_URL, '/') . '/' . ltrim($rp['slug'], '/'); header("Location: " . $target, true, 301); exit; } } } } } http_response_code(404); if (function_exists('ob_get_level')) { while (ob_get_level() > 0) { ob_end_clean(); } } if (file_exists(__DIR__ . '/404.php')) { include __DIR__ . '/404.php'; exit; } echo "
"; exit; ?>