Skip to content

Commit

Permalink
Merge pull request #364 from wp-media/branch-2.9.8
Browse files Browse the repository at this point in the history
2.9.8
  • Loading branch information
GeekPress authored Mar 2, 2017
2 parents 514d6a4 + e242354 commit d3b23cd
Show file tree
Hide file tree
Showing 7 changed files with 142 additions and 16 deletions.
2 changes: 1 addition & 1 deletion inc/admin/options.php
Original file line number Diff line number Diff line change
Expand Up @@ -954,7 +954,7 @@ function rocket_settings_callback( $inputs ) {
$checked = rocket_check_key();
}

if ( is_array( $checked ) ) {
if ( isset( $checked ) && is_array( $checked ) ) {
$inputs['consumer_key'] = $checked['consumer_key'];
$inputs['consumer_email'] = $checked['consumer_email'];
$inputs['secret_key'] = $checked['secret_key'];
Expand Down
129 changes: 128 additions & 1 deletion inc/compat.php
Original file line number Diff line number Diff line change
Expand Up @@ -87,4 +87,131 @@ function apply_filters_deprecated( $tag, $args, $version, $replacement = false,

return apply_filters_ref_array( $tag, $args );
}
}
}


/**
* Copied from core for compatibility with WP < 4.4
* A wrapper for PHP's parse_url() function that handles consistency in the return
* values across PHP versions.
*
* PHP 5.4.7 expanded parse_url()'s ability to handle non-absolute url's, including
* schemeless and relative url's with :// in the path. This function works around
* those limitations providing a standard output on PHP 5.2~5.4+.
*
* Secondly, across various PHP versions, schemeless URLs starting containing a ":"
* in the query are being handled inconsistently. This function works around those
* differences as well.
*
* Error suppression is used as prior to PHP 5.3.3, an E_WARNING would be generated
* when URL parsing failed.
*
* @since 4.4.0
* @since 4.7.0 The $component parameter was added for parity with PHP's parse_url().
*
* @param string $url The URL to parse.
* @param int $component The specific component to retrieve. Use one of the PHP
* predefined constants to specify which one.
* Defaults to -1 (= return all parts as an array).
* @see http://php.net/manual/en/function.parse-url.php
* @return mixed False on parse failure; Array of URL components on success;
* When a specific component has been requested: null if the component
* doesn't exist in the given URL; a sting or - in the case of
* PHP_URL_PORT - integer when it does. See parse_url()'s return values.
*/
if ( ! function_exists( 'wp_parse_url' ) ) {
function wp_parse_url( $url, $component = -1 ) {
$to_unset = array();
$url = strval( $url );

if ( '//' === substr( $url, 0, 2 ) ) {
$to_unset[] = 'scheme';
$url = 'placeholder:' . $url;
} elseif ( '/' === substr( $url, 0, 1 ) ) {
$to_unset[] = 'scheme';
$to_unset[] = 'host';
$url = 'placeholder://placeholder' . $url;
}

$parts = @parse_url( $url );

if ( false === $parts ) {
// Parsing failure.
return $parts;
}

// Remove the placeholder values.
foreach ( $to_unset as $key ) {
unset( $parts[ $key ] );
}

return _get_component_from_parsed_url_array( $parts, $component );
}
}

/**
* Copied from core for compatibility with WP < 4.7
* Retrieve a specific component from a parsed URL array.
*
* @internal
*
* @since 4.7.0
*
* @param array|false $url_parts The parsed URL. Can be false if the URL failed to parse.
* @param int $component The specific component to retrieve. Use one of the PHP
* predefined constants to specify which one.
* Defaults to -1 (= return all parts as an array).
* @see http://php.net/manual/en/function.parse-url.php
* @return mixed False on parse failure; Array of URL components on success;
* When a specific component has been requested: null if the component
* doesn't exist in the given URL; a sting or - in the case of
* PHP_URL_PORT - integer when it does. See parse_url()'s return values.
*/
if ( ! function_exists( '_get_component_from_parsed_url_array') ) {
function _get_component_from_parsed_url_array( $url_parts, $component = -1 ) {
if ( -1 === $component ) {
return $url_parts;
}

$key = _wp_translate_php_url_constant_to_key( $component );
if ( false !== $key && is_array( $url_parts ) && isset( $url_parts[ $key ] ) ) {
return $url_parts[ $key ];
} else {
return null;
}
}
}

