Autoload: Introduce shim for SPL autoloading.

For PHP 5.2, SPL can be disabled. As SPL provides the support for multiple autoloaders, this needs to be shimmed if not available.

Fixes #36926.


git-svn-id: https://develop.svn.wordpress.org/trunk@37636 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Ryan McCue
2016-06-06 03:23:38 +00:00
parent 5259f34578
commit e6092b8b07
2 changed files with 85 additions and 29 deletions

View File

@@ -29,35 +29,10 @@ function wp_simplepie_autoload( $class ) {
include( $file );
}
if ( function_exists( 'spl_autoload_register' ) ) {
/**
* We autoload classes we may not need.
*
* If SPL is disabled, we load all of SimplePie manually.
*
* Core.php is not loaded manually, because SimplePie_Core (a deprecated class)
* was never included in WordPress core.
*/
spl_autoload_register( 'wp_simplepie_autoload' );
} else {
require ABSPATH . WPINC . '/SimplePie/Cache/Base.php';
require ABSPATH . WPINC . '/SimplePie/Cache/DB.php';
require ABSPATH . WPINC . '/SimplePie/Cache/File.php';
require ABSPATH . WPINC . '/SimplePie/Cache/Memcache.php';
require ABSPATH . WPINC . '/SimplePie/Cache/MySQL.php';
require ABSPATH . WPINC . '/SimplePie/Caption.php';
require ABSPATH . WPINC . '/SimplePie/Category.php';
require ABSPATH . WPINC . '/SimplePie/Copyright.php';
require ABSPATH . WPINC . '/SimplePie/Credit.php';
require ABSPATH . WPINC . '/SimplePie/Decode/HTML/Entities.php';
require ABSPATH . WPINC . '/SimplePie/Enclosure.php';
require ABSPATH . WPINC . '/SimplePie/gzdecode.php';
require ABSPATH . WPINC . '/SimplePie/HTTP/Parser.php';
require ABSPATH . WPINC . '/SimplePie/Net/IPv6.php';
require ABSPATH . WPINC . '/SimplePie/Rating.php';
require ABSPATH . WPINC . '/SimplePie/Restriction.php';
require ABSPATH . WPINC . '/SimplePie/Source.php';
}
/**
* We autoload classes we may not need.
*/
spl_autoload_register( 'wp_simplepie_autoload' );
/**
* SimplePie