aboutsummaryrefslogtreecommitdiff
path: root/engine/start.php
diff options
context:
space:
mode:
Diffstat (limited to 'engine/start.php')
-rw-r--r--engine/start.php403
1 files changed, 197 insertions, 206 deletions
diff --git a/engine/start.php b/engine/start.php
index 23a04cb60..b6699309b 100644
--- a/engine/start.php
+++ b/engine/start.php
@@ -1,219 +1,210 @@
<?php
+/**
+ * Elgg engine bootstrapper
+ * Loads the various elements of the Elgg engine
+ *
+ * @package Elgg
+ * @subpackage Core
+ * @author Curverider Ltd
+ * @link http://elgg.org/
+ */
- /**
- * Elgg engine bootstrapper
- * Loads the various elements of the Elgg engine
- *
- * @package Elgg
- * @subpackage Core
+/*
+ * Basic profiling
+ */
+global $START_MICROTIME;
+$START_MICROTIME = microtime(true);
- * @author Curverider Ltd
+/**
+ * Load important prerequisites
+ */
- * @link http://elgg.org/
- */
+if (!include_once(dirname(__FILE__) . "/lib/exceptions.php")) { // Exceptions
+ echo "Error in installation: could not load the Exceptions library.";
+ exit;
+}
- /*
- * Basic profiling
- */
- global $START_MICROTIME;
- $START_MICROTIME = microtime(true);
+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
+ */
+// Begin portion for sanitised installs only
+if ($sanitised = sanitised()) {
/**
- * 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
+ * Load the system settings
*/
- $lightmode = false;
-
+ if (!include_once(dirname(__FILE__) . "/settings.php")) {
+ throw new InstallationException("Elgg could not load the settings file.");
+ }
+
/**
- * Establish handlers
+ * Load and initialise the database
*/
-
- // Register the error handler
- set_error_handler('__elgg_php_error_handler');
- set_exception_handler('__elgg_php_exception_handler');
-
+ if (!include_once(dirname(__FILE__) . "/lib/database.php")) {
+ throw new InstallationException("Elgg could not load the main Elgg database library.");
+ }
+
/**
- * If there are basic issues with the way the installation is formed, don't bother trying
- * to load any more files
+ * Load the remaining libraries from /lib/ in alphabetical order,
+ * except for a few exceptions
*/
-
- 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'));
-
+ 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}");
}
-
- // 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
+ }
+} 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')) {
+
+
+ trigger_elgg_event('init', 'system');
+}
+
+// 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