AutorÃa | Ultima modificación | Ver Log |
<?php/*** SimplePie** A PHP-Based RSS and Atom Feed Framework.* Takes the hard work out of managing a complete RSS/Atom solution.** Copyright (c) 2004-2022, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors* All rights reserved.** Redistribution and use in source and binary forms, with or without modification, are* permitted provided that the following conditions are met:** * Redistributions of source code must retain the above copyright notice, this list of* conditions and the following disclaimer.** * Redistributions in binary form must reproduce the above copyright notice, this list* of conditions and the following disclaimer in the documentation and/or other materials* provided with the distribution.** * Neither the name of the SimplePie Team nor the names of its contributors may be used* to endorse or promote products derived from this software without specific prior* written permission.** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS* AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE* POSSIBILITY OF SUCH DAMAGE.** @package SimplePie* @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue* @author Ryan Parman* @author Sam Sneddon* @author Ryan McCue* @link http://simplepie.org/ SimplePie* @license http://www.opensource.org/licenses/bsd-license.php BSD License*//*** PSR-4 implementation for SimplePie.** After registering this autoload function with SPL, the following line* would cause the function to attempt to load the \SimplePie\SimplePie class* from /src/SimplePie.php:** new \SimplePie\SimplePie();** @param string $class The fully-qualified class name.* @return void*/spl_autoload_register(function ($class) {// project-specific namespace prefix$prefix = 'SimplePie\\';// base directory for the namespace prefix$base_dir = __DIR__ . '/src/';// does the class use the namespace prefix?$len = strlen($prefix);if (strncmp($prefix, $class, $len) !== 0) {// no, move to the next registered autoloaderreturn;}// get the relative class name$relative_class = substr($class, $len);// replace the namespace prefix with the base directory, replace namespace// separators with directory separators in the relative class name, append// with .php$file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';// if the file exists, require itif (file_exists($file)) {require $file;}});// autoloaderspl_autoload_register(array(new SimplePie_Autoloader(), 'autoload'));if (!class_exists('SimplePie')){trigger_error('Autoloader not registered properly', E_USER_ERROR);}/*** Autoloader class** @package SimplePie* @subpackage API*/class SimplePie_Autoloader{protected $path;/*** Constructor*/public function __construct(){$this->path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'library';}/*** Autoloader** @param string $class The name of the class to attempt to load.*/public function autoload($class){// Only load the class if it starts with "SimplePie"if (strpos($class, 'SimplePie') !== 0){return;}$filename = $this->path . DIRECTORY_SEPARATOR . str_replace('_', DIRECTORY_SEPARATOR, $class) . '.php';include $filename;}}