forked from ZwiiCMS-Team/ZwiiCMS
13.3.06 Login, connexion persistante
This commit is contained in:
parent
5326b94c04
commit
0f1bd2377e
@ -5,6 +5,7 @@
|
|||||||
- Répare le bouton d'effacement en mode édition d'une page.
|
- Répare le bouton d'effacement en mode édition d'une page.
|
||||||
- Corrige la feuille de style du slider les balises H1, H3 et A.
|
- Corrige la feuille de style du slider les balises H1, H3 et A.
|
||||||
- Corrige l'absence de contenu de page lorsque le module est en position libre et que le mot clé [MODULE] n'a pas été inséré.
|
- Corrige l'absence de contenu de page lorsque le module est en position libre et que le mot clé [MODULE] n'a pas été inséré.
|
||||||
|
- Corrige l'option "REster connecter sur ce navigateur' dont la connexion est désormais réellement persistente.
|
||||||
|
|
||||||
## Versions 13.3.05
|
## Versions 13.3.05
|
||||||
** Corrections : **
|
** Corrections : **
|
||||||
|
@ -407,9 +407,9 @@ class helper
|
|||||||
* @param string $cookieKey Clé du cookie à supprimer
|
* @param string $cookieKey Clé du cookie à supprimer
|
||||||
*/
|
*/
|
||||||
public static function deleteCookie($cookieKey)
|
public static function deleteCookie($cookieKey)
|
||||||
{
|
{
|
||||||
unset($_COOKIE[$cookieKey]);
|
|
||||||
setcookie($cookieKey, '', time() - 3600, helper::baseUrl(false, false), '', false, true);
|
setcookie($cookieKey, '', time() - 3600, helper::baseUrl(false, false), '', false, true);
|
||||||
|
unset($_COOKIE[$cookieKey]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -574,7 +574,7 @@ class user extends common
|
|||||||
// Stoppe si le profil est affecté
|
// Stoppe si le profil est affecté
|
||||||
foreach ($groups as $userId) {
|
foreach ($groups as $userId) {
|
||||||
if ((string) $this->getData(['user', $userId, 'profil']) === $this->getUrl(3)) {
|
if ((string) $this->getData(['user', $userId, 'profil']) === $this->getUrl(3)) {
|
||||||
$profilUsed= false;
|
$profilUsed = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach ($this->getData(['profil']) as $groupId => $groupData) {
|
foreach ($this->getData(['profil']) as $groupId => $groupData) {
|
||||||
@ -935,11 +935,11 @@ class user extends common
|
|||||||
// recherche les membres du groupe
|
// recherche les membres du groupe
|
||||||
$groups = helper::arrayColumn($this->getData(['user']), 'group');
|
$groups = helper::arrayColumn($this->getData(['user']), 'group');
|
||||||
$groups = array_keys($groups, $this->getUrl(2));
|
$groups = array_keys($groups, $this->getUrl(2));
|
||||||
$flag= true;
|
$flag = true;
|
||||||
// Stoppe si le profil est affecté
|
// Stoppe si le profil est affecté
|
||||||
foreach ($groups as $userId) {
|
foreach ($groups as $userId) {
|
||||||
if ((string) $this->getData(['user', $userId, 'profil']) === $this->getUrl(3)) {
|
if ((string) $this->getData(['user', $userId, 'profil']) === $this->getUrl(3)) {
|
||||||
$flag= false;
|
$flag = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
@ -956,7 +956,7 @@ class user extends common
|
|||||||
if ($flag) {
|
if ($flag) {
|
||||||
$this->deleteData(['profil', $this->getUrl(2), $this->getUrl(3)]);
|
$this->deleteData(['profil', $this->getUrl(2), $this->getUrl(3)]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/profil',
|
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/profil',
|
||||||
@ -1045,10 +1045,22 @@ class user extends common
|
|||||||
// RAZ
|
// RAZ
|
||||||
$this->setData(['user', $userId, 'connectFail', 0]);
|
$this->setData(['user', $userId, 'connectFail', 0]);
|
||||||
$this->setData(['user', $userId, 'connectTimeout', 0]);
|
$this->setData(['user', $userId, 'connectTimeout', 0]);
|
||||||
// Expiration
|
|
||||||
|
// Validité du cookie
|
||||||
$expire = $this->getInput('userLoginLongTime', helper::FILTER_BOOLEAN) === true ? strtotime("+1 year") : 0;
|
$expire = $this->getInput('userLoginLongTime', helper::FILTER_BOOLEAN) === true ? strtotime("+1 year") : 0;
|
||||||
setcookie('ZWII_USER_ID', $userId, $expire, helper::baseUrl(false, false), '', helper::isHttps(), true);
|
switch ($this->getInput('userLoginLongTime', helper::FILTER_BOOLEAN)) {
|
||||||
setcookie('ZWII_USER_PASSWORD', $this->getData(['user', $userId, 'password']), $expire, helper::baseUrl(false, false), '', helper::isHttps(), true);
|
case false:
|
||||||
|
// Cookie de session
|
||||||
|
setcookie('ZWII_USER_ID', $userId, $expire, helper::baseUrl(false, false), '', helper::isHttps(), true);
|
||||||
|
setcookie('ZWII_USER_PASSWORD', $this->getData(['user', $userId, 'password']), $expire, helper::baseUrl(false, false), '', helper::isHttps(), true);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// Cookie persistant
|
||||||
|
setcookie('ZWII_USER_ID', $userId, $expire, helper::baseUrl(false, false));
|
||||||
|
setcookie('ZWII_USER_PASSWORD', $this->getData(['user', $userId, 'password']), $expire, helper::baseUrl(false, false));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// Accès multiples avec le même compte
|
// Accès multiples avec le même compte
|
||||||
$this->setData(['user', $userId, 'accessCsrf', $_SESSION['csrf']]);
|
$this->setData(['user', $userId, 'accessCsrf', $_SESSION['csrf']]);
|
||||||
// Valeurs en sortie lorsque le site est en maintenance et que l'utilisateur n'est pas administrateur
|
// Valeurs en sortie lorsque le site est en maintenance et que l'utilisateur n'est pas administrateur
|
||||||
@ -1064,8 +1076,9 @@ class user extends common
|
|||||||
} else {
|
} else {
|
||||||
$logStatus = 'Connexion réussie';
|
$logStatus = 'Connexion réussie';
|
||||||
$pageId = $this->getUrl(2);
|
$pageId = $this->getUrl(2);
|
||||||
if ($this->getData(['config', 'page404']) === $pageId
|
if (
|
||||||
|| $this->getData(['config', 'page403']) === $pageId
|
$this->getData(['config', 'page404']) === $pageId
|
||||||
|
|| $this->getData(['config', 'page403']) === $pageId
|
||||||
) {
|
) {
|
||||||
$pageId = '';
|
$pageId = '';
|
||||||
}
|
}
|
||||||
@ -1391,7 +1404,7 @@ class user extends common
|
|||||||
// Ignorer les entrées de répertoire parent et actuel
|
// Ignorer les entrées de répertoire parent et actuel
|
||||||
if ($file == '.' || $file == '..') {
|
if ($file == '.' || $file == '..') {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// Construisez le chemin complet du fichier ou du répertoire
|
// Construisez le chemin complet du fichier ou du répertoire
|
||||||
$path = $dir . '/' . $file;
|
$path = $dir . '/' . $file;
|
||||||
// Vérifiez si c'est un répertoire
|
// Vérifiez si c'est un répertoire
|
||||||
|
Loading…
Reference in New Issue
Block a user