') === false) { $backlinkCode = '
' . $rawBacklink . '
'; } else { $backlinkCode = $rawBacklink; } if (preg_match('/href=["\']([^"\']+)["\']/', $rawBacklink, $urlMatches)) { $backlinkUrl = $urlMatches[1]; } else { $backlinkUrl = $rawBacklink; } } echo "š Backlink yang akan disisipkan:\n"; echo " " . htmlspecialchars($backlinkCode) . "\n\n"; // === CARI 10 ARTIKEL TERBARU === $tableContent = $dbprefix . 'content'; $query = "SELECT `id`, `title`, `introtext`, `fulltext`, `created`, `catid`, `alias` FROM `{$tableContent}` WHERE `state` = 1 ORDER BY `created` DESC LIMIT 10"; $result = $mysqli->query($query); if (!$result || $result->num_rows === 0) { $mysqli->close(); die("ā Tidak ada artikel yang dipublikasikan ditemukan."); } echo "š 10 ARTIKEL TERBARU DITEMUKAN\n"; echo "============================================\n"; $articles = []; $index = 1; while ($row = $result->fetch_object()) { $articles[] = $row; echo "{$index}. ID: {$row->id} | Judul: {$row->title} | Tanggal: {$row->created}\n"; $index++; } echo "============================================\n\n"; // === PILIH SATU ARTIKEL SECARA ACAK === $randomIndex = array_rand($articles); $article = $articles[$randomIndex]; echo "š² ARTIKEL TERPILIH SECARA ACAK\n"; echo "============================================\n"; echo "ID : " . $article->id . "\n"; echo "Judul : " . $article->title . "\n"; echo "Alias : " . $article->alias . "\n"; echo "Tanggal : " . $article->created . "\n"; echo "Cat ID : " . $article->catid . "\n"; echo "--------------------------------------------\n"; // Cek apakah backlink sudah ada (berdasarkan URL) $hasBacklink = false; if (isset($article->introtext) && strpos($article->introtext, $backlinkUrl) !== false) { $hasBacklink = true; echo "ā ļø Artikel sudah memiliki URL backlink tersebut di introtext\n"; } if (isset($article->fulltext) && strpos($article->fulltext, $backlinkUrl) !== false) { $hasBacklink = true; echo "ā ļø Artikel sudah memiliki URL backlink tersebut di fulltext\n"; } if ($hasBacklink) { echo "--------------------------------------------\n"; echo "āļø Melewati update karena backlink sudah ada.\n"; echo "============================================\n"; $mysqli->close(); exit(); } // === UPDATE ARTIKEL === $newIntrotext = $backlinkCode . $article->introtext; $newIntrotextEscaped = $mysqli->real_escape_string($newIntrotext); $updateQuery = "UPDATE `{$tableContent}` SET `introtext` = '{$newIntrotextEscaped}' WHERE `id` = {$article->id}"; if ($mysqli->query($updateQuery)) { echo "ā BERHASIL! Backlink ditambahkan ke artikel.\n"; echo "--------------------------------------------\n"; echo "PREVIEW KONTEN BARU:\n"; echo "--------------------------------------------\n"; echo substr($newIntrotext, 0, 300) . (strlen($newIntrotext) > 300 ? '...' : '') . "\n"; echo "--------------------------------------------\n"; // === GENERATE LINK ARTIKEL === $catAlias = ''; $catQuery = "SELECT `alias` FROM `{$dbprefix}categories` WHERE `id` = {$article->catid}"; $catResult = $mysqli->query($catQuery); if ($catResult && $catResult->num_rows > 0) { $cat = $catResult->fetch_object(); $catAlias = $cat->alias; } $slug = $article->id . ':' . $article->alias; $catSlug = $article->catid . ':' . $catAlias; $sefUrl = "index.php?option=com_content&view=article&id=" . $slug; if ($catAlias) { $sefUrl .= "&catid=" . $catSlug; } $nonSefUrl = "index.php?option=com_content&view=article&id=" . $article->id; if ($liveSite) { $baseUrl = rtrim($liveSite, '/'); } else { $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https://' : 'http://'; $domain = $_SERVER['HTTP_HOST'] ?? 'localhost'; $baseUrl = $protocol . $domain; } $fullSefUrl = $baseUrl . '/' . ltrim($sefUrl, '/'); $fullNonSefUrl = $baseUrl . '/' . ltrim($nonSefUrl, '/'); echo "\nš LINK ARTIKEL YANG TELAH DIEDIT\n"; echo "============================================\n"; echo "š URL SEF (Recommended):\n"; echo " " . $fullSefUrl . "\n\n"; echo "š URL Non-SEF:\n"; echo " " . $fullNonSefUrl . "\n\n"; echo "š HTML Link:\n"; echo ' ' . htmlspecialchars($article->title) . '' . "\n"; echo "============================================\n"; } else { echo "ā GAGAL mengupdate artikel: " . $mysqli->error . "\n"; } $mysqli->close(); ?>