2016-02-12 22:34:52 +00:00
|
|
|
<?php
|
2016-02-13 17:41:19 +00:00
|
|
|
|
2016-07-02 15:10:41 +00:00
|
|
|
/* [0] On definit la racine __ROOT__ si c'est pas deja fait
|
|
|
|
=========================================================*/
|
2016-02-13 17:41:19 +00:00
|
|
|
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
|
|
|
|
=========================================================*/
|
2016-07-04 09:04:49 +00:00
|
|
|
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-02-13 17:41:19 +00:00
|
|
|
|
2016-07-02 15:10:41 +00:00
|
|
|
}
|
2016-02-01 22:09:35 +00:00
|
|
|
|
2016-02-12 22:22:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
/* ACTIVE LE DEBUGGAGE (WARNING + EXCEPTION)
|
|
|
|
*
|
|
|
|
*/
|
2016-02-04 22:45:03 +00:00
|
|
|
function debug(){
|
|
|
|
ini_set('display_errors',1);
|
|
|
|
ini_set('display_startup_errors',1);
|
|
|
|
error_reporting(-1);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2016-02-13 17:41:19 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
2016-02-12 22:22:14 +00:00
|
|
|
/* AUTOLOADER
|
|
|
|
*
|
|
|
|
* @className<String> Nom de la classe appelee
|
|
|
|
*
|
|
|
|
*/
|
2016-02-03 22:22:18 +00:00
|
|
|
function autoloader($className){
|
2016-02-01 22:09:35 +00:00
|
|
|
$path = '';
|
|
|
|
|
|
|
|
/* [1] On utilise le namespace pour localiser
|
|
|
|
===============================================*/
|
|
|
|
// On remplace les '\' par des '/'
|
|
|
|
$path = str_replace('\\', '/', $className) . '.php';
|
|
|
|
$path = __ROOT__.'/'.$path;
|
|
|
|
|
2016-02-13 17:41:19 +00:00
|
|
|
// Si le fichier existe
|
2016-02-01 22:09:35 +00:00
|
|
|
if( file_exists($path) )
|
2016-02-13 17:41:19 +00:00
|
|
|
require_once $path; // on inclue le fichier
|
|
|
|
|
2016-02-01 22:09:35 +00:00
|
|
|
}
|
2016-07-02 15:10:41 +00:00
|
|
|
|
2016-02-12 15:20:26 +00:00
|
|
|
// On definit l'autoloader comme autoloader (obvious)
|
2016-02-03 22:22:18 +00:00
|
|
|
spl_autoload_register('autoloader', false, true);
|
2016-02-01 22:09:35 +00:00
|
|
|
|
|
|
|
|
2016-02-12 22:22:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
/* On demarre la session securisee PHP
|
|
|
|
=========================================================*/
|
2016-02-12 22:34:52 +00:00
|
|
|
\manager\sessionManager::session_start();
|
2016-07-02 15:10:41 +00:00
|
|
|
|
|
|
|
|
2016-07-04 09:04:49 +00:00
|
|
|
|
|
|
|
/* [3] Gestion des authentifications et des droits
|
2016-07-02 15:10:41 +00:00
|
|
|
=========================================================*/
|
2016-07-04 09:04:49 +00:00
|
|
|
\manager\Authentification::init();
|
|
|
|
|
|
|
|
/* (0) Retourne le niveau de connexion */
|
|
|
|
function authLevel(){ return !is_array($_SESSION['AUTH']) ? 0 : count($_SESSION['AUTH']); }
|
|
|
|
|
2016-07-02 15:10:41 +00:00
|
|
|
/* (1) Retourne si l'utilisateur est connecte ou non */
|
2016-07-04 09:04:49 +00:00
|
|
|
function connected(){ return isset($_SESSION['PERM']) && count($_SESSION['PERM']) > 0; }
|
2016-07-02 15:10:41 +00:00
|
|
|
|
|
|
|
/* (2) Retourne si l'utilisateur a le status en question */
|
2016-07-04 09:04:49 +00:00
|
|
|
function permission($type){ return connected() && in_array($type, $_SESSION['PERM']); }
|
2016-07-02 15:10:41 +00:00
|
|
|
|
|
|
|
?>
|