SMMP/manager/autoloader.php

84 lines
2.0 KiB
PHP
Raw Normal View History

<?php
2016-07-02 15:10:41 +00:00
/* [0] On definit la racine __ROOT__ si c'est pas deja fait
=========================================================*/
if( !defined('__ROOT__') ) define('__ROOT__', dirname(dirname(__FILE__)) );
2016-07-02 15:10:41 +00:00
/* [1] On définit __SERVER_HOST__ et __SERVER_ROOT__ si c'est pas déja fait
=========================================================*/
if( !defined('__SERVER_HOST__') || !defined('__SERVER_ROOT__') ){
2016-07-02 15:10:41 +00:00
/* (1) On charge le fichier de configuration */
$json = json_decode( file_get_contents(__ROOT__.'/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']);
}
2016-07-02 15:10:41 +00:00
}
/* 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 = __ROOT__.'/'.$path;
// Si le fichier existe
if( file_exists($path) )
require_once $path; // on inclue le fichier
}
2016-07-02 15:10:41 +00:00
// On definit l'autoloader comme autoloader (obvious)
spl_autoload_register('autoloader', false, true);
/* On demarre la session securisee PHP
=========================================================*/
\manager\sessionManager::session_start();
2016-07-02 15:10:41 +00:00
/* [3] Gestion des authentifications et des droits
2016-07-02 15:10:41 +00:00
=========================================================*/
\manager\Authentification::check();
2016-07-02 15:10:41 +00:00
?>