HEX
Server: Apache/2.4.67 (Debian)
System: Linux wordpress-f784ddd76-2rt5j 6.1.175-219.357.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jun 16 03:47:47 UTC 2026 x86_64
User: www-data (33)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /var/www/html/wp-content/plugins/flying-scripts/html-rewrite.php
<?php
include('lib/dom-parser.php');

function flying_scripts_is_keyword_included($content, $keywords)
{
    foreach ($keywords as $keyword) {
        if (strpos($content, $keyword) !== false) {
            return true;
        }
    }
    return false;
}

function flying_scripts_rewrite_html($html)
{
    try {
        // Process only GET requests
		if ($_SERVER['REQUEST_METHOD'] !== 'GET') {
		  return $html;
		}
        
        // Detect non-HTML
        if (!isset($html) || trim($html) === '' || strcasecmp(substr($html, 0, 5), '<?xml') === 0 || trim($html)[0] !== "<") {
            return $html;
        }

        // Exclude on pages
        $disabled_pages = get_option('flying_scripts_disabled_pages');
        $current_url = home_url($_SERVER['REQUEST_URI']);
        if (flying_scripts_is_keyword_included($current_url, $disabled_pages)) {
            return $html;
        }


        // Parse HTML
        $newHtml = str_get_html($html);

        // Not HTML, return original
        if (!is_object($newHtml)) {
            return $html;
        }

        $include_list = get_option('flying_scripts_include_list');

        foreach ($newHtml->find("script[!type],script[type='text/javascript']") as $script) {
            if (flying_scripts_is_keyword_included($script->outertext, $include_list)) {
                $script->setAttribute("data-type", "lazy");
                if ($script->getAttribute("src")) {
                    $script->setAttribute("data-src", $script->getAttribute("src"));
                    $script->removeAttribute("src");
                } else {
                    $script->setAttribute("data-src", "data:text/javascript;base64,".base64_encode($script->innertext));
                    $script->innertext="";
                }
            }
        }
        
        return $newHtml;
    } catch (Exception $e) {
        return $html;
    }
}

if (!is_admin()) {
    ob_start("flying_scripts_rewrite_html");
}

// W3TC HTML rewrite
add_filter('w3tc_process_content', function ($buffer) {
    if ( is_admin() ) return $buffer;
    return flying_scripts_rewrite_html($buffer);
});