File: /home/bt667/public_html/wp-content/plugins/easy-digital-downloads/includes/compat-functions.php
<?php
/**
* Compat Functions
*
* @package EDD
* @subpackage Functions
* @copyright Copyright (c) 2018, Easy Digital Downloads, LLC
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
* @since 1.0
*/
// Exit if accessed directly
defined( 'ABSPATH' ) || exit;
if ( ! function_exists( 'cal_days_in_month' ) ) :
/**
* Fallback in case the calendar extension is not loaded in PHP
*
* Only supports Gregorian calendar
*/
function cal_days_in_month( $calendar, $month, $year ) {
return date( 't', mktime( 0, 0, 0, $month, 1, $year ) );
}
endif;
if ( ! function_exists( 'hash_equals' ) ) :
/**
* Compare two strings in constant time.
*
* This function was added in PHP 5.6.
* It can leak the length of a string.
*
* @since 2.2.1
*
* @param string $a Expected string.
* @param string $b Actual 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;
}
endif;
if ( ! function_exists( 'getallheaders' ) ) :
/**
* Retrieve all headers
*
* Ensure getallheaders function exists in the case we're using nginx
*
* @since 2.4
* @return array
*/
function getallheaders() {
$headers = array();
foreach ( $_SERVER as $name => $value ) {
if ( substr( $name, 0, 5 ) == 'HTTP_' ) {
$headers[ str_replace( ' ', '-', ucwords( strtolower( str_replace( '_', ' ', substr( $name, 5 ) ) ) ) ) ] = $value;
}
}
return $headers;
}
endif;