WordPress.org

Make WordPress Core

Ticket #22899: 22899.diff

File 22899.diff, 1.8 KB (added by georgestephanis, 9 years 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