/**
* Copied from core for compatibility with WP < 4.7
* Translate a PHP_URL_* constant to the named array keys PHP uses.
*
* @internal
*
* @since 4.7.0
*
* @see http://php.net/manual/en/url.constants.php
*
* @param int $constant PHP_URL_* constant.
* @return string|bool The named key or false.
*/
if ( ! function_exists( '_wp_translate_php_url_constant_to_key') ) {
function _wp_translate_php_url_constant_to_key( $constant ) {
$translation = array(
PHP_URL_SCHEME => 'scheme',
PHP_URL_HOST => 'host',
PHP_URL_PORT => 'port',
PHP_URL_USER => 'user',
PHP_URL_PASS => 'pass',
PHP_URL_PATH => 'path',
PHP_URL_QUERY => 'query',
PHP_URL_FRAGMENT => 'fragment',
);

if ( isset( $translation[ $constant ] ) ) {
return $translation[ $constant ];
} else {
return false;
}
}
}
4 changes: 4 additions & 0 deletions inc/front/cdn.php
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,10 @@ function rocket_cdn_images( $html ) {

list( $host, $path, $scheme, $query ) = get_rocket_parse_url( $image_url );

if ( empty( trim( $path ) ) || '{href}' === $path ) {
continue;
}

if ( isset( $cnames[ $host ] ) ) {
continue;
}
Expand Down
4 changes: 2 additions & 2 deletions inc/front/process.php
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@
}

// Don't cache page with these user agents
if ( isset( $rocket_cache_reject_ua, $_SERVER['HTTP_USER_AGENT'] ) && preg_match( '#(' . $rocket_cache_reject_ua . ')#', $_SERVER['HTTP_USER_AGENT'] ) ) {
if ( isset( $rocket_cache_reject_ua, $_SERVER['HTTP_USER_AGENT'] ) && ! empty( trim( $rocket_cache_reject_ua ) ) && preg_match( '#(' . $rocket_cache_reject_ua . ')#', $_SERVER['HTTP_USER_AGENT'] ) ) {
rocket_define_donotminify_constants( true );
return;
}
Expand Down Expand Up @@ -410,4 +410,4 @@ function rocket_get_ip() {
}

return '0.0.0.0';
}
}
4 changes: 2 additions & 2 deletions inc/functions/formatting.php
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ function get_rocket_parse_url( $url ) {
return;
}

$url = parse_url( $url );
$url = wp_parse_url( $url );
$host = isset( $url['host'] ) ? strtolower( $url['host'] ) : '';
$path = isset( $url['path'] ) ? $url['path'] : '';
$scheme = isset( $url['scheme'] ) ? $url['scheme'] : '';
Expand Down Expand Up @@ -206,4 +206,4 @@ function rocket_get_cache_busting_paths( $filename, $extension ) {
'filepath' => $cache_busting_filepath,
'url' => $cache_busting_url
);
}
}
11 changes: 3 additions & 8 deletions min/.htaccess
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
<FilesMatch "index.php">
<IfModule !mod_authz_core.c>
Allow from all
</IfModule>
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</FilesMatch>
<Files index.php>
Allow from all
</Files>

<IfModule mod_rewrite.c>
RewriteEngine on
Expand Down
4 changes: 2 additions & 2 deletions wp-rocket.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Plugin Name: WP Rocket
Plugin URI: https://wp-rocket.me
Description: The best WordPress performance plugin.
Version: 2.9.7
Version: 2.9.8
Code Name: Iridonia
Author: WP Media
Contributors: Jonathan Buttigieg, Julio Potier, Remy Perona
Expand All @@ -19,7 +19,7 @@
defined( 'ABSPATH' ) or die( 'Cheatin&#8217; uh?' );

// Rocket defines
define( 'WP_ROCKET_VERSION' , '2.9.7' );
define( 'WP_ROCKET_VERSION' , '2.9.8' );
define( 'WP_ROCKET_PRIVATE_KEY' , false );
define( 'WP_ROCKET_SLUG' , 'wp_rocket_settings' );
define( 'WP_ROCKET_WEB_MAIN' , false );
Expand Down

0 comments on commit d3b23cd

Please sign in to comment.