diff options
Diffstat (limited to 'engine/start.php')
-rw-r--r-- | engine/start.php | 432 |
1 files changed, 216 insertions, 216 deletions
diff --git a/engine/start.php b/engine/start.php index c387e2fce..23a04cb60 100644 --- a/engine/start.php +++ b/engine/start.php @@ -1,219 +1,219 @@ -<?php
-
- /**
- * Elgg engine bootstrapper
- * Loads the various elements of the Elgg engine
- *
- * @package Elgg
- * @subpackage Core
+<?php - * @author Curverider Ltd
+ /** + * Elgg engine bootstrapper + * Loads the various elements of the Elgg engine + * + * @package Elgg + * @subpackage Core - * @link http://elgg.org/
- */
-
- /*
- * Basic profiling
- */
- global $START_MICROTIME;
- $START_MICROTIME = microtime(true);
-
- /**
- * 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;
- }
-
-
-
- // Use fallback view until sanitised
- $oldview = get_input('view');
- set_input('view', 'failsafe');
-
- /**
- * Set light mode default
- */
- $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
- */
-
- if ($sanitised = sanitised()) { // Begin portion for sanitised installs only
-
- /**
- * Load the system settings
- */
-
- if (!include_once(dirname(__FILE__) . "/settings.php")) // Global settings
- throw new InstallationException("Elgg could not load the settings file.");
-
- /**
- * Load and initialise the database
- */
-
- if (!include_once(dirname(__FILE__) . "/lib/database.php")) // Database connection
- throw new InstallationException("Elgg could not load the main Elgg database library.");
-
- /**
- * Load the remaining libraries from /lib/ in alphabetical order,
- * except for a few exceptions
- */
-
- if (!include_once(dirname(__FILE__) . "/lib/actions.php")) {
- throw new InstallationException("Elgg could not load the Actions library");
- }
-
-
-
- // We don't want to load or reload these files
-
- $file_exceptions = array(
- '.','..',
- '.DS_Store',
- 'Thumbs.db',
- '.svn',
- 'CVS','cvs',
- 'settings.php','settings.example.php','languages.php','exceptions.php','elgglib.php','access.php','database.php','actions.php','sessions.php'
- );
-
- // Get the list of files to include, and alphabetically sort them
-
- $files = get_library_files(dirname(__FILE__) . "/lib",$file_exceptions);
- asort($files);
-
- // Get config
- global $CONFIG;
-
- // Include them
- foreach($files as $file) {
- if (isset($CONFIG->debug) && $CONFIG->debug) error_log("Loading $file...");
- if (!include_once($file))
- throw new InstallationException("Could not load {$file}");
- }
-
- } else { // End portion for sanitised installs only
-
- throw new InstallationException(elgg_echo('installation:error:configuration'));
-
- }
-
- // Autodetect some default configuration settings
- set_default_config();
-
- // Trigger events
- trigger_elgg_event('boot', 'system');
-
- // Load plugins
-
- $installed = is_installed();
- $db_installed = is_db_installed();
-
- // Determine light mode
- $lm = strtolower(get_input('lightmode'));
- if ($lm == 'true') $lightmode = true;
-
- // Load plugins, if we're not in light mode
- if (($installed) && ($db_installed) && ($sanitised) && (!$lightmode)) {
- load_plugins();
-
- trigger_elgg_event('plugins_boot', 'system');
- }
-
- // 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")) {
- header("Location: install.php");
- exit;
- }
-
- // Trigger events
- if (!substr_count($_SERVER["PHP_SELF"],"install.php") &&
- !substr_count($_SERVER["PHP_SELF"],"setup.php") &&
- !$lightmode
- && !(defined('upgrading') && upgrading == 'upgrading')) {
- // If default settings haven't been installed, forward to the default settings page
- trigger_elgg_event('init', 'system');
- //if (!datalist_get('default_settings')) {
- //forward("setup.php");
- //}
- }
-
- // System booted, return to normal view
- set_input('view', $oldview);
- if (empty($oldview)) {
- if (empty($CONFIG->view))
- $oldview = 'default';
- else
- $oldview = $CONFIG->view;
- }
-
- if (($installed) && ($db_installed))
- {
- $lastupdate = datalist_get('simplecache_lastupdate');
- $lastcached = datalist_get('simplecache_'.$oldview);
- if ($lastupdate == 0 || $lastcached < $lastupdate) {
- elgg_view_regenerate_simplecache();
- $lastcached = time();
- datalist_set('simplecache_lastupdate',$lastcached);
- datalist_set('simplecache_'.$oldview,$lastcached);
- }
- $CONFIG->lastcache = $lastcached;
- }
+ * @author Curverider Ltd + + * @link http://elgg.org/ + */ + + /* + * Basic profiling + */ + global $START_MICROTIME; + $START_MICROTIME = microtime(true); + + /** + * 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; + } + + + + // Use fallback view until sanitised + $oldview = get_input('view'); + set_input('view', 'failsafe'); + + /** + * Set light mode default + */ + $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 + */ + + if ($sanitised = sanitised()) { // Begin portion for sanitised installs only + + /** + * Load the system settings + */ + + if (!include_once(dirname(__FILE__) . "/settings.php")) // Global settings + throw new InstallationException("Elgg could not load the settings file."); + + /** + * Load and initialise the database + */ + + if (!include_once(dirname(__FILE__) . "/lib/database.php")) // Database connection + throw new InstallationException("Elgg could not load the main Elgg database library."); + + /** + * Load the remaining libraries from /lib/ in alphabetical order, + * except for a few exceptions + */ + + if (!include_once(dirname(__FILE__) . "/lib/actions.php")) { + throw new InstallationException("Elgg could not load the Actions library"); + } + + + + // We don't want to load or reload these files + + $file_exceptions = array( + '.','..', + '.DS_Store', + 'Thumbs.db', + '.svn', + 'CVS','cvs', + 'settings.php','settings.example.php','languages.php','exceptions.php','elgglib.php','access.php','database.php','actions.php','sessions.php' + ); + + // Get the list of files to include, and alphabetically sort them + + $files = get_library_files(dirname(__FILE__) . "/lib",$file_exceptions); + asort($files); + + // Get config + global $CONFIG; + + // Include them + foreach($files as $file) { + if (isset($CONFIG->debug) && $CONFIG->debug) error_log("Loading $file..."); + if (!include_once($file)) + throw new InstallationException("Could not load {$file}"); + } + + } else { // End portion for sanitised installs only + + throw new InstallationException(elgg_echo('installation:error:configuration')); + + } + + // Autodetect some default configuration settings + set_default_config(); + + // Trigger events + trigger_elgg_event('boot', 'system'); + + // Load plugins + + $installed = is_installed(); + $db_installed = is_db_installed(); + + // Determine light mode + $lm = strtolower(get_input('lightmode')); + if ($lm == 'true') $lightmode = true; + + // Load plugins, if we're not in light mode + if (($installed) && ($db_installed) && ($sanitised) && (!$lightmode)) { + load_plugins(); + + trigger_elgg_event('plugins_boot', 'system'); + } + + // 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")) { + header("Location: install.php"); + exit; + } + + // Trigger events + if (!substr_count($_SERVER["PHP_SELF"],"install.php") && + !substr_count($_SERVER["PHP_SELF"],"setup.php") && + !$lightmode + && !(defined('upgrading') && upgrading == 'upgrading')) { + // If default settings haven't been installed, forward to the default settings page + trigger_elgg_event('init', 'system'); + //if (!datalist_get('default_settings')) { + //forward("setup.php"); + //} + } + + // System booted, return to normal view + set_input('view', $oldview); + if (empty($oldview)) { + if (empty($CONFIG->view)) + $oldview = 'default'; + else + $oldview = $CONFIG->view; + } + + if (($installed) && ($db_installed)) + { + $lastupdate = datalist_get('simplecache_lastupdate'); + $lastcached = datalist_get('simplecache_'.$oldview); + if ($lastupdate == 0 || $lastcached < $lastupdate) { + elgg_view_regenerate_simplecache(); + $lastcached = time(); + datalist_set('simplecache_lastupdate',$lastcached); + datalist_set('simplecache_'.$oldview,$lastcached); + } + $CONFIG->lastcache = $lastcached; + } ?>
\ No newline at end of file |