WordPress.org

Make WordPress Core

Ticket #22899: 22899.diff

File 22899.diff, 1.8 KB (added by georgestephanis, 19 months ago)
  • wp-includes/script-loader.php

     
    699699                        echo "</script>\n"; 
    700700                } 
    701701 
    702                 $concat = str_split( $concat, 128 ); 
    703                 $concat = 'load[]=' . implode( '&load[]=', $concat ); 
     702                while( strlen( trim( $concat, ', ' ) ) > 500 ) { 
     703                        $index = strrpos( $concat, ',', 500 ); 
     704                        $segment = substr( $concat, 0, $index ); 
     705                        $concat = substr( $concat, $index ); 
     706                        $src = $wp_scripts->base_url . "/wp-admin/load-scripts.php?c={$zip}&load=" . trim( $segment, ', ' ) . '&ver=' . $wp_scripts->default_version; 
     707                        echo "<script type='text/javascript' src='" . esc_attr( $src ) . "'></script>\n"; 
     708                } 
    704709 
    705                 $src = $wp_scripts->base_url . "/wp-admin/load-scripts.php?c={$zip}&" . $concat . '&ver=' . $wp_scripts->default_version; 
    706                 echo "<script type='text/javascript' src='" . esc_attr($src) . "'></script>\n"; 
     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"; 
    707712        } 
    708713 
    709714        if ( !empty($wp_scripts->print_html) ) 
  • wp-admin/load-scripts.php

     
    114114        return @file_get_contents($path); 
    115115} 
    116116 
    117 $load = $_GET['load']; 
    118 if ( is_array( $load ) ) 
    119         $load = implode( '', $load ); 
     117$load = preg_replace( '/[^a-z0-9,_-]+/i', '', $_GET['load'] ); 
     118$load = explode( ',', $load ); 
    120119 
    121 $load = preg_replace( '/[^a-z0-9,_-]+/i', '', $load ); 
    122 $load = explode(',', $load); 
    123  
    124120if ( empty($load) ) 
    125121        exit; 
    126122