// Thêm Shortcode cho Google Drive Direct Download Link Generator
function gdrive_direct_download_shortcode() {
ob_start(); // Bắt đầu buffer output để chèn mã HTML/JS
?>
<div class="gdrive-link-generator">
<h1>Google Drive Direct Download Link Generator</h1>
<textarea id="shareLinks" rows="6" cols="60" placeholder="Nhập nhiều link Google Drive share, mỗi link 1 dòng"></textarea>
<button onclick="generateDownloadLinks()">Generate Direct Download Links</button>
<div class="result" id="result"></div>
<button id="copyAllBtn" onclick="copyAllLinks()" style="display: none;">Copy All Links</button>
</div>
<style>
.gdrive-link-generator {
font-family: Arial, sans-serif;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background-color: #f4f4f9;
padding: 20px;
border: 1px solid #ccc;
border-radius: 10px;
max-width: 800px;
margin: auto;
}
textarea, button {
padding: 10px;
margin: 5px;
font-size: 16px;
}
.result {
margin-top: 20px;
padding: 10px;
border: 1px solid #ccc;
background-color: #e4e4e4;
width: 100%;
max-width: 600px;
}
.result-item {
display: flex;
align-items: center;
margin-bottom: 10px;
}
.copy-btn {
margin-left: 10px;
padding: 5px 10px;
font-size: 14px;
cursor: pointer;
}
</style>
<script>
let allLinks = [];
function generateDownloadLinks() {
const shareLinks = document.getElementById("shareLinks").value;
const resultDiv = document.getElementById("result");
const copyAllBtn = document.getElementById("copyAllBtn");
if (!shareLinks.trim()) {
resultDiv.innerHTML = "Vui lòng nhập một hoặc nhiều liên kết Google Drive!";
copyAllBtn.style.display = "none";
return;
}
const linksArray = shareLinks.split('\n').map(link => link.trim()).filter(link => link !== "");
resultDiv.innerHTML = ""; // Xóa kết quả trước đó
allLinks = []; // Xóa danh sách liên kết trước đó
linksArray.forEach((link, index) => {
const fileId = extractFileId(link);
const resultItem = document.createElement("div");
resultItem.classList.add("result-item");
if (fileId) {
const directDownloadLink = `https://drive.google.com/uc?export=download&id=${fileId}`;
resultItem.innerHTML = `
<strong>Link ${index + 1}:</strong>
<a href="${directDownloadLink}" target="_blank">${directDownloadLink}</a>
<button class="copy-btn" onclick="copyToClipboard('${directDownloadLink}')">Copy</button>
`;
allLinks.push(directDownloadLink);
} else {
resultItem.innerHTML = `<strong>Link ${index + 1}:</strong> Liên kết Google Drive không hợp lệ!`;
}
resultDiv.appendChild(resultItem);
});
if (allLinks.length > 0) {
copyAllBtn.style.display = "block";
} else {
copyAllBtn.style.display = "none";
}
}
function extractFileId(url) {
const regex = /[-\w]{25,}/;
const match = url.match(regex);
return match ? match[0] : null;
}
function copyToClipboard(text) {
const tempInput = document.createElement("input");
document.body.appendChild(tempInput);
tempInput.value = text;
tempInput.select();
document.execCommand("copy");
document.body.removeChild(tempInput);
alert("Đã sao chép vào clipboard: " + text);
}
function copyAllLinks() {
const allLinksText = allLinks.join('\n');
const tempInput = document.createElement("textarea");
document.body.appendChild(tempInput);
tempInput.value = allLinksText;
tempInput.select();
document.execCommand("copy");
document.body.removeChild(tempInput);
alert("Tất cả liên kết đã được sao chép vào clipboard!");
}
</script>
<?php
return ob_get_clean(); // Trả về HTML/JS dưới dạng chuỗi
}
add_shortcode('gdrive_link_generator', 'gdrive_direct_download_shortcode');
//----------