HEX
Server: Apache
System: Linux d5123.usc1.stableserver.net 5.14.0-570.17.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Sat May 24 12:53:17 EDT 2025 x86_64
User: d5123 (1001)
PHP: 8.4.21
Disabled: NONE
Upload Files
File: /home/d5123/myboofola_com/wp-content/plugins/unusedcss/assets/js/rapidload-diagnose-script.js
(function (){

    window.diagnose_data = {
        cache: {
            status: false,
            key: 'uucss_enable_cache',
            name: 'Page Cache',
        },
        cpcss: {
            status: false,
            key: 'uucss_enable_cpcss',
            name: 'Critical CSS',
        },
        uucss: {
            non_optimized_css: [],
            key: 'uucss_enable_uucss',
            name: 'Remove Unused CSS',
        },
        css_minify: {
            non_minified_css: []    ,
            key: 'uucss_minify',
            name: 'Minify CSS',
        },
        js_minify: {
            non_minified_js: [],
            key: 'minify_js',
            name: 'Minify Javascript',
        },
        js_defer: {
            non_deferred_js: [],
            key: 'uucss_load_js_method',
            name: 'Defer Javascript',
        },
        js_delay: {
            non_delayed_js: [],
            key: 'delay_javascript',
            name: 'Delay Javascript',
        },
        cdn: {
            status: false,
            key: 'uucss_enable_cdn',
            name: 'RapidLoad CDN',
        },
        images: {
            optimized_images: [],
            redirected_images: [],
            non_handled_images: [],
            key: 'uucss_support_next_gen_formats',
            name: 'Serve next-gen Images (AVIF, WEBP)',
        },
    };

    function is_rapidload_preview() {
        const urlParams = new URLSearchParams(window.location.search);
        const params = [];
        urlParams.forEach((value, key) => {
            params.push(key)
        });
        return params.includes("rapidload_preview");
    }

    document.addEventListener('DOMContentLoaded', function (){
        if (is_rapidload_preview()) {

            // check cache served
            const rapidload_cache_status_div_content = document.querySelector('#rapidload-cache-status');

            if (rapidload_cache_status_div_content) {
                window.diagnose_data.cache.status = true;
            }else{
                window.diagnose_data.cache.status = false;
            }

            // check cpcss

            const rapidload_cpcss_style_content = document.querySelector('#rapidload-critical-css');

            if(rapidload_cpcss_style_content){
                window.diagnose_data.cpcss.status = true;
            }else{
                window.diagnose_data.cpcss.status = false;
            }

            // check uucss

            const allStylesheets = document.querySelectorAll('link[type="text/css"]');
            const nonOptimizedStylesheets = Array.from(allStylesheets).filter(sheet => !sheet.hasAttribute('data-rpd-uucss'));

            if(nonOptimizedStylesheets.length > 0) {
                window.diagnose_data.uucss.non_optimized_css = nonOptimizedStylesheets.map(sheet => sheet.href);
            }else{
                window.diagnose_data.uucss.non_optimized_css = [];
            }

            // check minify

            const nonMinifiedStylesheets = Array.from(allStylesheets).filter(sheet => {
                const href = sheet.href || '';
                return !sheet.hasAttribute('data-rpd-minify') && !href.toString().includes('.min.css');
            });

            if(nonMinifiedStylesheets.length > 0) {
                window.diagnose_data.css_minify.non_minified_css = nonMinifiedStylesheets.map(sheet => sheet.href);
            }else{
                window.diagnose_data.css_minify.non_minified_css = [];
            }

            // check js minify

            const allScripts = document.querySelectorAll('script[src]');
            const nonMinifiedScripts = Array.from(allScripts).filter(script => {
                const src = script.src || '';
                return !script.hasAttribute('data-rpd-minify-js') && !src.toString().includes('.min.js');
            });

            if(nonMinifiedScripts.length > 0) {
                window.diagnose_data.js_minify.non_minified_js = nonMinifiedScripts.map(script => script.src);
            }else{
                window.diagnose_data.js_minify.non_minified_js = [];
            }

            // check non-deferred scripts

            const nonDeferredScripts = Array.from(allScripts).filter(script => {
                return !script.hasAttribute('data-rpd-strategy') && !script.hasAttribute('defer');
            });

            if(nonDeferredScripts.length > 0) {
                window.diagnose_data.js_defer.non_deferred_js = nonDeferredScripts.map(script => script.src);
            }else{
                window.diagnose_data.js_defer.non_deferred_js = [];
            }

            // check non-delayed scripts
            const nonDelayedScripts = Array.from(allScripts).filter(script => {
                return !script.hasAttribute('data-rpd-strategy') || script.getAttribute('data-rpd-strategy') !== 'delay';
            });

            if(nonDelayedScripts.length > 0) {
                window.diagnose_data.js_delay.non_delayed_js = nonDelayedScripts.map(script => script.src);
            }else{
                window.diagnose_data.js_delay.non_delayed_js = [];
            }

            // check cdn

            const preconnectLink = document.querySelector('link[rel="preconnect"][crossorigin][href*=".rapidload-cdn.io"]');
            if(preconnectLink) {
                window.diagnose_data.cdn.status = true;
            }else{
                window.diagnose_data.cdn.status = false;
            }

            // check image optimization

            // Create observer to track image loads
            const imageObserver = new PerformanceObserver((list) => {
                list.getEntries().forEach((entry) => {
                    if (entry.initiatorType === 'img') {
                        processImage(entry.name.toString());
                    } else if (entry.initiatorType === 'css' && entry.name.match(/\.(jpg|jpeg|png|gif|webp)$/i)) {
                        processImage(entry.name.toString());
                    }
                });
            });

            imageObserver.observe({
                entryTypes: ['resource']
            });

            function processImage(img) {
                const imageUrl = img;
                
                if (window.diagnose_data.images.non_handled_images.includes(imageUrl) || 
                    window.diagnose_data.images.optimized_images.includes(imageUrl)) {
                    return;
                }

                if (!imageUrl.includes('images.rapidload-cdn.io')) {
                    if (!window.diagnose_data.images.non_handled_images.includes(imageUrl)) {
                        window.diagnose_data.images.non_handled_images.push(imageUrl);
                    }
                } else {
                    if (!window.diagnose_data.images.optimized_images.includes(imageUrl)) {
                        window.diagnose_data.images.optimized_images.push(imageUrl);
                    }
                }
            }

            // Track console errors
            window.diagnose_data.console_errors = [];
            
            window.onerror = function(msg, url, lineNo, columnNo, error) {
                window.diagnose_data.console_errors.push({
                    message: msg,
                    url: url,
                    line: lineNo,
                    column: columnNo,
                    error: error ? error.stack : null
                });
                return false;
            };

            // Also capture console.error calls
            const originalError = console.error;
            console.error = function(...args) {
                window.diagnose_data.console_errors.push({
                    message: args.join(' '),
                    timestamp: new Date().toISOString()
                });
                originalError.apply(console, args);
            };

        }

        setTimeout(() => {

            if (window.diagnose_data.images.optimized_images.length > 0) {
                fetch(rapidload_diagnose_tool.ajaxurl, {
                    method: 'POST',
                    headers: {
                        'Content-Type': 'application/x-www-form-urlencoded',
                    },
                    body: new URLSearchParams({
                        action: 'rapidload_image_optimization_status',
                        image_urls: JSON.stringify(window.diagnose_data.images.optimized_images),
                        _ajax_nonce: rapidload_diagnose_tool.nonce
                    })
                })
                .then(response => response.json())
                .then(response => {
                    if (response.success && response.data) {
                        response.data.forEach(image => {
                            if (image.redirected && image.status === 307) {
                                const index = window.diagnose_data.images.optimized_images.indexOf(image.url);
                                if (index > -1) {
                                    window.diagnose_data.images.optimized_images.splice(index, 1);
                                    window.diagnose_data.images.redirected_images.push(image.url);
                                }
                            }
                        });
                    }
                })
                .finally(() => {
                    window.parent.postMessage(
                        {
                            type: "RAPIDLOAD_CHECK_RESULTS",
                            data: diagnose_data,
                        },
                        "*"
                    );
                });
            } else {
                window.parent.postMessage(
                    {
                        type: "RAPIDLOAD_CHECK_RESULTS",
                        data: diagnose_data,
                    },
                    "*"
                );
            }
        }, 5000);
    })

})()