mirror of
https://github.com/WordPress/WordPress.git
synced 2025-02-08 16:41:44 +01:00
Use gzip instead of deflate as more servers seem to understand it, add separate switch for disabling CSS compression
git-svn-id: http://svn.automattic.com/wordpress/trunk@10372 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
23587f4c8e
commit
b396079aa0
@ -85,24 +85,19 @@ function get_file($path) {
|
|||||||
return @file_get_contents($path);
|
return @file_get_contents($path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Discard any buffers
|
||||||
|
while ( @ob_end_clean() );
|
||||||
|
|
||||||
if ( isset($_GET['test']) && 1 == $_GET['test'] ) {
|
if ( isset($_GET['test']) && 1 == $_GET['test'] ) {
|
||||||
if ( ini_get('zlib.output_compression') )
|
if ( ini_get('zlib.output_compression') )
|
||||||
exit('');
|
exit('');
|
||||||
|
|
||||||
$out = 'var wpCompressionTest = 1;';
|
if ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip') && function_exists('gzencode') ) {
|
||||||
|
|
||||||
$compressed = false;
|
|
||||||
if ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'deflate') && function_exists('gzdeflate') ) {
|
|
||||||
header('Content-Encoding: deflate');
|
|
||||||
$out = gzdeflate( $out, 3 );
|
|
||||||
$compressed = true;
|
|
||||||
} elseif ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip') && function_exists('gzencode') ) {
|
|
||||||
header('Content-Encoding: gzip');
|
header('Content-Encoding: gzip');
|
||||||
$out = gzencode( $out, 3 );
|
$out = gzencode( 'var wpCompressionTest = 1;', 3 );
|
||||||
$compressed = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ! $compressed )
|
if ( ! isset($out) )
|
||||||
exit('');
|
exit('');
|
||||||
|
|
||||||
header( 'Expires: Wed, 11 Jan 1984 05:00:00 GMT' );
|
header( 'Expires: Wed, 11 Jan 1984 05:00:00 GMT' );
|
||||||
@ -123,9 +118,6 @@ if ( empty($load) )
|
|||||||
require(ABSPATH . '/wp-includes/script-loader.php');
|
require(ABSPATH . '/wp-includes/script-loader.php');
|
||||||
require(ABSPATH . '/wp-includes/version.php');
|
require(ABSPATH . '/wp-includes/version.php');
|
||||||
|
|
||||||
// Discard any buffers
|
|
||||||
while ( @ob_end_clean() );
|
|
||||||
|
|
||||||
$compress = ( isset($_GET['c']) && 1 == $_GET['c'] );
|
$compress = ( isset($_GET['c']) && 1 == $_GET['c'] );
|
||||||
$expires_offset = 31536000;
|
$expires_offset = 31536000;
|
||||||
$out = '';
|
$out = '';
|
||||||
@ -142,15 +134,12 @@ foreach( $load as $handle ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
header('Content-Type: application/x-javascript; charset=UTF-8');
|
header('Content-Type: application/x-javascript; charset=UTF-8');
|
||||||
header('Vary: Accept-Encoding'); // Handle proxies
|
|
||||||
header('Expires: ' . gmdate( "D, d M Y H:i:s", time() + $expires_offset ) . ' GMT');
|
header('Expires: ' . gmdate( "D, d M Y H:i:s", time() + $expires_offset ) . ' GMT');
|
||||||
header("Cache-Control: public, max-age=$expires_offset");
|
header("Cache-Control: public, max-age=$expires_offset");
|
||||||
|
|
||||||
if ( $compress && ! ini_get('zlib.output_compression') ) {
|
if ( $compress && ! ini_get('zlib.output_compression') && function_exists('gzencode') ) {
|
||||||
if ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'deflate') && function_exists('gzdeflate') ) {
|
header('Vary: Accept-Encoding'); // Handle proxies
|
||||||
header('Content-Encoding: deflate');
|
if ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip') ) {
|
||||||
$out = gzdeflate( $out, 3 );
|
|
||||||
} elseif ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip') && function_exists('gzencode') ) {
|
|
||||||
header('Content-Encoding: gzip');
|
header('Content-Encoding: gzip');
|
||||||
$out = gzencode( $out, 3 );
|
$out = gzencode( $out, 3 );
|
||||||
}
|
}
|
||||||
|
@ -123,15 +123,12 @@ foreach( $load as $handle ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
header('Content-Type: text/css');
|
header('Content-Type: text/css');
|
||||||
header('Vary: Accept-Encoding'); // Handle proxies
|
|
||||||
header('Expires: ' . gmdate( "D, d M Y H:i:s", time() + $expires_offset ) . ' GMT');
|
header('Expires: ' . gmdate( "D, d M Y H:i:s", time() + $expires_offset ) . ' GMT');
|
||||||
header("Cache-Control: public, max-age=$expires_offset");
|
header("Cache-Control: public, max-age=$expires_offset");
|
||||||
|
|
||||||
if ( $compress && ! ini_get('zlib.output_compression') ) {
|
if ( $compress && ! ini_get('zlib.output_compression') && function_exists('gzencode') ) {
|
||||||
if ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'deflate') && function_exists('gzdeflate') ) {
|
header('Vary: Accept-Encoding'); // Handle proxies
|
||||||
header('Content-Encoding: deflate');
|
if ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip') ) {
|
||||||
$out = gzdeflate( $out, 3 );
|
|
||||||
} elseif ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip') && function_exists('gzencode') ) {
|
|
||||||
header('Content-Encoding: gzip');
|
header('Content-Encoding: gzip');
|
||||||
$out = gzencode( $out, 3 );
|
$out = gzencode( $out, 3 );
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
$basepath = dirname(__FILE__);
|
||||||
|
|
||||||
while ( @ob_end_clean() );
|
while ( @ob_end_clean() );
|
||||||
|
|
||||||
function get_file($path) {
|
function get_file($path) {
|
||||||
@ -22,8 +24,8 @@ header("Cache-Control: public, max-age=$expires_offset");
|
|||||||
|
|
||||||
if ( isset($_GET['c']) && 1 == $_GET['c'] && ! ini_get('zlib.output_compression') && false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip') ) {
|
if ( isset($_GET['c']) && 1 == $_GET['c'] && ! ini_get('zlib.output_compression') && false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip') ) {
|
||||||
header('Content-Encoding: gzip');
|
header('Content-Encoding: gzip');
|
||||||
echo get_file('wp-tinymce.js.gz');
|
echo get_file($basepath . '/wp-tinymce.js.gz');
|
||||||
} else {
|
} else {
|
||||||
echo get_file('wp-tinymce.js');
|
echo get_file($basepath . '/wp-tinymce.js');
|
||||||
}
|
}
|
||||||
exit;
|
exit;
|
||||||
|
@ -596,7 +596,7 @@ function _pring_scripts() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$ver = md5("$wp_scripts->concat" . "$wp_scripts->concat_version");
|
$ver = md5("$wp_scripts->concat" . "$wp_scripts->concat_version");
|
||||||
$src = $wp_scripts->base_url . "/wp-admin/load-scripts.php?c={$zip}&load=" . rtrim($wp_scripts->concat, ',') . "&ver=$ver";
|
$src = $wp_scripts->base_url . "/wp-admin/load-scripts.php?c={$zip}&load=" . rtrim($wp_scripts->concat, ',') . "&ver=$ver";
|
||||||
echo "<script type='text/javascript' src='$src'></script>\n";
|
echo "<script type='text/javascript' src='$src'></script>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -606,7 +606,7 @@ function _pring_scripts() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function wp_print_admin_styles() {
|
function wp_print_admin_styles() {
|
||||||
global $wp_styles, $concatenate_scripts, $compress_scripts;
|
global $wp_styles, $concatenate_scripts, $compress_css;
|
||||||
|
|
||||||
if ( !is_a($wp_styles, 'WP_Styles') )
|
if ( !is_a($wp_styles, 'WP_Styles') )
|
||||||
$wp_styles = new WP_Styles();
|
$wp_styles = new WP_Styles();
|
||||||
@ -615,7 +615,7 @@ function wp_print_admin_styles() {
|
|||||||
script_concat_settings();
|
script_concat_settings();
|
||||||
|
|
||||||
$wp_styles->do_concat = $concatenate_scripts;
|
$wp_styles->do_concat = $concatenate_scripts;
|
||||||
$zip = $compress_scripts ? 1 : 0;
|
$zip = $compress_css ? 1 : 0;
|
||||||
|
|
||||||
$wp_styles->do_items(false);
|
$wp_styles->do_items(false);
|
||||||
|
|
||||||
@ -623,7 +623,7 @@ function wp_print_admin_styles() {
|
|||||||
if ( !empty($wp_styles->concat) ) {
|
if ( !empty($wp_styles->concat) ) {
|
||||||
$ver = md5("$wp_styles->concat" . "$wp_styles->concat_version");
|
$ver = md5("$wp_styles->concat" . "$wp_styles->concat_version");
|
||||||
$rtl = 'rtl' === $wp_styles->text_direction ? 1 : 0;
|
$rtl = 'rtl' === $wp_styles->text_direction ? 1 : 0;
|
||||||
$href = $wp_styles->base_url . "/wp-admin/load-styles.php?c={$zip}&rtl={$rtl}&load=" . rtrim($wp_styles->concat, ',') . "&ver=$ver";
|
$href = $wp_styles->base_url . "/wp-admin/load-styles.php?c={$zip}&rtl={$rtl}&load=" . rtrim($wp_styles->concat, ',') . "&ver=$ver";
|
||||||
echo "<link rel='stylesheet' href='$href' type='text/css' media='all' />\n";
|
echo "<link rel='stylesheet' href='$href' type='text/css' media='all' />\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -637,7 +637,7 @@ function wp_print_admin_styles() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function script_concat_settings() {
|
function script_concat_settings() {
|
||||||
global $concatenate_scripts, $compress_scripts;
|
global $concatenate_scripts, $compress_scripts, $compress_css;
|
||||||
|
|
||||||
$concatenate_scripts = defined('CONCATENATE_SCRIPTS') ? CONCATENATE_SCRIPTS : true;
|
$concatenate_scripts = defined('CONCATENATE_SCRIPTS') ? CONCATENATE_SCRIPTS : true;
|
||||||
if ( $concatenate_scripts && -1 == get_option('concatenate_scripts') )
|
if ( $concatenate_scripts && -1 == get_option('concatenate_scripts') )
|
||||||
@ -646,6 +646,10 @@ function script_concat_settings() {
|
|||||||
$compress_scripts = defined('COMPRESS_SCRIPTS') ? COMPRESS_SCRIPTS : true;
|
$compress_scripts = defined('COMPRESS_SCRIPTS') ? COMPRESS_SCRIPTS : true;
|
||||||
if ( $compress_scripts && ! get_option('can_compress_scripts') )
|
if ( $compress_scripts && ! get_option('can_compress_scripts') )
|
||||||
$compress_scripts = false;
|
$compress_scripts = false;
|
||||||
|
|
||||||
|
$compress_css = defined('COMPRESS_CSS') ? COMPRESS_CSS : true;
|
||||||
|
if ( $compress_css && ! get_option('can_compress_scripts') )
|
||||||
|
$compress_css = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
add_action( 'wp_default_scripts', 'wp_default_scripts' );
|
add_action( 'wp_default_scripts', 'wp_default_scripts' );
|
||||||
|
Loading…
Reference in New Issue
Block a user