diff options
-rw-r--r-- | engine/lib/elgglib.php | 2 | ||||
-rw-r--r-- | engine/start.php | 120 |
2 files changed, 28 insertions, 94 deletions
diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index 258bf0be6..0c1bbd83e 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -2979,4 +2979,4 @@ register_elgg_event_handler('init', 'system', 'elgg_init'); register_elgg_event_handler('boot', 'system', 'elgg_boot', 1000); register_plugin_hook('unit_test', 'system', 'elgg_api_test'); -register_elgg_event_handler('pagesetup', 'system', 'ui_page_setup', 1000);
\ No newline at end of file +//register_elgg_event_handler('pagesetup', 'system', 'ui_page_setup', 1000);
\ No newline at end of file diff --git a/engine/start.php b/engine/start.php index ff14b378b..770d2869a 100644 --- a/engine/start.php +++ b/engine/start.php @@ -23,62 +23,23 @@ if (!isset($CONFIG)) { $CONFIG = new stdClass; } -/** - * Load important prerequisites - */ - -if (!include_once(dirname(__FILE__) . "/lib/exceptions.php")) { // Exceptions - echo "Error in installation: could not load the Exceptions library."; - exit; -} - -if (!include_once(dirname(__FILE__) . "/lib/elgglib.php")) { // Main Elgg library - echo "Elgg could not load its main library."; - exit; -} - -if (!include_once(dirname(__FILE__) . "/lib/access.php")) { // Access library - echo "Error in installation: could not load the Access library."; - exit; -} - -if (!include_once(dirname(__FILE__) . "/lib/system_log.php")) { // Logging library - echo "Error in installation: could not load the System Log library."; - exit; -} - -if (!include_once(dirname(__FILE__) . "/lib/export.php")) { // Export library - echo "Error in installation: could not load the Export library."; - exit; -} - -if (!include_once(dirname(__FILE__) . "/lib/sessions.php")) { - echo ("Error in installation: Elgg could not load the Sessions library"); - exit; -} - -if (!include_once(dirname(__FILE__) . "/lib/languages.php")) { // Languages library - echo "Error in installation: could not load the languages library."; - exit; -} - -if (!include_once(dirname(__FILE__) . "/lib/input.php")) { // Input library - echo "Error in installation: could not load the input library."; - exit; -} - -if (!include_once(dirname(__FILE__) . "/lib/install.php")) { // Installation library - echo "Error in installation: could not load the installation library."; - exit; -} - -if (!include_once(dirname(__FILE__) . "/lib/cache.php")) { // Installation library - echo "Error in installation: could not load the cache library."; - exit; +$lib_dir = dirname(__FILE__) . '/lib/'; + +// bootstrapping with required files in a required order +$required_files = array( + 'exceptions.php', 'elgglib.php', 'access.php', 'system_log.php', 'export.php', + 'sessions.php', 'languages.php', 'input.php', 'install.php', 'cache.php', +); + +foreach ($required_files as $file) { + $path = $lib_dir . $file; + if (!include($path)) { + echo "Could not load file '$path'. " + . 'Please check your Elgg installation for all required files.'; + exit; + } } - - // Use fallback view until sanitised $oldview = get_input('view'); set_input('view', 'failsafe'); @@ -88,46 +49,18 @@ set_input('view', 'failsafe'); */ $lightmode = false; -/** - * Establish handlers - */ - // Register the error handler set_error_handler('__elgg_php_error_handler'); set_exception_handler('__elgg_php_exception_handler'); -/** - * If there are basic issues with the way the installation is formed, don't bother trying - * to load any more files - */ -// Begin portion for sanitised installs only +// attempt to save settings.php and .htaccess if in installation. if ($sanitised = sanitised()) { - /** - * Load the system settings - */ - if (!include_once(dirname(__FILE__) . "/settings.php")) { - throw new InstallationException("Elgg could not load the settings file."); - } - /** - * Load and initialise the database - */ - if (!include_once(dirname(__FILE__) . "/lib/database.php")) { - throw new InstallationException("Elgg could not load the main Elgg database library."); - } - - if (!include_once(dirname(__FILE__) . "/lib/actions.php")) { - throw new InstallationException("Elgg could not load the Actions library"); - } - - // Get config - global $CONFIG; - - // load the rest of the library files from engine/lib/ + // load library files $lib_files = array( - 'activity.php', 'admin.php', 'annotations.php', 'api.php', + 'actions.php', 'activity.php', 'admin.php', 'annotations.php', 'api.php', 'cache.php', 'calendar.php', 'configuration.php', 'cron.php', - 'entities.php', 'export.php', 'extender.php', 'filestore.php', + 'entities.php', 'export.php', 'extender.php', 'database.php', 'filestore.php', 'group.php', 'input.php', 'install.php', 'location.php', 'mb_wrapper.php', 'memcache.php', 'metadata.php', 'metastrings.php', 'notification.php', 'objects.php', 'opendd.php', 'pagehandler.php', 'pageowner.php', 'pam.php', @@ -137,9 +70,6 @@ if ($sanitised = sanitised()) { 'xml-rpc.php' ); - $lib_dir = dirname(__FILE__) . '/lib/'; - - // Include them foreach($lib_files as $file) { $file = $lib_dir . $file; elgg_log("Loading $file..."); @@ -147,7 +77,12 @@ if ($sanitised = sanitised()) { throw new InstallationException("Could not load {$file}"); } } -} else { // End portion for sanitised installs only + + // Load system settings + if (!include_once(dirname(__FILE__) . "/settings.php")) { + throw new InstallationException("Elgg could not load the settings file."); + } +} else { throw new InstallationException(elgg_echo('installation:error:configuration')); } @@ -177,8 +112,8 @@ if (($installed) && ($db_installed) && ($sanitised) && (!$lightmode)) { // Forward if we haven't been installed if ((!$installed || !$db_installed) && !substr_count($_SERVER["PHP_SELF"], "install.php") - && !substr_count($_SERVER["PHP_SELF"],"css.php") - && !substr_count($_SERVER["PHP_SELF"],"action_handler.php")) { + && !substr_count($_SERVER["PHP_SELF"], "css.php") + && !substr_count($_SERVER["PHP_SELF"], "action_handler.php")) { header("Location: install.php"); exit; @@ -190,7 +125,6 @@ if (!substr_count($_SERVER["PHP_SELF"],"install.php") && !$lightmode && !(defined('upgrading') && upgrading == 'upgrading')) { - trigger_elgg_event('init', 'system'); } |