<?php
/**
* Define the Lobby Location
* $docRoot would be set by /load.php
*/
define("L_DIR", str_replace("\\", "/", $docRoot));
try{
/**
* Autoload and initialize classes
*/
$composer = require_once L_DIR . "/includes/src/vendor/autoload.php";
/**
* Get Lobby Defined Values
*/
require_once L_DIR . "/includes/config.php";
/**
* Load Classes that has __constructStatic()
*/
$composer->loadClass("Assets");
$composer->loadClass("CSRF");
$composer->loadClass("Lobby");
$composer->loadClass("Request");
$composer->loadClass("Response");
$composer->loadClass("Lobby\\FS");
$composer->loadClass("Lobby\\DB");
$composer->loadClass("Lobby\\Apps");
$composer->loadClass("Lobby\\Modules");
$composer->loadClass("Lobby\\Router");
$composer->loadClass("Lobby\\Time");
$composer->loadClass("Lobby\\UI\\Themes");
/**
* Static Class Constructor
* ------------------------
* Call __constructStatic() on each classes with params for some classes
*/
$loader = new ConstructStatic\Loader($composer);
$loader->setClassParameters("Lobby\\Apps", array(APPS_DIR, APPS_URL));
$loader->setClassParameters("Lobby\UI\Themes", array(THEMES_DIR, THEMES_URL));
$loader->processLoadedClasses();
/**
* Set constants & Load Modules
*/
require_once L_DIR . "/includes/extra.php";
/**
* These classes are not loaded by default by Composer
*/
$loader->loadClass("Lobby\\Require");
}catch(\Exception $e){
\Lobby::log(array("fatal", $e->getMessage()));
}
/**
* Run not on CDN files serving
*/
if(!\Lobby::status("lobby.assets-serve")){
/**
* Init the page setup
*/
require_once L_DIR . "/includes/init.php";
/**
* Is Lobby Installed ?
*/
if(!\Lobby::$installed && !\Lobby::status("lobby.install") && !\Lobby::$cli){
\Response::redirect("/admin/install.php");
}
}
\Hooks::doAction("init");
|