Ticket #22757: 22757.diff

File 22757.diff, 1.8 KB (added by nacin, 6 months ago)
  • wp-includes/script-loader.php

     
    689689        if ( $zip && defined('ENFORCE_GZIP') && ENFORCE_GZIP ) 
    690690                $zip = 'gzip'; 
    691691 
    692         if ( !empty($wp_scripts->concat) ) { 
    693  
     692        $concat = trim( $wp_scripts->concat, ', ' ); 
     693        if ( $concat ) { 
    694694                if ( !empty($wp_scripts->print_code) ) { 
    695695                        echo "\n<script type='text/javascript'>\n"; 
    696696                        echo "/* <![CDATA[ */\n"; // not needed in HTML 5 
     
    699699                        echo "</script>\n"; 
    700700                } 
    701701 
    702                 $src = $wp_scripts->base_url . "/wp-admin/load-scripts.php?c={$zip}&load=" . trim($wp_scripts->concat, ', ') . '&ver=' . $wp_scripts->default_version; 
    703                 echo "<script type='text/javascript' src='" . esc_attr($src) . "'></script>\n"; 
     702                if ( strlen( $concat ) <= 512 ) { 
     703                        $src = $wp_scripts->base_url . "/wp-admin/load-scripts.php?c={$zip}&load=" . $concat . '&ver=' . $wp_scripts->default_version; 
     704                        echo "<script type='text/javascript' src='" . esc_attr($src) . "'></script>\n"; 
     705                } else { 
     706                        $scripts = explode( ',', $concat ); 
     707                        $concat = ''; 
     708                        foreach ( $scripts as $script ) { 
     709                                if ( strlen( $concat ) + strlen( $script ) > 513 ) { 
     710                                        $src = $wp_scripts->base_url . "/wp-admin/load-scripts.php?c={$zip}&load=" . trim( $concat, ',' ) . '&ver=' . $wp_scripts->default_version; 
     711                                        echo "<script type='text/javascript' src='" . esc_attr($src) . "'></script>\n"; 
     712                                        $concat = ''; 
     713                                } 
     714                                $concat .= ',' . $script; 
     715                        } 
     716                        if ( $concat ) { 
     717                                $src = $wp_scripts->base_url . "/wp-admin/load-scripts.php?c={$zip}&load=" . trim( $concat, ',' ) . '&ver=' . $wp_scripts->default_version; 
     718                                echo "<script type='text/javascript' src='" . esc_attr($src) . "'></script>\n"; 
     719                        } 
     720                } 
    704721        } 
    705722 
    706723        if ( !empty($wp_scripts->print_html) )