Option de déconnecion automatique

This commit is contained in:
fredtempez 2021-01-21 10:21:49 +01:00
parent 37b3bdb14a
commit 9de5d5975b
3 changed files with 49 additions and 25 deletions

View File

@ -1595,6 +1595,10 @@ class common {
// Version 11.0.00 // Version 11.0.00
if ($this->getData(['core', 'dataVersion']) < 11000) { if ($this->getData(['core', 'dataVersion']) < 11000) {
// Option de déconnexion auto activée
$this->setData(['config','autoDisconnect',true]);
// Mettre à jour les données de langue // Mettre à jour les données de langue
$this->setData(['config','translate','scriptGoogle', false ]); $this->setData(['config','translate','scriptGoogle', false ]);
$this->setData(['config','translate','showCredits', false ]); $this->setData(['config','translate','showCredits', false ]);
@ -1910,7 +1914,9 @@ class core extends common {
if ( if (
$this->getUser('password') === $this->getInput('ZWII_USER_PASSWORD') $this->getUser('password') === $this->getInput('ZWII_USER_PASSWORD')
AND ( $this->getUser('group') === self::GROUP_BANNED AND ( $this->getUser('group') === self::GROUP_BANNED
OR $_SESSION['csrf'] !== $this->getData(['user',$this->getUser('id'),'accessCsrf']) ) OR ( $_SESSION['csrf'] !== $this->getData(['user',$this->getUser('id'),'accessCsrf'])
AND $this->getData(['config','autoDisconnect']) === true)
)
) { ) {
$user = new user; $user = new user;
$user->logout(); $user->logout();

View File

@ -479,6 +479,11 @@ class config extends common {
$this->getInput('configAdvancedAutoUpdate', helper::FILTER_BOOLEAN) === true) { $this->getInput('configAdvancedAutoUpdate', helper::FILTER_BOOLEAN) === true) {
$this->setData(['core','lastAutoUpdate',0]); $this->setData(['core','lastAutoUpdate',0]);
} }
// Eviter déconnexion automatique après son activation
if ( $this->getData(['config','autoDisconnect']) === false
AND $this->getInput('configAdvancedAutoDisconnect',helper::FILTER_BOOLEAN) === true ) {
$this->setData(['user',$this->getuser('id'),'accessCsrf',$_SESSION['csrf']]);
}
// Sauvegarder // Sauvegarder
$this->setData([ $this->setData([
'config', 'config',
@ -507,6 +512,7 @@ class config extends common {
'proxyUrl' => $this->getInput('configAdvancedProxyUrl'), 'proxyUrl' => $this->getInput('configAdvancedProxyUrl'),
'proxyPort' => $this->getInput('configAdvancedProxyPort',helper::FILTER_INT), 'proxyPort' => $this->getInput('configAdvancedProxyPort',helper::FILTER_INT),
'captchaStrong' => $this->getInput('configAdvancedCaptchaStrong',helper::FILTER_BOOLEAN), 'captchaStrong' => $this->getInput('configAdvancedCaptchaStrong',helper::FILTER_BOOLEAN),
'autoDisconnect' => $this->getInput('configAdvancedAutoDisconnect',helper::FILTER_BOOLEAN),
'smtp' => [ 'smtp' => [
'enable' => $this->getInput('configAdvancedSmtpEnable',helper::FILTER_BOOLEAN), 'enable' => $this->getInput('configAdvancedSmtpEnable',helper::FILTER_BOOLEAN),
'host' => $this->getInput('configAdvancedSmtpHost',helper::FILTER_STRING_SHORT), 'host' => $this->getInput('configAdvancedSmtpHost',helper::FILTER_STRING_SHORT),

View File

@ -44,7 +44,7 @@
<h4>Réglages</h4> <h4>Réglages</h4>
<?php $error = helper::urlGetContents('http://zwiicms.fr/update/' . common::ZWII_UPDATE_CHANNEL . '/version');?> <?php $error = helper::urlGetContents('http://zwiicms.fr/update/' . common::ZWII_UPDATE_CHANNEL . '/version');?>
<div class="row"> <div class="row">
<div class="col4"> <div class="col6">
<?php echo template::file('configAdvancedFavicon', [ <?php echo template::file('configAdvancedFavicon', [
'type' => 1, 'type' => 1,
'help' => 'Pensez à supprimer le cache de votre navigateur si la favicon ne change pas.', 'help' => 'Pensez à supprimer le cache de votre navigateur si la favicon ne change pas.',
@ -52,7 +52,7 @@
'value' => $this->getData(['config', 'favicon']) 'value' => $this->getData(['config', 'favicon'])
]); ?> ]); ?>
</div> </div>
<div class="col4"> <div class="col6">
<?php echo template::file('configAdvancedFaviconDark', [ <?php echo template::file('configAdvancedFaviconDark', [
'type' => 1, 'type' => 1,
'help' => 'Sélectionnez une icône adaptée à un thème sombre.<br>Pensez à supprimer le cache de votre navigateur si la favicon ne change pas.', 'help' => 'Sélectionnez une icône adaptée à un thème sombre.<br>Pensez à supprimer le cache de votre navigateur si la favicon ne change pas.',
@ -60,51 +60,63 @@
'value' => $this->getData(['config', 'faviconDark']) 'value' => $this->getData(['config', 'faviconDark'])
]); ?> ]); ?>
</div> </div>
<div class="col4"> </div>
<div class="row">
<div class="col6">
<?php echo template::select('configAdvancedItemsperPage', $module::$ItemsList, [ <?php echo template::select('configAdvancedItemsperPage', $module::$ItemsList, [
'label' => 'Articles par page', 'label' => 'Articles par page',
'selected' => $this->getData(['config', 'itemsperPage']), 'selected' => $this->getData(['config', 'itemsperPage']),
'help' => 'Modules Blog et News' 'help' => 'Modules Blog et News'
]); ?> ]); ?>
</div> </div>
</div> <div class="col6">
<div class="row">
<div class="col4">
<?php echo template::select('configAdvancedTimezone', $module::$timezones, [ <?php echo template::select('configAdvancedTimezone', $module::$timezones, [
'label' => 'Fuseau horaire', 'label' => 'Fuseau horaire',
'selected' => $this->getData(['config', 'timezone']), 'selected' => $this->getData(['config', 'timezone']),
'help' => 'Le fuseau horaire est utile au bon référencement' 'help' => 'Le fuseau horaire est utile au bon référencement'
]); ?> ]); ?>
</div> </div>
<div class="col4 verticalAlignBottom">
<?php echo template::checkbox('configAdvancedCookieConsent', true, 'Consentement aux cookies', [
'checked' => $this->getData(['config', 'cookieConsent'])
]); ?>
</div>
<div class="col4 verticalAlignBottom">
<?php echo template::checkbox('configAdvancedCaptchaStrong', true, 'Captcha renforcé', [
'checked' => $this->getData(['config','captchaStrong']),
'help' => 'Option recommandée pour sécuriser la connexion. S\'applique à tous les captchas du site. Le captcha simple se limite à une addition de nombres de 0 à 10. Le captcha renforcé utilise quatre opérations de nombres de 0 à 20.'
]); ?>
</div>
</div> </div>
<div class="row"> <div class="row">
<div class="col4"> <div class="col6">
<?php echo template::checkbox('configAdvancedCookieConsent', true, 'Consentement aux cookies', [
'checked' => $this->getData(['config', 'cookieConsent']),
'help' => 'Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.'
]); ?>
</div>
<div class="col6">
<?php echo template::checkbox('rewrite', true, 'Réécriture d\'URL', [ <?php echo template::checkbox('rewrite', true, 'Réécriture d\'URL', [
'checked' => helper::checkRewrite(), 'checked' => helper::checkRewrite(),
'help' => 'Vérifiez d\'abord que votre serveur l\'autorise : ce n\'est pas le cas chez Free.' 'help' => 'Vérifiez d\'abord que votre serveur l\'autorise : ce n\'est pas le cas chez Free.'
]); ?> ]); ?>
</div> </div>
<div class="col4">
</div>
<div class="row">
<div class="col6">
<?php echo template::checkbox('configAdvancedAutoBackup', true, 'Sauvegarde quotidienne', [ <?php echo template::checkbox('configAdvancedAutoBackup', true, 'Sauvegarde quotidienne', [
'checked' => $this->getData(['config', 'autoBackup']), 'checked' => $this->getData(['config', 'autoBackup']),
'help' => '<p>Une archive contenant le dossier /site/data est copiée dans le dossier \'site/backup\'. La sauvegarde est conservée pendant 30 jours.</p><p>Les fichiers du site ne sont pas sauvegardés automatiquement.</p>' 'help' => 'Une archive contenant le dossier /site/data est copiée dans le dossier \'site/backup\'. La sauvegarde est conservée pendant 30 jours.</p><p>Les fichiers du site ne sont pas sauvegardés automatiquement. Activation recommandée.'
]); ?> ]); ?>
</div> </div>
<div class="col4"> <div class="col6">
<?php echo template::checkbox('configAdvancedFileBackup', true, 'Copie de sauvegarde', [ <?php echo template::checkbox('configAdvancedFileBackup', true, 'Copie de sauvegarde', [
'checked' => file_exists('site/data/.backup'), 'checked' => file_exists('site/data/.backup'),
'help' => '<p>Un fichier .backup.json est généré à chaque édition ou effacement d\'une donnée. La désactivation entraîne la suppression de ces fichiers.</p>' 'help' => 'Un fichier .backup.json est généré à chaque édition ou effacement d\'une donnée. La désactivation entraîne la suppression de ces fichiers. Activation recommandée.'
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::checkbox('configAdvancedCaptchaStrong', true, 'Captcha renforcé', [
'checked' => $this->getData(['config','captchaStrong']),
'help' => 'Option recommandée pour sécuriser la connexion. S\'applique à tous les captchas du site. Le captcha simple se limite à une addition de nombres de 0 à 10. Le captcha renforcé utilise quatre opérations de nombres de 0 à 20. Activation recommandée.'
]); ?>
</div>
<div class="col6">
<?php echo template::checkbox('configAdvancedAutoDisconnect', true, 'Déconnexion automatique', [
'checked' => $this->getData(['config','autoDisconnect']),
'help' => 'Déconnecte les sessions ouvertes précédemment sur d\'autres navigateurs ou terminaux. Activation recommandée.'
]); ?> ]); ?>
</div> </div>
</div> </div>
@ -116,14 +128,14 @@
'disabled' => !$error 'disabled' => !$error
]); ?> ]); ?>
</div> </div>
<div class="col4 "> <div class="col4">
<?php echo template::checkbox('configAdvancedAutoUpdateHtaccess', true, 'Préserver htaccess', [ <?php echo template::checkbox('configAdvancedAutoUpdateHtaccess', true, 'Préserver htaccess', [
'checked' => $this->getData(['config', 'autoUpdateHtaccess']), 'checked' => $this->getData(['config', 'autoUpdateHtaccess']),
'help' => 'Lors d\'une mise à jour automatique, conserve le fichier htaccess de la racine du site.', 'help' => 'Lors d\'une mise à jour automatique, conserve le fichier htaccess de la racine du site.',
'disabled' => !$error 'disabled' => !$error
]); ?> ]); ?>
</div> </div>
<div class="col4 "> <div class="col4">
<?php echo template::button('configAdvancedUpdateForced', [ <?php echo template::button('configAdvancedUpdateForced', [
'ico' => 'download-cloud', 'ico' => 'download-cloud',
'href' => helper::baseUrl() . 'install/update', 'href' => helper::baseUrl() . 'install/update',