Merge branch '10303' into 10400
This commit is contained in:
commit
2384367a68
@ -6,7 +6,7 @@ Zwii est un CMS sans base de données (flat-file) qui permet de créer et gérer
|
|||||||
|
|
||||||
ZwiiCMS a été créé par un développeur de talent, [Rémi Jean](https://remijean.fr/). Il est désormais maintenu par Frédéric Tempez.
|
ZwiiCMS a été créé par un développeur de talent, [Rémi Jean](https://remijean.fr/). Il est désormais maintenu par Frédéric Tempez.
|
||||||
|
|
||||||
[Site](http://zwiicms.com/) - [Forum](http://forum.zwiicms.com/) - [Version initiale](https://github.com/remijean/ZwiiCMS/) - [GitHub](https://github.com/fredtempez/ZwiiCMS)
|
[Site](http://zwiicms.fr/) - [Forum](http://forum.zwiicms.com/) - [Version initiale](https://github.com/remijean/ZwiiCMS/) - [GitHub](https://github.com/fredtempez/ZwiiCMS)
|
||||||
|
|
||||||
## Configuration recommandée
|
## Configuration recommandée
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ ZwiiCMS a été créé par un développeur de talent, [Rémi Jean](https://remij
|
|||||||
|
|
||||||
## Téléchargement de ZwiICMS
|
## Téléchargement de ZwiICMS
|
||||||
|
|
||||||
Pour télécharger la dernière version publiée, il faut vous rendre sur la page de téléchargemet du [site](https://zwiicms.com/telechargements)
|
Pour télécharger la dernière version publiée, il faut vous rendre sur la page de téléchargemet du [site](https://zwiicms.fr/telechargements)
|
||||||
|
|
||||||
La version github est une **version de développement** qui peut encore contenir des bugs mais elle vous permet de tester les dernières nouveautés. Cette version n'est pas recommandée en production.
|
La version github est une **version de développement** qui peut encore contenir des bugs mais elle vous permet de tester les dernières nouveautés. Cette version n'est pas recommandée en production.
|
||||||
|
|
||||||
|
@ -46,13 +46,15 @@ class template {
|
|||||||
'help' => '',
|
'help' => '',
|
||||||
'id' => $nameId,
|
'id' => $nameId,
|
||||||
'name' => $nameId,
|
'name' => $nameId,
|
||||||
'value' => ''
|
'value' => '',
|
||||||
|
'limit' => false
|
||||||
], $attributes);
|
], $attributes);
|
||||||
// Génère deux nombres pour le captcha
|
// Génère deux nombres pour le captcha
|
||||||
$numbers = array(0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20);
|
$numbers = array(0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20);
|
||||||
$letters = array('u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a');
|
$letters = array('u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a');
|
||||||
$firstNumber = rand ( 0 , count($letters)-1 );
|
$limit = $attributes['limit'] ? 9 : count($letters)-1 ;
|
||||||
$secondNumber = rand ( 0 , count($letters)-1 );
|
$firstNumber = rand ( 0 , $limit );
|
||||||
|
$secondNumber = rand ( 0 , $limit );
|
||||||
$result = $firstNumber + $secondNumber;
|
$result = $firstNumber + $secondNumber;
|
||||||
$result = password_hash($result, PASSWORD_BCRYPT);
|
$result = password_hash($result, PASSWORD_BCRYPT);
|
||||||
$firstLetter = uniqid();
|
$firstLetter = uniqid();
|
||||||
|
@ -1270,7 +1270,7 @@ class common {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Contrôle des options php.ini pour la mise à jour auto
|
// Contrôle des options php.ini pour la mise à jour auto
|
||||||
if (helper::urlGetContents('http://zwiicms.com/update/' . common::ZWII_UPDATE_CHANNEL . '/version') === false) {
|
if (helper::urlGetContents('http://zwiicms.fr/update/' . common::ZWII_UPDATE_CHANNEL . '/version') === false) {
|
||||||
$this->setData(['config','autoUpdate',false]);
|
$this->setData(['config','autoUpdate',false]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1470,6 +1470,12 @@ class common {
|
|||||||
}
|
}
|
||||||
$this->setData(['core', 'dataVersion', 10400]);
|
$this->setData(['core', 'dataVersion', 10400]);
|
||||||
}
|
}
|
||||||
|
// Version 10.3.03
|
||||||
|
if ($this->getData(['core', 'dataVersion']) < 10303) {
|
||||||
|
// Activation par défaut du captcha à la connexion
|
||||||
|
$this->setData(['config', 'connect','captcha10', false]);
|
||||||
|
$this->setData(['core', 'dataVersion', 10303]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -275,7 +275,7 @@ class config extends common {
|
|||||||
public function configMetaImage() {
|
public function configMetaImage() {
|
||||||
// fonction désactivée pour un site local
|
// fonction désactivée pour un site local
|
||||||
if ( strpos(helper::baseUrl(false),'localhost') > 0 OR strpos(helper::baseUrl(false),'127.0.0.1') > 0) {
|
if ( strpos(helper::baseUrl(false),'localhost') > 0 OR strpos(helper::baseUrl(false),'127.0.0.1') > 0) {
|
||||||
$site = 'https://zwiicms.com/'; } else {
|
$site = 'https://zwiicms.fr/'; } else {
|
||||||
$site = helper::baseUrl(false); }
|
$site = helper::baseUrl(false); }
|
||||||
|
|
||||||
$success= false;
|
$success= false;
|
||||||
@ -484,7 +484,8 @@ class config extends common {
|
|||||||
'attempt' => $this->getInput('configConnectAttempt',helper::FILTER_INT),
|
'attempt' => $this->getInput('configConnectAttempt',helper::FILTER_INT),
|
||||||
'timeout' => $this->getInput('configConnectTimeout',helper::FILTER_INT),
|
'timeout' => $this->getInput('configConnectTimeout',helper::FILTER_INT),
|
||||||
'log' => $this->getInput('configConnectLog',helper::FILTER_BOOLEAN),
|
'log' => $this->getInput('configConnectLog',helper::FILTER_BOOLEAN),
|
||||||
'captcha' => $this->getInput('configConnectCaptcha',helper::FILTER_BOOLEAN)
|
'captcha' => $this->getInput('configConnectCaptcha',helper::FILTER_BOOLEAN),
|
||||||
|
'captcha10' => $this->getInput('configConnectCaptcha10',helper::FILTER_BOOLEAN)
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
]);
|
]);
|
||||||
|
@ -60,7 +60,7 @@
|
|||||||
<div class="col12">
|
<div class="col12">
|
||||||
<div class="block">
|
<div class="block">
|
||||||
<h4>Paramètres généraux</h4>
|
<h4>Paramètres généraux</h4>
|
||||||
<?php $error = helper::urlGetContents('http://zwiicms.com/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="col4">
|
||||||
<?php echo template::file('configFavicon', [
|
<?php echo template::file('configFavicon', [
|
||||||
@ -343,6 +343,107 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col12">
|
||||||
|
<div class="block" id="login">
|
||||||
|
<h4>Sécurité de la connexion
|
||||||
|
<div class="openClose">
|
||||||
|
<?php
|
||||||
|
echo template::ico('plus-circled','right');
|
||||||
|
echo template::ico('minus-circled','right');
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
</h4>
|
||||||
|
<div class="blockContainer">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col3">
|
||||||
|
<?php echo template::select('configConnectAttempt', $module::$connectAttempt , [
|
||||||
|
'label' => 'Connexions successives',
|
||||||
|
'selected' => $this->getData(['config', 'connect', 'attempt'])
|
||||||
|
]); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col3">
|
||||||
|
<?php echo template::select('configConnectTimeout', $module::$connectTimeout , [
|
||||||
|
'label' => 'Blocage après échecs',
|
||||||
|
'selected' => $this->getData(['config', 'connect', 'timeout'])
|
||||||
|
]); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col3 verticalAlignBottom">
|
||||||
|
<label id="helpBlacklist">Comptes inexistants
|
||||||
|
<?php echo template::help(
|
||||||
|
'La liste noire énumère les tentatives de connexion à partir de comptes inexistants. Sont stockés : la date, l\'heure, le nom du compte et l\'IP.
|
||||||
|
Après le nombre de tentatives autorisées, l\'IP et le compte sont bloqués.');
|
||||||
|
?>
|
||||||
|
</label>
|
||||||
|
<?php echo template::button('configConnectblacListDownload', [
|
||||||
|
'href' => helper::baseUrl() . 'config/blacklistDownload',
|
||||||
|
'value' => 'Télécharger liste noire',
|
||||||
|
'ico' => 'download'
|
||||||
|
]); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col3 verticalAlignBottom">
|
||||||
|
<?php echo template::button('ConfigConnectReset', [
|
||||||
|
'class' => 'buttonRed',
|
||||||
|
'href' => helper::baseUrl() . 'config/blacklistReset',
|
||||||
|
'value' => 'Réinitialiser liste',
|
||||||
|
'ico' => 'cancel'
|
||||||
|
]); ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col3">
|
||||||
|
<?php echo template::checkbox('configConnectCaptcha', true, 'Captcha à la connexion', [
|
||||||
|
'checked' => $this->getData(['config', 'connect','captcha'])
|
||||||
|
]); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col3">
|
||||||
|
<?php echo template::checkbox('configConnectCaptcha10', true, 'Limité à 10 chiffres', [
|
||||||
|
'checked' => $this->getData(['config', 'connect','captcha10'])
|
||||||
|
]); ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col12">
|
||||||
|
<div class="block" id="logs">
|
||||||
|
<h4>Journalisation
|
||||||
|
<div class="openClose">
|
||||||
|
<?php
|
||||||
|
echo template::ico('plus-circled','right');
|
||||||
|
echo template::ico('minus-circled','right');
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
</h4>
|
||||||
|
<div class="blockContainer">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col4 verticalAlignBottom">
|
||||||
|
<?php echo template::checkbox('configConnectLog', true, 'Activer la journalisation', [
|
||||||
|
'checked' => $this->getData(['config', 'connect', 'log'])
|
||||||
|
]); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col3 offset2">
|
||||||
|
<?php echo template::button('ConfigLogDownload', [
|
||||||
|
'href' => helper::baseUrl() . 'config/logDownload',
|
||||||
|
'value' => 'Télécharger journal',
|
||||||
|
'ico' => 'download'
|
||||||
|
]); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col3">
|
||||||
|
<?php echo template::button('ConfigLogReset', [
|
||||||
|
'class' => 'buttonRed',
|
||||||
|
'href' => helper::baseUrl() . 'config/logReset',
|
||||||
|
'value' => 'Réinitialiser journal',
|
||||||
|
'ico' => 'cancel'
|
||||||
|
]); ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col12">
|
<div class="col12">
|
||||||
<div class="block" id="network">
|
<div class="block" id="network">
|
||||||
@ -452,102 +553,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
|
||||||
<div class="col12">
|
|
||||||
<div class="block" id="login">
|
|
||||||
<h4>Sécurité de la connexion
|
|
||||||
<div class="openClose">
|
|
||||||
<?php
|
|
||||||
echo template::ico('plus-circled','right');
|
|
||||||
echo template::ico('minus-circled','right');
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</h4>
|
|
||||||
<div class="blockContainer">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col3">
|
|
||||||
<?php echo template::select('configConnectAttempt', $module::$connectAttempt , [
|
|
||||||
'label' => 'Connexions successives',
|
|
||||||
'selected' => $this->getData(['config', 'connect', 'attempt'])
|
|
||||||
]); ?>
|
|
||||||
</div>
|
|
||||||
<div class="col3">
|
|
||||||
<?php echo template::select('configConnectTimeout', $module::$connectTimeout , [
|
|
||||||
'label' => 'Blocage après échecs',
|
|
||||||
'selected' => $this->getData(['config', 'connect', 'timeout'])
|
|
||||||
]); ?>
|
|
||||||
</div>
|
|
||||||
<div class="col3 verticalAlignBottom">
|
|
||||||
<label id="helpBlacklist">Comptes inexistants
|
|
||||||
<?php echo template::help(
|
|
||||||
'La liste noire énumère les tentatives de connexion à partir de comptes inexistants. Sont stockés : la date, l\'heure, le nom du compte et l\'IP.
|
|
||||||
Après le nombre de tentatives autorisées, l\'IP et le compte sont bloqués.');
|
|
||||||
?>
|
|
||||||
</label>
|
|
||||||
<?php echo template::button('configConnectblacListDownload', [
|
|
||||||
'href' => helper::baseUrl() . 'config/blacklistDownload',
|
|
||||||
'value' => 'Télécharger liste noire',
|
|
||||||
'ico' => 'download'
|
|
||||||
]); ?>
|
|
||||||
</div>
|
|
||||||
<div class="col3 verticalAlignBottom">
|
|
||||||
<?php echo template::button('ConfigConnectReset', [
|
|
||||||
'class' => 'buttonRed',
|
|
||||||
'href' => helper::baseUrl() . 'config/blacklistReset',
|
|
||||||
'value' => 'Réinitialiser liste',
|
|
||||||
'ico' => 'cancel'
|
|
||||||
]); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col4">
|
|
||||||
<?php echo template::checkbox('configConnectCaptcha', true, 'Captcha à la connexion', [
|
|
||||||
'checked' => $this->getData(['config', 'connect','captcha'])
|
|
||||||
]); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col12">
|
|
||||||
<div class="block" id="logs">
|
|
||||||
<h4>Journalisation
|
|
||||||
<div class="openClose">
|
|
||||||
<?php
|
|
||||||
echo template::ico('plus-circled','right');
|
|
||||||
echo template::ico('minus-circled','right');
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</h4>
|
|
||||||
<div class="blockContainer">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col4 verticalAlignBottom">
|
|
||||||
<?php echo template::checkbox('configConnectLog', true, 'Activer la journalisation', [
|
|
||||||
'checked' => $this->getData(['config', 'connect', 'log'])
|
|
||||||
]); ?>
|
|
||||||
</div>
|
|
||||||
<div class="col3 offset2">
|
|
||||||
<?php echo template::button('ConfigLogDownload', [
|
|
||||||
'href' => helper::baseUrl() . 'config/logDownload',
|
|
||||||
'value' => 'Télécharger journal',
|
|
||||||
'ico' => 'download'
|
|
||||||
]); ?>
|
|
||||||
</div>
|
|
||||||
<div class="col3">
|
|
||||||
<?php echo template::button('ConfigLogReset', [
|
|
||||||
'class' => 'buttonRed',
|
|
||||||
'href' => helper::baseUrl() . 'config/logReset',
|
|
||||||
'value' => 'Réinitialiser journal',
|
|
||||||
'ico' => 'cancel'
|
|
||||||
]); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col12">
|
<div class="col12">
|
||||||
<div class="block" id="script">
|
<div class="block" id="script">
|
||||||
|
@ -158,7 +158,7 @@ class install extends common {
|
|||||||
// Téléchargement
|
// Téléchargement
|
||||||
case 2:
|
case 2:
|
||||||
// Téléchargement depuis le serveur de Zwii
|
// Téléchargement depuis le serveur de Zwii
|
||||||
$success = (file_put_contents(self::TEMP_DIR.'update.tar.gz', helper::urlGetContents('https://zwiicms.com/update/' . common::ZWII_UPDATE_CHANNEL . '/update.tar.gz')) !== false);
|
$success = (file_put_contents(self::TEMP_DIR.'update.tar.gz', helper::urlGetContents('https://zwiicms.fr/update/' . common::ZWII_UPDATE_CHANNEL . '/update.tar.gz')) !== false);
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'display' => self::DISPLAY_JSON,
|
'display' => self::DISPLAY_JSON,
|
||||||
|
@ -488,7 +488,7 @@ class init extends common {
|
|||||||
<h2>Article 1 : Les mentions légales</h2>
|
<h2>Article 1 : Les mentions légales</h2>
|
||||||
<p justify="">L’édition et la direction de la publication du site www.site.com est assurée par John Doe, domicilié 1 rue de Paris - 75016 PARIS.</p>
|
<p justify="">L’édition et la direction de la publication du site www.site.com est assurée par John Doe, domicilié 1 rue de Paris - 75016 PARIS.</p>
|
||||||
<p justify="">Numéro de téléphone est 0102030405</p>
|
<p justify="">Numéro de téléphone est 0102030405</p>
|
||||||
<p justify="">Adresse e-mail john.doe@zwiicms.com.</p>
|
<p justify="">Adresse e-mail john.doe@zwiicms.fr.</p>
|
||||||
<p justify="">L\'hébergeur du site www.site.com est la société Nom de l\'hébergeur, dont le siège social est situé au 12 rue de Lyon - 69001 Lyon, avec le numéro de téléphone : 0401020305.</p>
|
<p justify="">L\'hébergeur du site www.site.com est la société Nom de l\'hébergeur, dont le siège social est situé au 12 rue de Lyon - 69001 Lyon, avec le numéro de téléphone : 0401020305.</p>
|
||||||
<h2>ARTICLE 2 : Accès au site</h2>
|
<h2>ARTICLE 2 : Accès au site</h2>
|
||||||
<p justify="">Le site www.site.com permet à l\'Utilisateur un accès gratuit aux services suivants :</p>
|
<p justify="">Le site www.site.com permet à l\'Utilisateur un accès gratuit aux services suivants :</p>
|
||||||
@ -743,7 +743,7 @@ class init extends common {
|
|||||||
]
|
]
|
||||||
],
|
],
|
||||||
'site-de-zwii' => [
|
'site-de-zwii' => [
|
||||||
'url' => 'https://zwiicms.com/',
|
'url' => 'https://zwiicms.fr/',
|
||||||
'count' => 0
|
'count' => 0
|
||||||
],
|
],
|
||||||
'contact' => [
|
'contact' => [
|
||||||
|
@ -15,7 +15,9 @@
|
|||||||
<?php if ($this->getData(['config', 'connect','captcha'])): ?>
|
<?php if ($this->getData(['config', 'connect','captcha'])): ?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col12 textAlignCenter">
|
<div class="col12 textAlignCenter">
|
||||||
<?php echo template::captcha('userLoginCaptcha'); ?>
|
<?php echo template::captcha('userLoginCaptcha', [
|
||||||
|
'limit' => $this->getData(['config','connect','captcha10'])
|
||||||
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php endif;?>
|
<?php endif;?>
|
||||||
|
@ -78,8 +78,10 @@
|
|||||||
<div id="blogArticleContentAlarm"> </div>
|
<div id="blogArticleContentAlarm"> </div>
|
||||||
<?php if($this->getUser('password') !== $this->getInput('ZWII_USER_PASSWORD')): ?>
|
<?php if($this->getUser('password') !== $this->getInput('ZWII_USER_PASSWORD')): ?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col4">
|
<div class="col12">
|
||||||
<?php echo template::captcha('blogArticleCaptcha'); ?>
|
<?php echo template::captcha('blogArticleCaptcha', [
|
||||||
|
'limit' => $this->getData(['config','connect','captcha10'])
|
||||||
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
@ -46,7 +46,9 @@
|
|||||||
<?php if($this->getData(['module', $this->getUrl(0), 'config', 'captcha'])): ?>
|
<?php if($this->getData(['module', $this->getUrl(0), 'config', 'captcha'])): ?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col5">
|
<div class="col5">
|
||||||
<?php echo template::captcha('formCaptcha'); ?>
|
<?php echo template::captcha('formCaptcha', [
|
||||||
|
'limit' => $this->getData(['config','connect','captcha10'])
|
||||||
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
Loading…
Reference in New Issue
Block a user