78 lines
1.9 KiB
PHP
Executable File
78 lines
1.9 KiB
PHP
Executable File
<?php
|
|
|
|
/* [0] On definit la racine __BUILD__ si c'est pas deja fait
|
|
=========================================================*/
|
|
if( !defined('__ROOT__') ) define('__ROOT__', dirname(__FILE__) );
|
|
if( !defined('__CONFIG__') ) define('__CONFIG__', __ROOT__.'/config' );
|
|
if( !defined('__BUILD__') ) define('__BUILD__', __ROOT__.'/build' );
|
|
if( !defined('__PUBLIC__') ) define('__PUBLIC__', __ROOT__.'/public_html' );
|
|
|
|
|
|
|
|
|
|
|
|
/* [1] On définit __SERVER_HOST__ et __SERVER_ROOT__ si c'est pas déja fait
|
|
=========================================================*/
|
|
if( !defined('__SERVER_HOST__') || !defined('__SERVER_ROOT') ){
|
|
/* (1) On charge le fichier de configuration */
|
|
$json = json_decode( file_get_contents(__CONFIG__.'/server.json'), true );
|
|
|
|
// Si pas d'erreur, on définit
|
|
if( !is_null($json) ){
|
|
|
|
/* (2) Gestion de la config si server local ou remote */
|
|
if( !isset($_SERVER['SERVER_NAME']) || !checkdnsrr($_SERVER['SERVER_NAME'], 'NS') )
|
|
$config = $json['local'];
|
|
else
|
|
$config = $json['remote'];
|
|
|
|
/* (3) Création des constantes */
|
|
define('__SERVER_HOST__', $config['host']);
|
|
define('__SERVER_ROOT__', $config['root']);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/* ACTIVE LE DEBUGGAGE (WARNING + EXCEPTION)
|
|
*
|
|
*/
|
|
function debug(){
|
|
ini_set('display_errors',1);
|
|
ini_set('display_startup_errors',1);
|
|
error_reporting(-1);
|
|
}
|
|
|
|
|
|
|
|
|
|
/* AUTOLOADER
|
|
*
|
|
* @className<String> Nom de la classe appelee
|
|
*
|
|
*/
|
|
function autoloader($className){
|
|
$path = '';
|
|
|
|
/* [1] On utilise le namespace pour localiser
|
|
===============================================*/
|
|
// On remplace les '\' par des '/'
|
|
$path = str_replace('\\', '/', $className) . '.php';
|
|
$path = __BUILD__.'/'.$path;
|
|
|
|
// Si le fichier existe
|
|
if( file_exists($path) )
|
|
require_once $path; // on inclue le fichier
|
|
|
|
}
|
|
|
|
// On definit l'autoloader comme autoloader (obvious)
|
|
spl_autoload_register('autoloader', false, true);
|
|
|
|
|
|
|
|
|
|
?>
|