--- a/wp/wp-includes/compat.php Mon Oct 14 18:06:33 2019 +0200
+++ b/wp/wp-includes/compat.php Mon Oct 14 18:28:13 2019 +0200
@@ -7,8 +7,8 @@
*/
// If gettext isn't available
-if ( !function_exists('_') ) {
- function _($string) {
+if ( ! function_exists( '_' ) ) {
+ function _( $string ) {
return $string;
}
}
@@ -125,7 +125,7 @@
$chars = array_merge( $chars, $pieces );
- // If there's anything left over, repeat the loop.
+ // If there's anything left over, repeat the loop.
} while ( count( $pieces ) > 1 && $str = array_pop( $pieces ) );
return join( '', array_slice( $chars, $start, $length ) );
@@ -209,33 +209,33 @@
// Increment.
$count += count( $pieces );
- // If there's anything left over, repeat the loop.
+ // If there's anything left over, repeat the loop.
} while ( $str = array_pop( $pieces ) );
// Fencepost: preg_split() always returns one extra item in the array.
return --$count;
}
-if ( !function_exists('hash_hmac') ):
-/**
- * Compat function to mimic hash_hmac().
- *
- * @ignore
- * @since 3.2.0
- *
- * @see _hash_hmac()
- *
- * @param string $algo Hash algorithm. Accepts 'md5' or 'sha1'.
- * @param string $data Data to be hashed.
- * @param string $key Secret key to use for generating the hash.
- * @param bool $raw_output Optional. Whether to output raw binary data (true),
- * or lowercase hexits (false). Default false.
- * @return string|false The hash in output determined by `$raw_output`. False if `$algo`
- * is unknown or invalid.
- */
-function hash_hmac($algo, $data, $key, $raw_output = false) {
- return _hash_hmac($algo, $data, $key, $raw_output);
-}
+if ( ! function_exists( 'hash_hmac' ) ) :
+ /**
+ * Compat function to mimic hash_hmac().
+ *
+ * @ignore
+ * @since 3.2.0
+ *
+ * @see _hash_hmac()
+ *
+ * @param string $algo Hash algorithm. Accepts 'md5' or 'sha1'.
+ * @param string $data Data to be hashed.
+ * @param string $key Secret key to use for generating the hash.
+ * @param bool $raw_output Optional. Whether to output raw binary data (true),
+ * or lowercase hexits (false). Default false.
+ * @return string|false The hash in output determined by `$raw_output`. False if `$algo`
+ * is unknown or invalid.
+ */
+ function hash_hmac( $algo, $data, $key, $raw_output = false ) {
+ return _hash_hmac( $algo, $data, $key, $raw_output );
+ }
endif;
/**
@@ -252,30 +252,36 @@
* @return string|false The hash in output determined by `$raw_output`. False if `$algo`
* is unknown or invalid.
*/
-function _hash_hmac($algo, $data, $key, $raw_output = false) {
- $packs = array('md5' => 'H32', 'sha1' => 'H40');
+function _hash_hmac( $algo, $data, $key, $raw_output = false ) {
+ $packs = array(
+ 'md5' => 'H32',
+ 'sha1' => 'H40',
+ );
- if ( !isset($packs[$algo]) )
+ if ( ! isset( $packs[ $algo ] ) ) {
return false;
+ }
- $pack = $packs[$algo];
+ $pack = $packs[ $algo ];
- if (strlen($key) > 64)
- $key = pack($pack, $algo($key));
+ if ( strlen( $key ) > 64 ) {
+ $key = pack( $pack, $algo( $key ) );
+ }
- $key = str_pad($key, 64, chr(0));
+ $key = str_pad( $key, 64, chr( 0 ) );
- $ipad = (substr($key, 0, 64) ^ str_repeat(chr(0x36), 64));
- $opad = (substr($key, 0, 64) ^ str_repeat(chr(0x5C), 64));
+ $ipad = ( substr( $key, 0, 64 ) ^ str_repeat( chr( 0x36 ), 64 ) );
+ $opad = ( substr( $key, 0, 64 ) ^ str_repeat( chr( 0x5C ), 64 ) );
- $hmac = $algo($opad . pack($pack, $algo($ipad . $data)));
+ $hmac = $algo( $opad . pack( $pack, $algo( $ipad . $data ) ) );
- if ( $raw_output )
+ if ( $raw_output ) {
return pack( $pack, $hmac );
+ }
return $hmac;
}
-if ( !function_exists('json_encode') ) {
+if ( ! function_exists( 'json_encode' ) ) {
function json_encode( $string ) {
global $wp_json;
@@ -288,7 +294,7 @@
}
}
-if ( !function_exists('json_decode') ) {
+if ( ! function_exists( 'json_decode' ) ) {
/**
* @global Services_JSON $wp_json
* @param string $string
@@ -298,14 +304,15 @@
function json_decode( $string, $assoc_array = false ) {
global $wp_json;
- if ( ! ($wp_json instanceof Services_JSON ) ) {
+ if ( ! ( $wp_json instanceof Services_JSON ) ) {
require_once( ABSPATH . WPINC . '/class-json.php' );
$wp_json = new Services_JSON();
}
$res = $wp_json->decode( $string );
- if ( $assoc_array )
+ if ( $assoc_array ) {
$res = _json_decode_object_helper( $res );
+ }
return $res;
}
@@ -313,43 +320,44 @@
* @param object $data
* @return array
*/
- function _json_decode_object_helper($data) {
- if ( is_object($data) )
- $data = get_object_vars($data);
- return is_array($data) ? array_map(__FUNCTION__, $data) : $data;
+ function _json_decode_object_helper( $data ) {
+ if ( is_object( $data ) ) {
+ $data = get_object_vars( $data );
+ }
+ return is_array( $data ) ? array_map( __FUNCTION__, $data ) : $data;
}
}
if ( ! function_exists( 'hash_equals' ) ) :
-/**
- * Timing attack safe string comparison
- *
- * Compares two strings using the same time whether they're equal or not.
- *
- * This function was added in PHP 5.6.
- *
- * Note: It can leak the length of a string when arguments of differing length are supplied.
- *
- * @since 3.9.2
- *
- * @param string $a Expected string.
- * @param string $b Actual, user supplied, string.
- * @return bool Whether strings are equal.
- */
-function hash_equals( $a, $b ) {
- $a_length = strlen( $a );
- if ( $a_length !== strlen( $b ) ) {
- return false;
+ /**
+ * Timing attack safe string comparison
+ *
+ * Compares two strings using the same time whether they're equal or not.
+ *
+ * This function was added in PHP 5.6.
+ *
+ * Note: It can leak the length of a string when arguments of differing length are supplied.
+ *
+ * @since 3.9.2
+ *
+ * @param string $a Expected string.
+ * @param string $b Actual, user supplied, string.
+ * @return bool Whether strings are equal.
+ */
+ function hash_equals( $a, $b ) {
+ $a_length = strlen( $a );
+ if ( $a_length !== strlen( $b ) ) {
+ return false;
+ }
+ $result = 0;
+
+ // Do not attempt to "optimize" this.
+ for ( $i = 0; $i < $a_length; $i++ ) {
+ $result |= ord( $a[ $i ] ) ^ ord( $b[ $i ] );
+ }
+
+ return $result === 0;
}
- $result = 0;
-
- // Do not attempt to "optimize" this.
- for ( $i = 0; $i < $a_length; $i++ ) {
- $result |= ord( $a[ $i ] ) ^ ord( $b[ $i ] );
- }
-
- return $result === 0;
-}
endif;
// JSON_PRETTY_PRINT was introduced in PHP 5.4
@@ -434,6 +442,10 @@
if ( ! function_exists( 'random_int' ) ) {
require ABSPATH . WPINC . '/random_compat/random.php';
}
+// sodium_crypto_box was introduced in PHP 7.2
+if ( ! function_exists( 'sodium_crypto_box' ) ) {
+ require ABSPATH . WPINC . '/sodium_compat/autoload.php';
+}
if ( ! function_exists( 'array_replace_recursive' ) ) :
/**
@@ -472,9 +484,9 @@
foreach ( array_keys( $head ) as $key ) {
if ( isset( $key, $bref ) &&
- isset( $bref[ $key ] ) && is_array( $bref[ $key ] ) &&
- isset( $head[ $key ] ) && is_array( $head[ $key ] )
- ) {
+ isset( $bref[ $key ] ) && is_array( $bref[ $key ] ) &&
+ isset( $head[ $key ] ) && is_array( $head[ $key ] ) ) {
+
$bref_stack[] = &$bref[ $key ];
$head_stack[] = $head[ $key ];
} else {