From a2cfbdeb100324090ffe19d58aeb71c2def83ac8 Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Sat, 21 Jan 2012 10:44:47 -0500 Subject: cleans up the boot process --- engine/lib/elgglib.php | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'engine/lib/elgglib.php') diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index 38ae73d82..98e7af2a9 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -2055,6 +2055,33 @@ function elgg_walled_garden() { } } +/** + * Boots the engine + * + * 1. sets error handlers + * 2. connects to database + * 3. verifies the installation suceeded + * 4. loads application configuration + * 5. loads site configuration + * + * @access private + */ +function _elgg_engine_boot() { + // Register the error handlers + set_error_handler('_elgg_php_error_handler'); + set_exception_handler('_elgg_php_exception_handler'); + + register_translations(dirname(dirname(dirname(__FILE__))) . "/languages/"); + + setup_db_connections(); + + verify_installation(); + + _elgg_load_application_config(); + + _elgg_load_site_config(); +} + /** * Elgg's main init. * @@ -2178,6 +2205,7 @@ define('REFERRER', -1); define('REFERER', -1); elgg_register_event_handler('init', 'system', 'elgg_init'); +elgg_register_event_handler('boot', 'system', '_elgg_engine_boot', 1); elgg_register_plugin_hook_handler('unit_test', 'system', 'elgg_api_test'); elgg_register_event_handler('init', 'system', 'add_custom_menu_items', 1000); -- cgit v1.2.3