forked from ZwiiCMS-Team/ZwiiCMS
Merge branch '10400' into 11000
This commit is contained in:
commit
0ab9c3e309
2
.gitignore
vendored
2
.gitignore
vendored
@ -10,6 +10,8 @@ site/backup/*
|
|||||||
site/data/*.json
|
site/data/*.json
|
||||||
site/data/*.css
|
site/data/*.css
|
||||||
site/data/fr/*.json
|
site/data/fr/*.json
|
||||||
|
site/data/fr/*.back
|
||||||
|
site/data/*.back
|
||||||
|
|
||||||
|
|
||||||
# Fichiers uploadés
|
# Fichiers uploadés
|
||||||
|
50
CHANGES.md
50
CHANGES.md
@ -18,6 +18,14 @@
|
|||||||
- Traduction automatique dans la langue du navigateur.
|
- Traduction automatique dans la langue du navigateur.
|
||||||
- Amélioration de la structure du flux RSS.
|
- Amélioration de la structure du flux RSS.
|
||||||
|
|
||||||
|
## Version 10.3.13
|
||||||
|
Modifications :
|
||||||
|
- Système de données (JsonDN) :
|
||||||
|
- Verrouillage des fichiers de données ouverts en écriture.
|
||||||
|
- Message d'erreur littéral.
|
||||||
|
- Sauvegarde des fichiers de données après un effacement et une écriture.
|
||||||
|
- Google Analytics, option d'anonymisation.
|
||||||
|
|
||||||
## Version 10.3.12
|
## Version 10.3.12
|
||||||
Correction :
|
Correction :
|
||||||
- Impossibilité de lister les commentaires des articles de blog dans la fenêtre de gestion.
|
- Impossibilité de lister les commentaires des articles de blog dans la fenêtre de gestion.
|
||||||
@ -40,7 +48,7 @@ Modification :
|
|||||||
Corrections :
|
Corrections :
|
||||||
- Configuration : persistance de l'ouverture des blocs.
|
- Configuration : persistance de l'ouverture des blocs.
|
||||||
- Réinitialisation du mot de passe :
|
- Réinitialisation du mot de passe :
|
||||||
- Remise à zéro du timer après renouvellement du mot de passe.
|
- Remise à zéro du timer après renouvèlement du mot de passe.
|
||||||
- Affichage de le fenêtre "Nouveau mot de passe" allégée.
|
- Affichage de le fenêtre "Nouveau mot de passe" allégée.
|
||||||
- Redirection sur la page d'accueil.
|
- Redirection sur la page d'accueil.
|
||||||
- Modules news et blog : transparence icône RSS.
|
- Modules news et blog : transparence icône RSS.
|
||||||
@ -57,7 +65,7 @@ Corrections :
|
|||||||
|
|
||||||
## version 10.3.06
|
## version 10.3.06
|
||||||
- Correction :
|
- Correction :
|
||||||
- Edition de page avec module, le changement de mise en page désactive le bouton d'option du module.
|
- Édition de page avec module, le changement de mise en page désactive le bouton d'option du module.
|
||||||
- Modification :
|
- Modification :
|
||||||
- Modules News et Blog : ajout de l'option flux RSS. L'option est activée par défaut.
|
- Modules News et Blog : ajout de l'option flux RSS. L'option est activée par défaut.
|
||||||
|
|
||||||
@ -119,7 +127,7 @@ Corrections :
|
|||||||
|
|
||||||
## version 10.3.00
|
## version 10.3.00
|
||||||
- Corrections :
|
- Corrections :
|
||||||
- Bloquage de l'incrémentation de l'id de page lorsque deux pages ont le même nom.
|
- Incrémentation de l'id de page bloquée lorsque deux pages ont le même nom.
|
||||||
- Login : l'option "Se souvenir de moi" est fonctionnelle.
|
- Login : l'option "Se souvenir de moi" est fonctionnelle.
|
||||||
- Menu : déplacement de la classe "active".
|
- Menu : déplacement de la classe "active".
|
||||||
- Le titre dans la configuration du module non affiché si le titre de la page est masqué.
|
- Le titre dans la configuration du module non affiché si le titre de la page est masqué.
|
||||||
@ -136,7 +144,7 @@ Corrections :
|
|||||||
- Configuration du site :
|
- Configuration du site :
|
||||||
- Pages 403 (accès interdit), 404 (page introuvable) et site en maintenance personnalisables
|
- Pages 403 (accès interdit), 404 (page introuvable) et site en maintenance personnalisables
|
||||||
- Sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur ; le nom de l'archive prend le nom du sous-domaine s'il existe.
|
- Sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur ; le nom de l'archive prend le nom du sous-domaine s'il existe.
|
||||||
- Captcha : addition présentée en lettres sous la forme d'images, réponse en chiffres ; correction du nom de la fonction (capcha en captcha).
|
- Captcha : addition présentée en lettres sous la forme d'images, réponse en chiffres ; correction du nom de la fonction (captcha en captcha).
|
||||||
- Page :
|
- Page :
|
||||||
- Duplication d'une page.
|
- Duplication d'une page.
|
||||||
- Mise à jour :
|
- Mise à jour :
|
||||||
@ -175,7 +183,7 @@ Corrections :
|
|||||||
## version 10.2.03
|
## version 10.2.03
|
||||||
- Corrections :
|
- Corrections :
|
||||||
- Les entrées de menu disposent d'une classe par groupe de parent en lieu et place des ids.
|
- Les entrées de menu disposent d'une classe par groupe de parent en lieu et place des ids.
|
||||||
- Edition du compte de l'utilisateur, empêcher le préremplissage de l'ancien mot de passe.
|
- Édition du compte de l'utilisateur, empêcher le pré-remplissage de l'ancien mot de passe.
|
||||||
- Reformulation du mail de confirmation d'inscription.
|
- Reformulation du mail de confirmation d'inscription.
|
||||||
- Champ de sélection de fichiers, suppression de la couleur des URL lors d'un survol
|
- Champ de sélection de fichiers, suppression de la couleur des URL lors d'un survol
|
||||||
- Modifications :
|
- Modifications :
|
||||||
@ -192,7 +200,7 @@ Corrections :
|
|||||||
- Optimisation et correction de l'algorithme de contrôle d'accès.
|
- Optimisation et correction de l'algorithme de contrôle d'accès.
|
||||||
- Erreur des noms de champ barre des membres dans le pied de page.
|
- Erreur des noms de champ barre des membres dans le pied de page.
|
||||||
- Génération de l'image tag, amélioration du code et du message d'erreur.
|
- Génération de l'image tag, amélioration du code et du message d'erreur.
|
||||||
- Edition de page, erreur lors de la sélection d'une icône de menu.
|
- Édition de page, erreur lors de la sélection d'une icône de menu.
|
||||||
- Problème lors de l'installation, impossibilité d'obtenir l'écran de configuration.
|
- Problème lors de l'installation, impossibilité d'obtenir l'écran de configuration.
|
||||||
|
|
||||||
## version 10.2.00
|
## version 10.2.00
|
||||||
@ -200,11 +208,11 @@ Corrections :
|
|||||||
- jQuery v3.5.1
|
- jQuery v3.5.1
|
||||||
- Nouveautés :
|
- Nouveautés :
|
||||||
- Gestion des accès concurrents :
|
- Gestion des accès concurrents :
|
||||||
- deux utilisateurs ne peuvent accèder en modification à la même page du site ou de configuration
|
- deux utilisateurs ne peuvent accéder en modification à la même page du site ou de configuration
|
||||||
- la connexion d'un utilisateur sur un autre poste ou navigateur déconnecte la session précédente.
|
- la connexion d'un utilisateur sur un autre poste ou navigateur déconnecte la session précédente.
|
||||||
- sécurisation du login
|
- sécurisation du login
|
||||||
- journalisation de l'utilisation du site
|
- journalisation de l'utilisation du site
|
||||||
- Ecran de configuration et d'édition des pages, les blocs sont pliables et dépliables afin d'alléger l'occupation sur l'écran. Le statut des blocs (fermés ; ouverts) est persistante au cours de la session.
|
- Écran de configuration et d'édition des pages, les blocs sont pliables et dépliables afin d'alléger l'occupation sur l'écran. Le statut des blocs (fermés ; ouverts) est persistante au cours de la session.
|
||||||
- Modifications :
|
- Modifications :
|
||||||
- Thème, les sélecteurs de couleur affiche la valeur RGBa d'une couleur différente de celle de la sélection.
|
- Thème, les sélecteurs de couleur affiche la valeur RGBa d'une couleur différente de celle de la sélection.
|
||||||
- Thème de l'administration, amélioration du rendu.
|
- Thème de l'administration, amélioration du rendu.
|
||||||
@ -278,16 +286,16 @@ Corrections :
|
|||||||
- Améliorations :
|
- Améliorations :
|
||||||
- Architecture de stockage des données.
|
- Architecture de stockage des données.
|
||||||
- Les données sont désormais stockées dans des fichiers distincts (core, config, theme, user, page et module).
|
- Les données sont désormais stockées dans des fichiers distincts (core, config, theme, user, page et module).
|
||||||
- Les données relatives aux pages et aux modules sont stockées dans un dossier localisé fr par défaut en préaration de la version multilangues.
|
- Les données relatives aux pages et aux modules sont stockées dans un dossier localisé fr par défaut en préparation de la version multi-langues.
|
||||||
- Gestion des données :
|
- Gestion des données :
|
||||||
- Le système ne conserve plus en mémoire l'intégralité des données de site comme dans les versions précédentes.
|
- Le système ne conserve plus en mémoire l'intégralité des données de site comme dans les versions précédentes.
|
||||||
- Les données du site sont chargées à la demande au lieu d'être lues dans leur intégralité.
|
- Les données du site sont chargées à la demande au lieu d'être lues dans leur intégralité.
|
||||||
- Les mises à jour et effacements sont appliquées en direct sur le disque.
|
- Les mises à jour et effacements sont appliquées en direct sur le disque.
|
||||||
- Modifications :
|
- Modifications :
|
||||||
- Module gallery optimisé, tri dynamique, choix du thème.
|
- Module gallery optimisé, tri dynamique, choix du thème.
|
||||||
- Module blog présentation optimisée avec options de position de l'image, la métadescription est le contenu de l'article.
|
- Module blog présentation optimisée avec options de position de l'image, la méta-description est le contenu de l'article.
|
||||||
- Chargement paresseux des images.
|
- Chargement paresseux des images.
|
||||||
- Edition de page : suppression de l'option d'ouverture dans une lity.
|
- Édition de page : suppression de l'option d'ouverture dans une lity.
|
||||||
- Protection des données des modules en cas de changement lors de l'édition d'une page.
|
- Protection des données des modules en cas de changement lors de l'édition d'une page.
|
||||||
Corrections de bug :
|
Corrections de bug :
|
||||||
- Mise à jour automatique : procédure modifiée, désactivée si allow_url_fopen = off sur le serveur
|
- Mise à jour automatique : procédure modifiée, désactivée si allow_url_fopen = off sur le serveur
|
||||||
@ -412,7 +420,7 @@ Corrections de bug :
|
|||||||
- L'effet de couleur de fond personnalisé d'une page sélectionnée dans le menu est limité aux pages parents.
|
- L'effet de couleur de fond personnalisé d'une page sélectionnée dans le menu est limité aux pages parents.
|
||||||
- Améliorations :
|
- Améliorations :
|
||||||
- Affichage du contenu seul d'une page du site dans une popup Lity sans menu, bannière et pied de page.
|
- Affichage du contenu seul d'une page du site dans une popup Lity sans menu, bannière et pied de page.
|
||||||
- Editeur de texte ; effet accordéon, les accordéons peuvent être tous refermés.
|
- Éditeur de texte ; effet accordéon, les accordéons peuvent être tous refermés.
|
||||||
- Thème ; menu : lorsque le menu est réduit, le titre du site peut être inséré à la gauche du menu burger.
|
- Thème ; menu : lorsque le menu est réduit, le titre du site peut être inséré à la gauche du menu burger.
|
||||||
|
|
||||||
## version 9.2.14
|
## version 9.2.14
|
||||||
@ -444,7 +452,7 @@ Corrections de bug :
|
|||||||
- Supprimer le forçage de l'affichage des médias à 100%
|
- Supprimer le forçage de l'affichage des médias à 100%
|
||||||
- Activer le dimensionnement des médias
|
- Activer le dimensionnement des médias
|
||||||
- Module Form :
|
- Module Form :
|
||||||
- Etiquette de séparation
|
- Étiquette de séparation
|
||||||
- Checkbox retourne un astérisque plutôt que 1
|
- Checkbox retourne un astérisque plutôt que 1
|
||||||
- Thème - Menu :
|
- Thème - Menu :
|
||||||
- Couleur de fond de la page sélectionnée
|
- Couleur de fond de la page sélectionnée
|
||||||
@ -454,7 +462,7 @@ Corrections de bug :
|
|||||||
- Corrections :
|
- Corrections :
|
||||||
- Marge du pied de page par défaut 5px
|
- Marge du pied de page par défaut 5px
|
||||||
- Installation sans site exemple : suppression des barres latérales
|
- Installation sans site exemple : suppression des barres latérales
|
||||||
- Edition de page :
|
- Édition de page :
|
||||||
- Affichage de l'option Fil d'ariane alors que le titre est masqué.
|
- Affichage de l'option Fil d'ariane alors que le titre est masqué.
|
||||||
- Page parente, l'option "ne pas afficher les pages enfants dans le menu horizontal" est incompatible avec une page désactivée : désactivation et masquage lorsque la page est désactivée.
|
- Page parente, l'option "ne pas afficher les pages enfants dans le menu horizontal" est incompatible avec une page désactivée : désactivation et masquage lorsque la page est désactivée.
|
||||||
- Mauvais encodage des titres de pages perturbant l'affichage des caractères spéciaux ( ex: apostrophes ).
|
- Mauvais encodage des titres de pages perturbant l'affichage des caractères spéciaux ( ex: apostrophes ).
|
||||||
@ -484,7 +492,7 @@ Corrections de bug :
|
|||||||
|
|
||||||
## Version 9.2.08
|
## Version 9.2.08
|
||||||
- Correction :
|
- Correction :
|
||||||
- Edition de page : bug empêchant le paramétrage d'un module après un changement de gabarit.
|
- Édition de page : bug empêchant le paramétrage d'un module après un changement de gabarit.
|
||||||
- Modification :
|
- Modification :
|
||||||
- Aide de l'édition des pages
|
- Aide de l'édition des pages
|
||||||
|
|
||||||
@ -524,7 +532,7 @@ Corrections de bug :
|
|||||||
## Version 9.2.01
|
## Version 9.2.01
|
||||||
- Corrections :
|
- Corrections :
|
||||||
- Sauvegarde du thème : prise en compte du fichier custom.css
|
- Sauvegarde du thème : prise en compte du fichier custom.css
|
||||||
- Edition de page : libellés
|
- Édition de page : libellés
|
||||||
- Thème ; footer : marges du pied de page placé hors du site
|
- Thème ; footer : marges du pied de page placé hors du site
|
||||||
- Thème ; footer : aperçu du texte personnalisé
|
- Thème ; footer : aperçu du texte personnalisé
|
||||||
|
|
||||||
@ -590,7 +598,7 @@ Corrections de bug :
|
|||||||
- Réécriture activée après chaque mise à jour auto.
|
- Réécriture activée après chaque mise à jour auto.
|
||||||
- Modifications :
|
- Modifications :
|
||||||
- Thème 100% fluide sans marge
|
- Thème 100% fluide sans marge
|
||||||
- Ecran de smartphone (ex : iPhone 6) : adaptation de la barre d'administration : le username est masqué et la taille des icônes est augmentée
|
- Écran de smartphone (ex : iPhone 6) : adaptation de la barre d'administration : le username est masqué et la taille des icônes est augmentée
|
||||||
- Chemins vers les données dans des constantes
|
- Chemins vers les données dans des constantes
|
||||||
- Modèles de bannières de plusieurs dimensions
|
- Modèles de bannières de plusieurs dimensions
|
||||||
- Hauteur de police par défaut 13px
|
- Hauteur de police par défaut 13px
|
||||||
@ -680,7 +688,7 @@ Corrections de bug :
|
|||||||
|
|
||||||
## Version 9.0.18
|
## Version 9.0.18
|
||||||
- Correction :
|
- Correction :
|
||||||
- Etat par défaut du numéro de version mal récupéré
|
- État par défaut du numéro de version mal récupéré
|
||||||
|
|
||||||
## Version 9.0.17
|
## Version 9.0.17
|
||||||
- Mises à jour :
|
- Mises à jour :
|
||||||
@ -695,7 +703,7 @@ Corrections de bug :
|
|||||||
|
|
||||||
## Version 9.0.16
|
## Version 9.0.16
|
||||||
- Correction :
|
- Correction :
|
||||||
- Nom de page constitué de caractères filtrés empchant la création d'un Id valide.
|
- Nom de page constitué de caractères filtrés empêchant la création d'un Id valide.
|
||||||
- Module Gallery : bouton de fermeture sous Edge
|
- Module Gallery : bouton de fermeture sous Edge
|
||||||
|
|
||||||
## Version 9.0.15
|
## Version 9.0.15
|
||||||
@ -720,7 +728,7 @@ Corrections de bug :
|
|||||||
## Version 9.0.12
|
## Version 9.0.12
|
||||||
- Corrections :
|
- Corrections :
|
||||||
- Configuration de Tippy pour l'utilisation de l'argument title dans les balises a et img. Data-tippy-content reste un argument reconnu
|
- Configuration de Tippy pour l'utilisation de l'argument title dans les balises a et img. Data-tippy-content reste un argument reconnu
|
||||||
- Bug de la redirection lorsqu'un dossier porte le nom d'une page, le contrôle de cohérence est déplacé dans page.
|
- Bug de la redirection lorsque un dossier porte le nom d'une page, le contrôle de cohérence est déplacé dans page.
|
||||||
|
|
||||||
## Version 9.0.11
|
## Version 9.0.11
|
||||||
- Corrections :
|
- Corrections :
|
||||||
@ -770,7 +778,7 @@ Corrections de bug :
|
|||||||
- Thème :
|
- Thème :
|
||||||
- nouvelle position du menu dans le site quand la bannière est au-dessus.
|
- nouvelle position du menu dans le site quand la bannière est au-dessus.
|
||||||
- Simplification et ordre des libellés position du menu par rapport à la bannière
|
- Simplification et ordre des libellés position du menu par rapport à la bannière
|
||||||
- Editeur de texte, scrolle lorsque l'éditeur est ouvert, la barre d'outil se colle sous la barre d'administration.
|
- Éditeur de texte, scrolle lorsque l'éditeur est ouvert, la barre d'outil se colle sous la barre d'administration.
|
||||||
- TinyMCE :
|
- TinyMCE :
|
||||||
- liste des pages du site dans la fenêtre des liens
|
- liste des pages du site dans la fenêtre des liens
|
||||||
- option lightbox pour l'affichage d'images ou de liens
|
- option lightbox pour l'affichage d'images ou de liens
|
||||||
|
@ -23,9 +23,9 @@ class JsonDb extends \Prowebcraft\Dot
|
|||||||
{
|
{
|
||||||
$this->config = array_merge([
|
$this->config = array_merge([
|
||||||
'name' => 'data.json',
|
'name' => 'data.json',
|
||||||
'backup' => 5,
|
'backup' => false,
|
||||||
'dir' => getcwd(),
|
'dir' => getcwd()
|
||||||
'template' => getcwd() . DIRECTORY_SEPARATOR . 'data.template.json'
|
//'template' => getcwd() . DIRECTORY_SEPARATOR . 'data.template.json'
|
||||||
], $config);
|
], $config);
|
||||||
$this->loadData();
|
$this->loadData();
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
@ -106,10 +106,17 @@ class JsonDb extends \Prowebcraft\Dot
|
|||||||
if (!file_exists($this->db)) {
|
if (!file_exists($this->db)) {
|
||||||
return null;
|
return null;
|
||||||
} else {
|
} else {
|
||||||
$this->data = json_decode(file_get_contents($this->db), true);
|
// 3 essais
|
||||||
|
for($i = 0; $i <3; $i++) {
|
||||||
|
if ($this->data = json_decode(@file_get_contents($this->db), true) ) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// Pause de 10 millisecondes
|
||||||
|
usleep(10000);
|
||||||
|
}
|
||||||
|
// Gestion de l'erreur
|
||||||
if (!$this->data === null) {
|
if (!$this->data === null) {
|
||||||
throw new \InvalidArgumentException('Database file ' . $this->db
|
exit ('JsonDB : Erreur de lecture du fichier de données ' . $this->db .'. Aucune donnée lisible, essayez dans quelques instants ou vérifiez le système de fichiers.');
|
||||||
. ' contains invalid json object. Please validate or remove file');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -120,6 +127,25 @@ class JsonDb extends \Prowebcraft\Dot
|
|||||||
* Saving to local database
|
* Saving to local database
|
||||||
*/
|
*/
|
||||||
public function save() {
|
public function save() {
|
||||||
file_put_contents($this->db, json_encode($this->data, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT));
|
// Backup file
|
||||||
|
if ($this->config['backup']) {
|
||||||
|
copy ($this->db, $this->db . '.back');
|
||||||
|
}
|
||||||
|
if ( is_writable($this->db) ) {
|
||||||
|
// 3 essais
|
||||||
|
for($i = 0; $i < 3; $i++) {
|
||||||
|
if( @file_put_contents($this->db, json_encode($this->data, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT|LOCK_EX)) !== false) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// Pause de 10 millisecondes
|
||||||
|
usleep(10000);
|
||||||
|
|
||||||
|
}
|
||||||
|
if ($i === 2) {
|
||||||
|
exit ('Jsondb : Erreur d\'écriture dans le fichier de données ' . $this->db . '. Vérifiez le système de fichiers.' );
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
exit ('Jsondb : Écriture interdite dans le fichier de données ' . $this->db .'. Vérifiez les permissions.' );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -206,7 +206,8 @@ class common {
|
|||||||
// Constructeur JsonDB
|
// Constructeur JsonDB
|
||||||
$this->dataFiles[$keys] = new \Prowebcraft\JsonDb([
|
$this->dataFiles[$keys] = new \Prowebcraft\JsonDb([
|
||||||
'name' => $keys . '.json',
|
'name' => $keys . '.json',
|
||||||
'dir' => $this->dataPath ($keys,self::$i18nCurrent)
|
'dir' => $this->dataPath ($keys,self::$i18nCurrent),
|
||||||
|
'backup' => true
|
||||||
]);;
|
]);;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -381,32 +382,25 @@ class common {
|
|||||||
// Aiguillage
|
// Aiguillage
|
||||||
switch(count($keys)) {
|
switch(count($keys)) {
|
||||||
case 1:
|
case 1:
|
||||||
$db->delete($keys[0]);
|
$db->delete($keys[0], true);
|
||||||
$db->save();
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
$db->delete($keys[0].'.'.$keys[1]);
|
$db->delete($keys[0].'.'.$keys[1],true);
|
||||||
$db->save();
|
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
$db->delete($keys[0].'.'.$keys[1].'.'.$keys[2]);
|
$db->delete($keys[0].'.'.$keys[1].'.'.$keys[2], true);
|
||||||
$db->save();
|
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
$db->delete($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3]);
|
$db->delete($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3], true);
|
||||||
$db->save();
|
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
$db->delete($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3].'.'.$keys[4]);
|
$db->delete($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3].'.'.$keys[4], true);
|
||||||
$db->save();
|
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
$db->delete($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3].'.'.$keys[4].'.'.$keys[5]);
|
$db->delete($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3].'.'.$keys[4].'.'.$keys[5], true);
|
||||||
$db->save();
|
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
$db->delete($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3].'.'.$keys[4].'.'.$keys[5].'.'.$keys[6]);
|
$db->delete($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3].'.'.$keys[4].'.'.$keys[5].'.'.$keys[6], true);
|
||||||
$db->save();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -628,7 +622,8 @@ class common {
|
|||||||
$this->setData(['theme',$tempData['theme']]);
|
$this->setData(['theme',$tempData['theme']]);
|
||||||
|
|
||||||
// Import des users sauvegardés si option active
|
// Import des users sauvegardés si option active
|
||||||
if ($keepUsers === false) {
|
if ($keepUsers === false
|
||||||
|
AND $tempData['user'] !== NULL) {
|
||||||
$this->setData(['user',$tempData['user']]);
|
$this->setData(['user',$tempData['user']]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -978,28 +973,22 @@ class common {
|
|||||||
// Aiguillage
|
// Aiguillage
|
||||||
switch(count($keys)) {
|
switch(count($keys)) {
|
||||||
case 2:
|
case 2:
|
||||||
$db->set($keys[0],$keys[1]);
|
$db->set($keys[0],$keys[1], true);
|
||||||
$db->save();
|
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
$db->set($keys[0].'.'.$keys[1],$keys[2]);
|
$db->set($keys[0].'.'.$keys[1],$keys[2], true);
|
||||||
$db->save();
|
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
$db->set($keys[0].'.'.$keys[1].'.'.$keys[2],$keys[3]);
|
$db->set($keys[0].'.'.$keys[1].'.'.$keys[2],$keys[3], true);
|
||||||
$db->save();
|
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
$db->set($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3],$keys[4]);
|
$db->set($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3],$keys[4], true);
|
||||||
$db->save();
|
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
$db->set($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3].'.'.$keys[4],$keys[5]);
|
$db->set($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3].'.'.$keys[4],$keys[5], true);
|
||||||
$db->save();
|
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
$db->set($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3].'.'.$keys[4].'.'.$keys[5],$keys[6]);
|
$db->set($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3].'.'.$keys[4].'.'.$keys[5],$keys[6], true);
|
||||||
$db->save();
|
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
$db->set($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3].'.'.$keys[4].'.'.$keys[5].'.'.$keys[6],$keys[7] );
|
$db->set($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3].'.'.$keys[4].'.'.$keys[5].'.'.$keys[6],$keys[7] );
|
||||||
@ -1967,7 +1956,8 @@ class core extends common {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Accès concurrent stocke la page visitée
|
// Accès concurrent stocke la page visitée
|
||||||
if ($this->getUser('password') === $this->getInput('ZWII_USER_PASSWORD')) {
|
if ($this->getUser('password') === $this->getInput('ZWII_USER_PASSWORD')
|
||||||
|
AND $this->getUser('id') ) {
|
||||||
$this->setData(['user',$this->getUser('id'),'accessUrl',$this->getUrl()]);
|
$this->setData(['user',$this->getUser('id'),'accessUrl',$this->getUrl()]);
|
||||||
$this->setData(['user',$this->getUser('id'),'accessTimer',time()]);
|
$this->setData(['user',$this->getUser('id'),'accessTimer',time()]);
|
||||||
}
|
}
|
||||||
@ -2318,7 +2308,7 @@ class layout extends common {
|
|||||||
window.dataLayer = window.dataLayer || [];
|
window.dataLayer = window.dataLayer || [];
|
||||||
function gtag(){dataLayer.push(arguments);}
|
function gtag(){dataLayer.push(arguments);}
|
||||||
gtag("js", new Date());
|
gtag("js", new Date());
|
||||||
gtag("config","'. $code .'");
|
gtag("config","'. $code .'",{ "anonymize_ip": true });
|
||||||
</script>';
|
</script>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user