4 if (!defined(
'HTMLPURIFIER_PREFIX')) {
 
    5     define(
'HTMLPURIFIER_PREFIX', realpath(dirname(__FILE__) . 
'/..'));
 
   10 if (!defined(
'PHP_EOL')) {
 
   11     switch (strtoupper(substr(PHP_OS, 0, 3))) {
 
   13             define(
'PHP_EOL', 
"\r\n");
 
   16             define(
'PHP_EOL', 
"\r");
 
   19             define(
'PHP_EOL', 
"\n");
 
   39         if (!
$file) 
return false;
 
   45         require_once HTMLPURIFIER_PREFIX . 
'/' . 
$file;
 
   53         if (strncmp(
'HTMLPurifier', $class, 12) !== 0) 
return false;
 
   55         if (strncmp(
'HTMLPurifier_Language_', $class, 22) === 0) {
 
   56             $code = str_replace(
'_', 
'-', substr($class, 22));
 
   57             $file = 
'HTMLPurifier/Language/classes/' . $code . 
'.php';
 
   59             $file = str_replace(
'_', 
'/', $class) . 
'.php';
 
   61         if (!file_exists(HTMLPURIFIER_PREFIX . 
'/' . 
$file)) 
return false;
 
   69         $autoload = array(
'HTMLPurifier_Bootstrap', 
'autoload');
 
   70         if ( ($funcs = spl_autoload_functions()) === 
false ) {
 
   71             spl_autoload_register($autoload);
 
   72         } elseif (function_exists(
'spl_autoload_unregister')) {
 
   73             $buggy  = version_compare(PHP_VERSION, 
'5.2.11', 
'<');
 
   74             $compat = version_compare(PHP_VERSION, 
'5.1.2', 
'<=') &&
 
   75                       version_compare(PHP_VERSION, 
'5.1.0', 
'>=');
 
   76             foreach ($funcs as $func) {
 
   77                 if ($buggy && is_array($func)) {
 
   80                     $reflector = 
new ReflectionMethod($func[0], $func[1]);
 
   81                     if (!$reflector->isStatic()) {
 
   83                             HTML Purifier autoloader registrar is not compatible 
   84                             with non-static object methods due to PHP Bug #44144; 
   85                             Please do not use HTMLPurifier.autoload.php (or any 
   86                             file that includes this file); instead, place the code: 
   87                             spl_autoload_register(array(\'HTMLPurifier_Bootstrap\', \'autoload\')) 
   88                             after your own autoloaders. 
   93                     if (
$compat) $func = implode(
'::', $func);
 
   95                 spl_autoload_unregister($func);
 
   97             spl_autoload_register($autoload);
 
   98             foreach ($funcs as $func) spl_autoload_register($func);