diff --git a/htdocs/lib/Config.php b/htdocs/lib/Config.php new file mode 100644 index 0000000..5b172af --- /dev/null +++ b/htdocs/lib/Config.php @@ -0,0 +1,44 @@ + 2, 'message' => $e->getMessage()); } @@ -26,7 +26,7 @@ class DefaultController { 'login' => array('filter' => FILTER_SANITIZE_STRING, 'flags' => FILTER_FLAG_STRIP_HIGH) ,'password' => array('filter' => FILTER_SANITIZE_STRING, 'flags' => FILTER_FLAG_STRIP_HIGH) )); - self::$server = new LdapServer($input['login'], self::$config['ldap']); + self::$server = new LdapServer($input['login']); self::$server->login($input['password']); $_SESSION['login'] = self::$server->getLogin(); } catch (Exception $e) { diff --git a/htdocs/lib/LdapServer.php b/htdocs/lib/LdapServer.php index 1bd23eb..19e10d6 100644 --- a/htdocs/lib/LdapServer.php +++ b/htdocs/lib/LdapServer.php @@ -54,24 +54,24 @@ class LdapServer { return '{SSHA}'.base64_encode(mhash(MHASH_SHA1, $pass.$salt).$salt); } - public function __construct($login, $config) { - $uri = 'ldap://'.$config['host'].':'.$config['port']; + public function __construct($login) { + $uri = Config::getLdapUri(); $this->login = $login; if (!$this->conn = ldap_connect($uri)) { - throw new Exception("Impossible de se connecter au serveur LDAP ".$config['host']); + throw new Exception("Impossible de se connecter au serveur LDAP ".$uri); } if (!ldap_set_option($this->conn, LDAP_OPT_PROTOCOL_VERSION, 3)) { throw new Exception("Impossible de modifier la version du protocole LDAP à 3"); } - if (!ldap_bind($this->conn, $config['admin_dn'], $config['admin_pass'])) { + if (!ldap_bind($this->conn, Config::getLdapDN(), Config::getLdapPass())) { throw new Exception("Authentification LDAP échoué !"); } - if (in_array($this->login, $config['superadmin'])) { + if (in_array($this->login, Config::getSuperAdmin())) { $this->superadmin = true; - $this->base = $config['base']; + $this->base = Config::getLdapBase(); } else { $mydomain = preg_replace('/.*@/', '', $login); - $this->base = LdapDomain::$dn.'='.$mydomain.','.$config['base']; + $this->base = LdapDomain::$dn.'='.$mydomain.','.Config::getBaseDN(); } } diff --git a/htdocs/lib/Logger.php b/htdocs/lib/Logger.php index 42eb5e8..bbbc131 100644 --- a/htdocs/lib/Logger.php +++ b/htdocs/lib/Logger.php @@ -10,8 +10,8 @@ class Logger { private static $level; - public static function configure($loglevel) { - switch ($loglevel) { + public static function init() { + switch (Config::getLogLevel()) { case 'critical': self::$level = self::CRITICAL; case 'error': diff --git a/htdocs/lib/MailNotify.php b/htdocs/lib/MailNotify.php index f79fa54..3c16323 100644 --- a/htdocs/lib/MailNotify.php +++ b/htdocs/lib/MailNotify.php @@ -5,13 +5,13 @@ require_once 'Twig/autoload.php'; class MailNotify { private static $twig, $adminmail; - public static function configure($config) { + public static function init() { $loader = new Twig_Loader_Filesystem('tpl/mail'); self::$twig = new Twig_Environment($loader, array( 'cache' => false )); - self::$adminmail = !empty($config['mail']) ? $config['mail'] : 'root@localhost'; + self::$adminmail = Config::getMail(); } public static function addDomain($domain) { diff --git a/htdocs/lib/PageController.php b/htdocs/lib/PageController.php index 7615e90..39b0d2c 100644 --- a/htdocs/lib/PageController.php +++ b/htdocs/lib/PageController.php @@ -4,6 +4,7 @@ require_once 'Twig/autoload.php'; class PageController extends DefaultController { private static $twig, $params=array(), $domain, $account, $alias; + public static function init() { $loader = new Twig_Loader_Filesystem('tpl/page'); self::$twig = new Twig_Environment($loader, array( @@ -38,7 +39,7 @@ class PageController extends DefaultController { if (!self::$server->isSuperAdmin()) { self::$alerts[] = array('type' => 2, 'message' => "Super Administrateur seulement !"); print self::$twig->render('403.html', array( - 'page_name' => self::$config['global']['name'] + 'page_name' => Config::getName() ,'alerts' => self::$alerts ,'login' => self::$server->getLogin() ,'isSuperAdmin' => self::$server->isSuperAdmin() @@ -86,7 +87,7 @@ class PageController extends DefaultController { private static function login() { print self::$twig->render('login.html', array( - 'page_name' => self::$config['global']['name'].' - Login' + 'page_name' => Config::getName().' - Login' ,'alerts' => self::$alerts ,'logout' => false )); @@ -96,7 +97,7 @@ class PageController extends DefaultController { session_unset('EVOADMIN_SESS'); session_destroy(); print self::$twig->render('login.html', array( - 'page_name' => self::$config['global']['name'].' - Login' + 'page_name' => Config::getName().' - Login' ,'alerts' => self::$alerts ,'logout' => true )); @@ -104,11 +105,11 @@ class PageController extends DefaultController { private static function help() { print self::$twig->render('help.html', array( - 'page_name' => self::$config['global']['name'] + 'page_name' => Config::getName() ,'alerts' => self::$alerts ,'login' => self::$server->getLogin() ,'isSuperAdmin' => self::$server->isSuperAdmin() - ,'notif_mail' => self::$config['global']['mail'] + ,'notif_mail' => Config::getMail() )); } @@ -141,7 +142,7 @@ class PageController extends DefaultController { private static function addDomain() { self::needSuperAdmin(); print self::$twig->render('add_domain.html', array( - 'page_name' => self::$config['global']['name'] + 'page_name' => Config::getName() ,'alerts' => self::$alerts ,'login' => self::$server->getLogin() ,'isSuperAdmin' => self::$server->isSuperAdmin() @@ -150,7 +151,7 @@ class PageController extends DefaultController { private static function listDomains() { print self::$twig->render('list_domain.html', array( - 'page_name' => self::$config['global']['name'] + 'page_name' => Config::getName() ,'alerts' => self::$alerts ,'login' => self::$server->getLogin() ,'isSuperAdmin' => self::$server->isSuperAdmin() @@ -160,7 +161,7 @@ class PageController extends DefaultController { private static function listAccounts() { print self::$twig->render('list_account.html', array( - 'page_name' => self::$config['global']['name'] + 'page_name' => Config::getName() ,'alerts' => self::$alerts ,'login' => self::$server->getLogin() ,'isSuperAdmin' => self::$server->isSuperAdmin() @@ -173,7 +174,7 @@ class PageController extends DefaultController { private static function listAlias() { print self::$twig->render('list_alias.html', array( - 'page_name' => self::$config['global']['name'] + 'page_name' => Config::getName() ,'alerts' => self::$alerts ,'login' => self::$server->getLogin() ,'isSuperAdmin' => self::$server->isSuperAdmin() @@ -186,7 +187,7 @@ class PageController extends DefaultController { private static function Account() { print self::$twig->render('account.html', array( - 'page_name' => self::$config['global']['name'] + 'page_name' => Config::getName() ,'alerts' => self::$alerts ,'login' => self::$server->getLogin() ,'isSuperAdmin' => self::$server->isSuperAdmin() @@ -205,7 +206,7 @@ class PageController extends DefaultController { private static function Alias() { print self::$twig->render('alias.html', array( - 'page_name' => self::$config['global']['name'] + 'page_name' => Config::getName() ,'alerts' => self::$alerts ,'login' => self::$server->getLogin() ,'isSuperAdmin' => self::$server->isSuperAdmin()