* @author Stephane Aubin * @author Loïc Vinet */ include("session.php"); require("class_functions.php"); require_once("class_db.php"); if(file_exists($_SESSION['config']['lang'].'.php')) { include($_SESSION['config']['lang'].'.php'); } else { $_SESSION['error'] = ""; } $func = new functions(); $s_login = strtolower($func->wash($_POST['login'],"no",_ID,"yes")); $s_pass =$func->wash($_POST['pass'],"no",_PASSWORD,"yes"); require("class_users.php"); $user = new users(); if(count($_SESSION['config']) <= 0) { $user->build_config(); } if ($_SESSION['config']['ldap'] == "true") { //Extraction de /root/config dans le fichier de conf $ldap_conf = new DomDocument(); try { if(!@$ldap_conf->load($_SESSION['config']['ldap_config_path'])) throw new Exception("Impossible de charger le document : ".$_SESSION['config']['ldap_config_path']); } catch(Exception $e) { exit($e->getMessage()); } //Load LetterBox Db Connection Class require_once("class_functions.php"); require_once("class_db.php"); $xp_ldap_conf = new domxpath($ldap_conf); foreach($xp_ldap_conf->query("/root/config/*") as $cf) ${$cf->nodeName} = $cf->nodeValue; //On inclut la class LDAP qui correspond à l'annuaire if(!include($_SESSION['config']['ldap_directory']."/class_".$type_ldap.".php")) exit("Impossible de charger class_".$type_ldap.".php\n"); //Try to create a new ldap instance try { $ad = new LDAP($domain,$login_admin,$pass,$ssl,$hostname); } catch(Exception $con_failure) { echo $con_failure->getMessage(); exit; } if($ad -> authenticate($s_login,$s_pass)) { $db = new dbquery(); $db->connect(); $db->query("SELECT * From users WHERE user_id ='".$s_login."'"); if($db->fetch_object()) $user->login($s_login,"ldap"); else $_SESSION['error'] = _NO_LOGIN_OR_PSW_BY_LDAP."..."; header("location: login.php"); exit; } else $_SESSION['error'] = _BAD_LOGIN_OR_PSW."..."; header("location: login.php"); exit; } else { if(!empty($_SESSION['error'])) { header("location: login.php"); exit; } else { $pass = md5($s_pass); $user->login($s_login,$pass); } } ?>