boot_complete = false; $lib_dir = dirname(__FILE__) . '/lib/'; // Load the bootstrapping library $path = $lib_dir . 'elgglib.php'; if (!include_once($path)) { echo "Could not load file '$path'. Please check your Elgg installation for all required files."; exit; } // Load the system settings if (!include_once(dirname(__FILE__) . "/settings.php")) { $msg = 'Elgg could not load the settings file. It does not exist or there is a file permissions issue.'; throw new InstallationException($msg); } // load the rest of the library files from engine/lib/ $lib_files = array( 'access.php', 'actions.php', 'admin.php', 'annotations.php', 'cache.php', 'calendar.php', 'configuration.php', 'cron.php', 'database.php', 'entities.php', 'export.php', 'extender.php', 'filestore.php', 'group.php', 'input.php', 'languages.php', 'location.php', 'mb_wrapper.php', 'memcache.php', 'metadata.php', 'metastrings.php', 'navigation.php', 'notification.php', 'objects.php', 'opendd.php', 'output.php', 'pagehandler.php', 'pageowner.php', 'pam.php', 'plugins.php', 'private_settings.php', 'relationships.php', 'river.php', 'sessions.php', 'sites.php', 'statistics.php', 'system_log.php', 'tags.php', 'user_settings.php', 'users.php', 'upgrade.php', 'views.php', 'web_services.php', 'widgets.php', 'xml.php', 'xml-rpc.php', // backward compatibility 'deprecated-1.7.php', 'deprecated-1.8.php', ); foreach ($lib_files as $file) { $file = $lib_dir . $file; elgg_log("Loading $file..."); if (!include_once($file)) { $msg = "Could not load $file"; throw new InstallationException($msg); } } // Connect to database, load language files, load configuration, init session // Plugins can't use this event because they haven't been loaded yet. elgg_trigger_event('boot', 'system'); // Load the plugins that are active elgg_load_plugins(); // @todo move loading plugins into a single boot function that replaces 'boot', 'system' event // and then move this code in there. // This validates the view type - first opportunity to do it is after plugins load. $view_type = elgg_get_viewtype(); if (!elgg_is_valid_view_type($view_type)) { elgg_set_viewtype('default'); } // @todo deprecate as plugins can use 'init', 'system' event elgg_trigger_event('plugins_boot', 'system'); // Complete the boot process for both engine and plugins elgg_trigger_event('init', 'system'); $CONFIG->boot_complete = true; // System loaded and ready elgg_trigger_event('ready', 'system');