| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | <?php/** * @package dompdf * @link    http://dompdf.github.com/ * @author  Benj Carson <benjcarson@digitaljunkies.ca> * @author  Fabien Ménager <fabien.menager@gmail.com> * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License */ /** * DOMPDF autoload function * * If you have an existing autoload function, add a call to this function * from your existing __autoload() implementation. * * @param string $class */function DOMPDF_autoload($class) {  $filename = DOMPDF_INC_DIR . "/" . mb_strtolower($class) . ".cls.php";    if ( is_file($filename) ) {    include_once $filename;  }}// If SPL autoload functions are available (PHP >= 5.1.2)if ( function_exists("spl_autoload_register") ) {  $autoload = "DOMPDF_autoload";  $funcs = spl_autoload_functions();    // No functions currently in the stack.   if ( !DOMPDF_AUTOLOAD_PREPEND || $funcs === false ) {    spl_autoload_register($autoload);   }    // If PHP >= 5.3 the $prepend argument is available  else if ( PHP_VERSION_ID >= 50300 ) {    spl_autoload_register($autoload, true, true);   }    else {    // Unregister existing autoloaders...     $compat = (PHP_VERSION_ID <= 50102 && PHP_VERSION_ID >= 50100);                  foreach ($funcs as $func) {       if (is_array($func)) {         // :TRICKY: There are some compatibility issues and some         // places where we need to error out         $reflector = new ReflectionMethod($func[0], $func[1]);         if (!$reflector->isStatic()) {           throw new Exception('This function is not compatible with non-static object methods due to PHP Bug #44144.');         }                // Suprisingly, spl_autoload_register supports the         // Class::staticMethod callback format, although call_user_func doesn't         if ($compat) $func = implode('::', $func);       }            spl_autoload_unregister($func);     }        // Register the new one, thus putting it at the front of the stack...     spl_autoload_register($autoload);         // Now, go back and re-register all of our old ones.     foreach ($funcs as $func) {       spl_autoload_register($func);     }        // Be polite and ensure that userland autoload gets retained    if ( function_exists("__autoload") ) {      spl_autoload_register("__autoload");    }  }}else if ( !function_exists("__autoload") ) {  /**   * Default __autoload() function   *   * @param string $class   */  function __autoload($class) {    DOMPDF_autoload($class);  }}
 |