summaryrefslogtreecommitdiff
path: root/Core/Functions/func_login.php
diff options
context:
space:
mode:
Diffstat (limited to 'Core/Functions/func_login.php')
-rw-r--r--Core/Functions/func_login.php32
1 files changed, 17 insertions, 15 deletions
diff --git a/Core/Functions/func_login.php b/Core/Functions/func_login.php
index cbe4d62..8cf01f7 100644
--- a/Core/Functions/func_login.php
+++ b/Core/Functions/func_login.php
@@ -8,27 +8,29 @@
// # #
// ############################################################################
-function login($cookie, $email = null, $pass = null, $remember = 0) {
+function login($autologin, $cookie, $email = null, $pass = null, $remember = false) {
// Instanciation de la gestion de la BDD utilisateur.
- $dbuser = new DbUser;
- $dbmission = new DbMission;
+ $dbuser = new DbUser;
// On vérifie si la connection se fait via le formulaire de connection ou par cookie
- if (!$cookie) {
+ if (!$autologin) {
$userId = $dbuser->check_user_credential($email, $pass);
// ou par cookie.
} else {
// On essaie une fois.
- $userId = $dbuser->check_token_autologin($cookie[0], $cookie[1]);
- // Et on le supprime.
- $dbuser->del_token_autologin($cookie[0]);
+ if (is_array($cookie) && count($cookie) == 2) {
+ $userId = $dbuser->check_token_autologin($cookie[0], $cookie[1]);
+ // Et on le supprime.
+ $dbuser->del_token_autologin($cookie[0]);
+ }
}
// Si on a un résultat valide.
if ($userId) {
- $dbsearch = new DbSearch;
+ $dbsearch = new DbSearch;
+ $dbmission = new DbMission;
// LoggedIn devien "true".
- $_SESSION["loggedIn"] = "1";
+ $_SESSION["loggedIn"] = true;
// et on remplie les variables de la session avec les infos de l'utilisateur.
$userInfo = $dbsearch->get_user_account_by_userid($userId);
foreach ($userInfo as $key => $value) {
@@ -37,7 +39,7 @@ function login($cookie, $email = null, $pass = null, $remember = 0) {
// Partie notification,
// Ajout à la session d'un élément "notification".
- $_SESSION["notification"] = 0;
+ $_SESSION["notification"] = false;
// Si c'est un pro
if ($_SESSION["userStatus"] == "1") {
// on récupère et loop dans ses missions
@@ -46,7 +48,7 @@ function login($cookie, $email = null, $pass = null, $remember = 0) {
// Si il y a une mission en attente
if (!$result[$i]["acceptedByPro"]) {
// l'élément de la liste notification devient vrai
- $_SESSION["notification"] = 1;
+ $_SESSION["notification"] = true;
// Et on stop le loop, inutile d'aller plus loin
break;
}
@@ -55,7 +57,7 @@ function login($cookie, $email = null, $pass = null, $remember = 0) {
// Si était coché remember me ou que la connection s'est faite via cookie,
// on en génère un nouveau.
- if ($remember || $cookie) {
+ if ($remember || $autologin) {
$name = "autoLogin";
// On génère une chaine de caractère aléatoire de 32 bytes en supprimant les caractères spéciaux de base64.
$token = substr(str_replace(["+", "/", "="], "",base64_encode(random_bytes(64))) ,0 , 32);
@@ -64,20 +66,20 @@ function login($cookie, $email = null, $pass = null, $remember = 0) {
// Enfin on place l'ensemble sur le navigateur du client codé en base64.
setcookie($name,
base64_encode(json_encode(array($_SESSION["email"], $token))),
- time() + (86400 * 7),
+ time() + (86400 * 7), // 7 jours
"/"
);
}
// On sélectionne le bon message en fonction du type de connection.
- if (!$cookie) {
+ if (!$autologin) {
$message = ["login", "success"];
} else {
$message = ["loginCookie", "success"];
}
} else {
// Si la connection a échoué.
- if (!$cookie) {
+ if (!$autologin) {
$message = ["login", "fail"];
// Si la connection à échoué par cookie.
} else {