Make WordPress Core

Ticket #22757: 22757.diff

File 22757.diff, 1.8 KB (added by nacin, 11 years 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) )