From 2819e203902392e229564e734194c5c8f8e26db5 Mon Sep 17 00:00:00 2001 From: cash Date: Sun, 17 Oct 2010 13:00:16 +0000 Subject: Fixes #2563 - setup autoload in elgglib.php so exceptions and other classes are available as soon as possible git-svn-id: http://code.elgg.org/elgg/trunk@7091 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/elgglib.php | 79 +++++++++++++++++++++++++++++++++----------------- engine/lib/input.php | 23 --------------- engine/start.php | 4 --- 3 files changed, 53 insertions(+), 53 deletions(-) diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index 675c0143e..8ff0a24a5 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -8,6 +8,36 @@ * puposes and subsystems. Many of them should be moved to more relevant files. */ +// prep core classes to be autoloadable +spl_autoload_register('__elgg_autoload'); +elgg_register_classes(dirname(dirname(__FILE__)) . '/classes'); + +function __elgg_autoload($class) { + global $CONFIG; + + if (!include($CONFIG->classes[$class])) { + throw new Exception("Failed to autoload $class"); + } +} + +function elgg_register_classes($dir) { + $classes = elgg_get_file_list($dir, array(), array(), array('.php')); + + foreach ($classes as $class) { + elgg_register_class(basename($class, '.php'), $class); + } +} + +function elgg_register_class($class, $location) { + global $CONFIG; + + if (!isset($CONFIG->classes)) { + $CONFIG->classes = array(); + } + + $CONFIG->classes[$class] = $location; +} + /** * Forward to $location. * @@ -583,6 +613,29 @@ function elgg_get_file_list($directory, $exceptions = array(), $list = array(), return $list; } +/** + * Sanitise file paths ensuring that they begin and end with slashes etc. + * + * @param string $path The path + * @return string + */ +function sanitise_filepath($path, $append_slash = TRUE) { + // Convert to correct UNIX paths + $path = str_replace('\\', '/', $path); + $path = str_replace('../', '/', $path); + + // Sort trailing slash + $path = trim($path); + // rtrim defaults plus / + $path = rtrim($path, " \n\t\0\x0B/"); + + if ($append_slash) { + $path = $path . '/'; + } + + return $path; +} + /** * Adds an entry in $CONFIG[$register_name][$subregister_name]. * @@ -2200,32 +2253,6 @@ function js_page_handler($page) { } } -function __elgg_autoload($class) { - global $CONFIG; - - if (!include($CONFIG->classes[$class])) { - throw new Exception("Failed to autoload $class"); - } -} - -function elgg_register_classes($dir) { - $classes = elgg_get_file_list($dir, array(), array(), array('.php')); - - foreach ($classes as $class) { - elgg_register_class(basename($class, '.php'), $class); - } -} - -function elgg_register_class($class, $location) { - global $CONFIG; - - if (!isset($CONFIG->classes)) { - $CONFIG->classes = array(); - } - - $CONFIG->classes[$class] = $location; -} - /** * Emits a shutdown:system event upon PHP shutdown, but before database connections are dropped. * diff --git a/engine/lib/input.php b/engine/lib/input.php index 324b0cec4..fe481b24b 100644 --- a/engine/lib/input.php +++ b/engine/lib/input.php @@ -83,29 +83,6 @@ function filter_tags($var) { return trigger_plugin_hook('validate', 'input', null, $var); } -/** - * Sanitise file paths for input, ensuring that they begin and end with slashes etc. - * - * @param string $path The path - * @return string - */ -function sanitise_filepath($path, $append_slash = TRUE) { - // Convert to correct UNIX paths - $path = str_replace('\\', '/', $path); - $path = str_replace('../', '/', $path); - - // Sort trailing slash - $path = trim($path); - // rtrim defaults plus / - $path = rtrim($path, " \n\t\0\x0B/"); - - if ($append_slash) { - $path = $path . '/'; - } - - return $path; -} - /** * Validates an email address. * diff --git a/engine/start.php b/engine/start.php index e0711e285..35c382a5f 100644 --- a/engine/start.php +++ b/engine/start.php @@ -112,10 +112,6 @@ foreach($lib_files as $file) { } } -// prep core classes to be autoloadable -spl_autoload_register('__elgg_autoload'); -elgg_register_classes(dirname(__FILE__).'/classes'); - // confirm that the installation completed successfully verify_installation(); -- cgit v1.2.3