PDF rausgenommen
This commit is contained in:
@ -0,0 +1,102 @@
|
||||
<?php
|
||||
/**
|
||||
* Class AMP_WP_Utils
|
||||
*
|
||||
* @package AMP
|
||||
*/
|
||||
|
||||
/**
|
||||
* Class with static WordPress utility methods.
|
||||
*
|
||||
* @since 0.5
|
||||
*
|
||||
* @deprecated 0.7 As WordPress 4.7 is our minimum supported version.
|
||||
*/
|
||||
class AMP_WP_Utils {
|
||||
/**
|
||||
* The core function wp_parse_url in < WordPress 4.7 does not respect the component arg. This helper lets us use it.
|
||||
*
|
||||
* Don't use.
|
||||
*
|
||||
* @deprecated 0.7 wp_parse_url() is now used instead.
|
||||
*
|
||||
* @param string $url The raw 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).
|
||||
* @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 string or - in the case of
|
||||
* PHP_URL_PORT - integer when it does. See parse_url()'s return values.
|
||||
*/
|
||||
public static function parse_url( $url, $component = -1 ) {
|
||||
_deprecated_function( __METHOD__, '0.7', 'wp_parse_url' );
|
||||
$parsed = wp_parse_url( $url, $component );
|
||||
|
||||
// Because < 4.7 always returned a full array regardless of component.
|
||||
if ( -1 !== $component && is_array( $parsed ) ) {
|
||||
return self::_get_component_from_parsed_url_array( $parsed, $component );
|
||||
}
|
||||
|
||||
return $parsed;
|
||||
}
|
||||
|
||||
/**
|
||||
* Included for 4.6 back-compat
|
||||
*
|
||||
* Copied from https://developer.wordpress.org/reference/functions/_get_component_from_parsed_url_array/
|
||||
*
|
||||
* @deprecated 0.7
|
||||
*
|
||||
* @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).
|
||||
* @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 string or - in the case of
|
||||
* PHP_URL_PORT - integer when it does. See parse_url()'s return values.
|
||||
*/
|
||||
protected static function _get_component_from_parsed_url_array( $url_parts, $component = -1 ) { // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore
|
||||
if ( -1 === $component ) {
|
||||
return $url_parts;
|
||||
}
|
||||
|
||||
$key = self::_wp_translate_php_url_constant_to_key( $component );
|
||||
if ( false !== $key && is_array( $url_parts ) && isset( $url_parts[ $key ] ) ) {
|
||||
return $url_parts[ $key ];
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Included for 4.6 back-compat
|
||||
*
|
||||
* Copied from https://developer.wordpress.org/reference/functions/_wp_translate_php_url_constant_to_key/
|
||||
*
|
||||
* @param int $constant The specific component to retrieve. Use one of the PHP
|
||||
* predefined constants to specify which one.
|
||||
* @return mixed False if component not found. string or integer if found.
|
||||
*
|
||||
* @deprecated 0.7
|
||||
*/
|
||||
protected static function _wp_translate_php_url_constant_to_key( $constant ) { // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore
|
||||
$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 ];
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user