1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
| <?php
//
// MAIN
//
/*** initialisation des variables ***/
$session_username="";
$session_password="";
/************************************/
//
// recup du num de session (mais on ne sais pas s'il est passé en GET ou POST
$session=(isset($_GET['session']) ? $_GET['session'] : ((isset($_POST['session'])) ? $_POST['session'] : "") ) ;
/*******************sitti
******************************************/
$DEBUG=FALSE;
//$DEBUG=TRUE;
if($DEBUG==TRUE) { print_r($_SESSION); echo "<br><br>\n"; }
if ($session != "")
{
if(session_is_valid($session) == TRUE)
{
session_update($session);
//--------------------------------sitti
if($session=(isset($_GET['session']) ? $_GET['session'] : ((isset($_POST['session'])) ? $_POST['session'] : "")))
{
//connexion mysql
$db = mysql_connect('localhost', 'dbconges','motdepasse') or die('Erreur de connexion '.mysql_error());
//selection de la base
mysql_select_db('db_conges', $db) or die('Erreur deselection '.mysql_error());
//code
$cotime = time();
$u_login = "session_username";
$_SESSION['cotime']="cotime";
$_SESSION['u_login']="u_login";
$datejour = date("Y-m-d");
$sql = "INSERT INTO conges_users_log(u_login,datejour,cotime)";
//$sql .=
$sql .="VALUES('$u_login','$cotime','$datejour')";
}
//---------------------------------------- sitti
}
else
{
session_delete($session);
$session="";
$session_username="";
$session_password="";
$_SESSION['config']=init_config_tab(); // on recrée le tableau de config pour l'url du lien
echo "<center>\n";
echo "Pas de session ouverte<br>\n";
echo "Veuillez <a href='".$_SESSION['config']['URL_ACCUEIL_CONGES']."/index.php' target='_top'> vous authentifier</a>\n";
echo "</center>\n";
exit;
}
}
else // $session == ""
{
if(isset($_POST['session_username'])) { $session_username=$_POST['session_username']; }
if(isset($_POST['session_password'])) { $session_password=$_POST['session_password']; }
if ( ($_SESSION['config']['how_to_connect_user'] == "CAS") && ($session_username != "admin") )
{
$usernameCAS = authentification_passwd_conges_CAS();
if($usernameCAS != "")
{
if(session_id()!="")
session_destroy();
// on initialise la nouvelle session
session_create($usernameCAS);
}
else //dans ce cas l'utilisateur n'a pas encore été enregistré dans la base de données db_conges
{
echo "<center>\n";
echo "Il n'existe pas de compte correspondant à votre login dans la base de données de PHP_CONGES<br>\n";
echo "Contactez l'administrateur de php_conges";
echo "</center>\n";
}
}
else
{
if (($session_username == "") || ($session_password == "")) // si login et passwd non saisis
{
// SAISIE LOGIN / PASSWORD :
session_saisie_user_password("", "", ""); // appel du formulaire d'intentification (login/password)
exit;
}
else
{
// AUTHENTIFICATION :
// le user doit etre authentifié dans la table conges (login + passwd) ou dans le ldap.
// si on a trouve personne qui correspond au couple user/password
if ( ($_SESSION['config']['how_to_connect_user'] == "ldap") && ($session_username != "admin") )
{
if(session_id()!="")
session_destroy();
if (authentification_ldap_conges($session_username,$session_password) != $session_username)
{
$session="";
$session_username="";
$session_password="";
$erreur="login_passwd_incorrect";
session_saisie_user_password($erreur, $session_username, $session_password); // appel du formulaire d'intentification (login/password)
exit;
}
if ((authentification_ldap_conges($session_username,$session_password) == $session_username) && ($session_username != ""))
{
if (valid_ldap_user($session_username)==TRUE) // LDAP ok, on vérifie ici que le compte existe dans la base de données des congés.
{
// on initialise la nouvelle session
session_create($session_username);
}
else//dans ce cas l'utilisateur n'a pas encore été enregistré dans la base de données db_conges
{
$erreur="login_non_connu";
session_saisie_user_password($erreur, $session_username,$session_password); // appel du formulaire d'intentification (login/password)
exit;
}
}
} // fin du if test avec ldap
elseif ($_SESSION['config']['how_to_connect_user'] == "dbconges")
{
if(session_id()!="")
session_destroy();
if (autentification_passwd_conges($session_username,$session_password) != $session_username)
{
$session="";
$session_username="";
$session_password="";
$erreur="login_passwd_incorrect";
session_saisie_user_password($erreur, $session_username,$session_password); // appel du formulaire d'intentification (login/password)
exit;
}
if ((autentification_passwd_conges($session_username,$session_password) == $session_username) && ($session_username != ""))
{
// on initialise la nouvelle session
session_create($session_username);
}
}
}
}
}
?> |
Partager