aboutsummaryrefslogtreecommitdiff
path: root/engine/start.php
blob: 864b2b1129f72eeb318477776d978c5c5309672e (plain)
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
<?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(dirname(__FILE__) . "/lib/elgglib.php")) {		// Main Elgg library
			echo "Error in installation: could not load the main Elgg library.";
			exit;
		}
		if (!@include_once(dirname(__FILE__) . "/lib/database.php"))	// Database connection
			register_error("Could not load the main Elgg database library.");
			
	/**
	 * Ensure the installation is correctly formed
	 */

		sanitise();
			
	/**
	 * Load the system settings
	 */
		
		if (!@include_once(dirname(__FILE__) . "/settings.php")) 		// Global settings
			register_error("Could not load the settings file.");

	/**
	 * Load the remaining libraries from /lib/ in alphabetical order,
	 * except for a few exceptions
	 */
		
	// We don't want to load or reload these files

		$file_exceptions = array(
									'.','..',
									'.svn',
									'settings.php','settings.example.php','elgglib.php','database.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))
				register_error("Could not load {$file}");
		}
		
		if ($errors = system_messages(null, "errors")) {
			// Do something!
		}
		
?>