1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
<?php
/**
* Elgg engine bootstrapper
* Loads the various elements of the Elgg engine
*
* @package Elgg
* @subpackage Core
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
* @author Curverider Ltd
* @copyright Curverider Ltd 2008
* @link http://elgg.org/
*/
/**
* 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
throw new InstallationException("Elgg could not load its main library.");
}
if (!@include_once(dirname(__FILE__) . "/lib/export.php")) { // Export library
echo "Error in installation: could not load the Export library.";
exit;
}
/**
* 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()) { // 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");
}
if (!@include_once(dirname(__FILE__) . "/lib/sessions.php")) {
throw new InstallationException("Elgg could not load the Sessions library");
}
// We don't want to load or reload these files
$file_exceptions = array(
'.','..',
'.svn',
'CVS','cvs',
'settings.php','settings.example.php','exceptions.php','elgglib.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);
// Include them
foreach($files as $file) {
if (!@include_once($file))
throw new InstallationException("Could not load {$file}");
}
// Set default config
set_default_config();
// Load plugins
load_plugins();
} else { // End portion for sanitised installs only
throw new InstallationException("Once you've corrected any configuration issues, press reload to try again.");
}
// Autodetect some default configuration settings
set_default_config();
// Trigger events
trigger_event('boot', 'system');
// Forward if we haven't been installed
if ((!is_installed() || !is_db_installed()) && !substr_count($_SERVER["PHP_SELF"],"install.php")) {
forward("install.php");
}
// Trigger events
if (!substr_count($_SERVER["PHP_SELF"],"install.php")) {
trigger_event('init', 'system');
}
?>
|