Revert 60864: "Use wfClientAcceptsGzip() in wfGzipHandler." Causes PHP Notice: Undefined index: HTTP_ACCEPT_ENCODING in GlobalFunctions.php on line 1175

This commit is contained in:
Siebrand Mazeland 2010-01-09 19:14:43 +00:00
parent 29e47fa366
commit 7c27e42fb8
3 changed files with 24 additions and 22 deletions

View file

@ -19,7 +19,6 @@ Those wishing to use the latest code instead of a branch release can obtain
it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
=== Configuration changes in 1.16 ===
* (bug 18222) $wgMinimalPasswordLength default is now 1
* $wgSessionHandler can be used to configure session.save_handler
* $wgLocalFileRepo/$wgForeignFileRepos now have a 'fileMode' parameter to
@ -82,12 +81,12 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
similarly to the category namespace.
* $wgEnableSorbs renamed to $wgDnsBlacklistUrls ($wgEnableSorbs kept for
backward compatibility)
* $wgUploadNavigationUrl now also affects images inline images that do not
exist. In that case the URL will get (?|&)wpDestFile=<filename> appended to
* $wgUploadNavigationUrl now also affects images inline images that do not
exist. In that case the URL will get (?|&)wpDestFile=<filename> appended to
it as appropriate.
* If $wgLocaltimezone is null, use the server's timezone as the default for
signatures. This was always the behaviour documented in DefaultSettings.php
but has not been the actual behaviour for some time: instead, UTC was used
but has not been the actual behaviour for some time: instead, UTC was used
by default.
@ -660,10 +659,10 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
only displayed to the users that have "editinterface" right
* (bug 21740) Attempting to protect a page that doesn't exist (salting) returns
"unknown error"
* (bug 18762) both redirects and links get fixed one after another if
* (bug 18762) both redirects and links get fixed one after another if
redirects-only switch is not present
* (bug 20159) thumbnails rerendered if older that $wgThumbnailEpoch
* Fixed a bug which in some situations causes the job queue to grow forever,
* Fixed a bug which in some situations causes the job queue to grow forever,
due to an infinite loop of job requeues.
* (bug 21523) File that can have multiple pages (djvu, pdf, ...) no longer have
the page selector when they have only one page
@ -694,8 +693,6 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
* (bug 2658) Don't attempt to set the TZ environment variable.
* (bug 9794) User rights log entries for foreign user now links to the foreign
user's page if possible
* (bug 22034) Use wfClientAcceptsGzip() in wfGzipHandler instead of
reimplementing it.
== API changes in 1.16 ==
@ -766,8 +763,8 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
* (bug 21441) meta=userinfo&uiprop=options no longer returns default options
for logged-in users under certain circumstances
* (bug 21945) Add chomp control in YAML
* Expand the thumburl to an absolute url to make it consistent with url and
descriptionurl
* Expand the thumburl to an absolute url to make it consistent with url and
descriptionurl
* (bug 20233) ApiLogin::execute() doesn't handle LoginForm :: RESET_PASS
=== Languages updated in 1.16 ===

View file

@ -1168,15 +1168,17 @@ function wfNumLink( $offset, $limit, $title, $query = '' ) {
*/
function wfClientAcceptsGzip() {
global $wgUseGzip;
# FIXME: we may want to blacklist some broken browsers
$m = array();
if( preg_match(
'/\bgzip(?:;(q)=([0-9]+(?:\.[0-9]+)))?\b/',
$_SERVER['HTTP_ACCEPT_ENCODING'],
$m ) ) {
if( isset( $m[2] ) && ( $m[1] == 'q' ) && ( $m[2] == 0 ) ) return false;
wfDebug( " accepts gzip\n" );
return true;
if( $wgUseGzip ) {
# FIXME: we may want to blacklist some broken browsers
$m = array();
if( preg_match(
'/\bgzip(?:;(q)=([0-9]+(?:\.[0-9]+)))?\b/',
$_SERVER['HTTP_ACCEPT_ENCODING'],
$m ) ) {
if( isset( $m[2] ) && ( $m[1] == 'q' ) && ( $m[2] == 0 ) ) return false;
wfDebug( " accepts gzip\n" );
return true;
}
}
return false;
}

View file

@ -74,9 +74,12 @@ function wfGzipHandler( $s ) {
return $s;
}
if( wfClientAcceptsGzip() ) {
header( 'Content-Encoding: gzip' );
$s = gzencode( $s, 6 );
if( isset( $_SERVER['HTTP_ACCEPT_ENCODING'] ) ) {
$tokens = preg_split( '/[,; ]/', $_SERVER['HTTP_ACCEPT_ENCODING'] );
if ( in_array( 'gzip', $tokens ) ) {
header( 'Content-Encoding: gzip' );
$s = gzencode( $s, 6 );
}
}
// Set vary header if it hasn't been set already