Merge branch '12_dev_db' into 12_dev

This commit is contained in:
Fred Tempez 2022-04-14 22:09:58 +02:00
commit 0af64f6792
5 changed files with 82 additions and 1163 deletions

View File

@ -9,6 +9,8 @@
- Options de pages, feuille de style et script attachés à la page.
- Amélioration du thème admin de base, modifications du jeu d'icônes.
- Mise à jour automatisée, affichage de l'erreur en cas d'échec.
- Suppression du support de l'import à partir d'une version 9, y compris pour la restauration des sauvegardes.
- Optimisation du chargement des base de données, mise à jour des scripts jsonDB et dot.
## Version 11.4.00
@ -631,854 +633,4 @@ Corrections :
- É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.
Corrections de bug :
- Mise à jour automatique : procédure modifiée, désactivée si allow_url_fopen = off sur le serveur
## version 9.2.28
- Corrections :
- Mise à jour auto fonctionnelle
- Décalage du thème hors de l'écran
## version 9.2.27
- Corrections :
- Pages d'administration, thème spécifique
- Thème inactif lorsque la réécriture est activée.
- Couleur du texte des boutons gris dans l'interface d'administration.
- TinyMCE :
- La taille de la police et la couleur sont celles définies dans le thème du site.
- Zone d'édition, padding de 5 px à gauche et à droite.
- Barre, sélecteur de page : couleur et taille fixe de la police.
- Supprimer les pointillés lors d'un clic sur une page dans le menu sous Firefox.
## version 9.2.26
- Corrections :
- Amélioration de la gestion du thème administration.
- TinymCE : n'affiche plus l'arrière-plan du site mais la couleur du fond de la page.
- TinymCE : Menu sticky + options de barre d'outils
## version 9.2.25
- Corrections :
- Décalage du site dans SimpleLightbox.
- Zindex du pied de page en position fixe, sous la barre de consentement aux cookies.
- Modifications :
- Désactivation de l'application du thème dans les pages d'administration. Création d'un aperçu dans Thème Site.
- Optimisation configuration simpleLightBox.
- Syntaxe colorée dans TinyMCE Codemirror.
- Configuration barre d'outils et menu.
- Module news : déplacement des styles dans common.css. Couleur de police de la signature dans custom.css-
## version 9.2.24
- Corrections :
- Mauvaise configuration de SimpleLightBox
- Thème : marges du menu en position en-dehors du site
## version 9.2.23
- Nouveautés :
- Configuration du réseau : proxy http ou tcp sans authentification.
- Menu burger remplacé pour une croix quand ouvert.
- Corrections :
- Fonction magic_quotes dépréciée supprimée.
- Mise à jour en ligne :
- problème lors du stockage de décompte de la date de dernière vérification.
- réinitialisation du décompte de vérification lors de l'activation de l'option.
- Thème, Menu :
- Problème avec le menu fixe en-dehors du site et la barre d'outils de TinyMCE sous le menu. Solution, en édition de page l'option de menu fixe est temporairement désactivée.
- Alignement avec le contenu du menu dans le site incorrecte.
- Disparition de la position et de l'alignement du menu.
- Modifications :
- TinyMCE : libellé des fonctions "Afficher dans"
- TinyMCE : nouvelle organisation de la barre d'outils.
- Module Form : option permettant d'ajouter le premier mail dans le formulaire au message de notification (Reply To) afin de répondre directement au message.
- Configuration du site :
- bouton affichant le numéro de la version en ligne.
- uniformisation de la position des champs de saisie.
- Galerie : position du champ de tri des images.
- Mise à jour :
- SimpleLightBox passe en version 2.1.2
## version 9.2.22
- Modifications :
- Aperçu de la police dans les sélecteurs.
- Gestion du canal de mise à jour selon la version installée
- Module Blog : position des boutons d'édition de l'article au-dessus des commentaires.
- Module Gallery :
- choix de la vignette d'album
- Ordres de tri des images d'une galerie, ascendant, descendant ou sans
- Tri, ordre naturel de la galerie et des images de la galerie
- Mises à jour :
- Configurations Code Mirror pour TinyMCE et standalone
## version 9.2.21
- Correction :
- Footer / Texte personnalisé : suppression des sauts de ligne et de paragraphe.
- Modification :
- Thème / Body, couleurs de l'icône retour en haut de page perso personnalisables.
## version 9.2.20
- Corrections :
- Footer / Texte personnalisé : problème d'alignement des colonnes
- Variable non déclarée dans main.php provoquant un warning
## version 9.2.19
- Corrections :
- CSS : marge bouton InputDelete.
- Texte de la page des mentions légales du site d'exemple.
## version 9.2.18
- Corrections :
- Conformité balise p dans span (footer).
- Petites corrections.
- Modifications :
- Installation par défaut : livraison d'une page de mentions légales.
- Image du fond (body), options responsive cover et contain.
- Réseaux sociaux, icône Youtube chaîne ou utilisateur.
- Pied de page, position fixe dans le site.
- Pied de page, option d'affichage des mentions légales disponible uniquement si une page est sélectionnée.
## version 9.2.17
- Correction :
- Affiche le nom du la page plutôt que son id dans le fil d'ariane
## version 9.2.16
- Optimisation :
- Sauvegarde manuelle des données de site (dossiers file et data).
- Modification :
- Stocke la réécriture d'url dans baseUrl en cas de changement d'arborescence lors d'un transfert de site.
- Correction :
- Problème lors de la mise à jour de la variable dataVersion.
## version 9.2.15
- Corrections :
- Sauvegarde des données de site.
- Couleur du titre de site dans le menu réduit.
- L'effet de couleur de fond personnalisé d'une page sélectionnée dans le menu est limité aux pages parents.
- Améliorations :
- Affichage du contenu seul d'une page du site dans une popup Lity sans menu, bannière et pied de page.
- É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.
## version 9.2.14
- Mise à jour :
- Script d'upload du gestionnaire de fichiers
- Modifications :
- Thème : optimisation des masques de saisie pour le site en largeur 750px.
- Corrections :
- Thème : gestion d'erreur lors de l'import d'un thème issu d'une version inférieure.
## version 9.2.13
- Corrections :
- Gestionnaire de fichiers, modifications des paramètres des miniatures.
- Filtrage du nom des pages dans la fenêtre d'édition des pages.
- Format de date dans le module Blog
- Module Form :
- correction des options de champ pour le type étiquette
- Modifications :
- Suppression d'options inutiles dans l'édition d'une page de type de barre latérale.
- Module Form :
- édition : champs doptions condensés
- édition : ordre des champs dans le sélecteur
## version 9.2.12
- Modifications
- TinyMCE :
- Ajout d'un template effet accordéon.
- Supprimer le filtrage des éléments.
- Supprimer le forçage de l'affichage des médias à 100%
- Activer le dimensionnement des médias
- Module Form :
- Étiquette de séparation
- Checkbox retourne un astérisque plutôt que 1
- Thème - Menu :
- Couleur de fond de la page sélectionnée
- Effet bord arrondi, page sélectionnée
## version 9.2.11
- Corrections :
- Marge du pied de page par défaut 5px
- Installation sans site exemple : suppression des barres latérales
- Édition de page :
- 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.
- Mauvais encodage des titres de pages perturbant l'affichage des caractères spéciaux ( ex: apostrophes ).
- Modifications :
- Recherche d'une mise à jour en ligne, s'effectue une fois par jour et devient optionnelle.
- Amélioration de l'écran d'édition des pages.
- iframe responsive
## version 9.2.10
- Modifications préparatoires à la version 10 :
- Lors de l'installation, stockage de l'url de base dans l'éventualité de la restauration d'un backup et de son installation dans une autre arborescence.
- Modification des clés identifiant les légendes du module Gallery : suppression du point de séparation du nom de fichier de l'extension.
- Modifications :
- Thème, bannière : nouvelle option de hauteur calculée à partir de la dimension de l'image sélectionnée.
- Thème, bannière : informations sur l'image sélectionnée (largeur et hauteur).
- Thème, pied de page : réactivation de l'aperçu.
- Corrections :
- Thème, bannière : problème empêchant la bannière d'être cliquable lorsque la hauteur "responsive" de la bannière était sélectionnée.
- Responsive File manager : erreur empêchant l'extraction d'une archive ZIP.
- Mise à jour :
- CodeMirror 5.49.2 et modification des modules installés
## version 9.2.09
- Corrections :
- Module Formulaire, erreur lors de l'envoi d'un premier formulaire
- Thème Pied de page , désactivation de l'aperçu du texte personnalisé
## Version 9.2.08
- Correction :
- Édition de page : bug empêchant le paramétrage d'un module après un changement de gabarit.
- Modification :
- Aide de l'édition des pages
## Version 9.2.07
- Modification :
- Balise <object> responsive
- Placement possible de tous les modules
- Commande de placement libre des modules et du menu latéral [MENU] et [MODULE]
## Version 9.2.06
- Correction :
- Validation html
- Syntaxe du fichier robots.txt
## Version 9.2.05
- Correction :
- Suppression totale de Swiper (dossier source et template Tinymce)
## Version 9.2.04
- Correction :
- Conserver htaccess dans le dossier temp lors du nettoyage
- Suppression :
- Swiper
## Version 9.2.03
- Corrections :
- Menu fixe en dehors du site :
- overlay du sous-menu activé au-dessus de la page
- impossibilité de sélectionner un élément sous un sous-menu
- Modules : les modes de gestion s'affichent en pleine page - réécriture du code.
- Syntaxe du fichier main.php
## Version 9.2.02
- Correction :
- Gestion d'erreur lors de l'installation automatisée d'une mise à jour
## Version 9.2.01
- Corrections :
- Sauvegarde du thème : prise en compte du fichier custom.css
- Édition de page : libellés
- Thème ; footer : marges du pied de page placé hors du site
- Thème ; footer : aperçu du texte personnalisé
## Version 9.2.00
- Nouveautés :
- Module de recherche dans le pied de page
- Mentions légales dans le pied de page
- Les pages "Recherche" et "Plan du site" peuvent être appelées à partir de TinyMCE dans le menu lien.
- Le gabarit du pied de page peut se paramétrer en colonnes et en lignes, de 1 à 3 blocs.
- Gabarit de page, présentation asymétrique des barres latérales : 33% - 50% - 16% et inversement
- Améliorations :
- Gestion des sous-menus : suppression de l'option de masquage des pages dans le menu horizontal
- Remise à plat et homogénéisation des masques d'édition des pages, footer et header
- TinyMCE la fenêtre lien propose le sitemap et le module de recherche
- Correction :
- Menu : alignement avec le contenu, couleur de l'arrière-plan
## Version 9.1.14
- Correction :
- Validation w3C : espace manquant
## Version 9.1.13
- Corrections :
- Erreur du sitemap.xml lorsqu'un blog ne contient pas d'article.
- OpenGraph : erreur lors de la suppression de l'imagette si absente.
## Version 9.1.12
- Amélioration :
- Contrôle d'erreur dans la gestion de l'imagette OpenGraph
- Correction :
- Sitemap.xml : prendre en compte les sous-pages d'une page parente masquée
## Version 9.1.11
- Correction :
- Générateur de sitemap.xml, correction de syntaxe.
## Version 9.1.10
- Améliorations :
- Page sitemap et sitemap.xml : les articles de blog avec le statut brouillon sont masqués.
- Sitemap.xml : ajout de la date de publication des articles.
- Réseau social : Github.
- Correction :
- Suppression du ? dans les URLs vers les fichiers sitemap de robots.txt
## Version 9.1.09
- Améliorations :
- Mise en page petits écrans, modification des marges
- Configuration du site : scripts dans header et body
- Nouvel écran de configuration
- Ajoute la compression gzip et deflate dans htaccess
- Sitemap (page et sitemap.xml) revu et corrigé :
- Prends en compte les articles de blog
- Affiche les pages désactivées sans lien
- Prends en compte les droits de l'utilisateur
- Corrections :
- Déclaration de localisation manquante dans mail.php
- Bug avec le formulaire
- Désactivation url upload dans RFM
## Version 9.1.08
- Corrections :
- Validation du code html et du CSS commun
- Réécriture activée après chaque mise à jour auto.
- Modifications :
- Thème 100% fluide sans marge
- É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
- Modèles de bannières de plusieurs dimensions
- Hauteur de police par défaut 13px
- Mises à jour :
- TinyMCE 4.9.4
- PHPMailer 6.07
- Jquery 3.4.1
## Version 9.1.07
- Correction :
- Ajout d'un utilisateur : autres contrôles avant envoi d'un mail de confirmation
- Suppression :
- Include de script.inc.php et head.inc.html dans main.php
## Version 9.1.06
- Corrections :
- Ajout d'un utilisateur : pas d'envoi du mail de confirmation si les mots de passe ne sont pas identiques.
- Mise à jour automatique : effacement des archives téléchargées
- Z-index des sous-menus augmentés à 8 ; problème d'affichage avec codemirror
- Modification :
- Include de script.inc.php et head.inc.html dans main.php
## Version 9.1.05
- Correction :
- Site par défaut : lien Zwii masqué du menu horizontal
- Modifications :
- Présentation de l'édition des pages
- Largeur dynamique du bouton envoyer dans le formulaire
- Lien dans le footer vers le site Zwii
- Redirection, écran de confirmation
## Version 9.1.04
- Corrections :
- Edition de page : problème mise en page
- Module Form (v1.9) : position et largeur des boutons
- Thème Pied de page : problème d'affichage
- Thème Site : boutons tronqués en 750px : 750px = 0.8em
- Modification :
- Aperçu de la bannière en mode responsive
## Version 9.1.03
- Corrections :
- Edition de page : modification de libellés, masquage d'options petites corrections
- Installation par défaut : chemin vers la bannière
- Image dans le fond du site option automatique
## Version 9.1.02
- Correction :
- Suppression Include
## Version 9.1.01
- Modifications :
- Amélioration de l'algorithme de gestion des barres
- Script Google Analytics
- Menu : effet de surimpression pages filles
- Réorganisation de l'écran d'édition des pages
- Blog : notification hiérarchique lors de la rédaction d'un commentaire
- Form : notification hiérarchique de la réception d'un message
- Thème header : hauteur proportionnelle de la bannière (responsive)
- Ajouts :
- Menu dans une barre latérale : intégral ou sous-menu de la page parente
- Option d'apparition des pages dans le menu latéral ou le menu principal
- Option de chargement d'un modèle de site à l'installation
- Option de masquage des pages enfants dans le menu principal
- Petits écrans, ordre des blocs : Page - Barre Gauche - Barre Droite
- Intégration de la classe Swiper http://idangero.us/swiper/
- Intégration de l'URL canonical
- Icône de suppression des pages dans la barre d'administration
- Gestion du sitemap.xml et du robots.txt
- Corrections :
- Form : option de redirection
## Version 9.0.21
- Mise à jour :
- Code Mirror v5.46
- Corrections :
- Liens de l'éditeur de page : impossibilité de sélectionner un lien vers une page parente
- Export des données du site, problème lors de la création de l'arborescence.
## Version 9.0.20
- Correction :
- Footer : Taille de la police du numéro de version
## Version 9.0.19
- Correction :
- Alignement du menu
## Version 9.0.18
- Correction :
- État par défaut du numéro de version mal récupéré
## Version 9.0.17
- Mises à jour :
- simpleLightBox 1.17.0
- Correction :
- Marges pour les petits écrans en mode connecté
- Ajustement CSS du pied de page
- Harmonisation du contenu des bulles d'aide
- Modifications :
- Ajout du numéro de version dans le pied de page activable dans la configuration du thème
- Désactivation Aviary dans Responsive FileManager
## Version 9.0.16
- Correction :
- 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
## Version 9.0.15
- Corrections :
- Débordement dans le pied de page quand le copyright est à droite
- Modifications :
- Petits écrans, menu d'administration icônes plus grandes
- Masquage de l'icône de gestion du compte
## Version 9.0.14
- Corrections :
- Débordement dans le pied de page quand le copyright est à droite
- Modifications :
- Petits écrans, menu d'administration plus icônes plus grandes
- Masquage de l'icône de gestion du compte
## Version 9.0.13
- Modifications :
- Paramètre Tippy : ajouter area[title]
- SimpleLightbox : bug d'affichage sous Edge, erreur signalée mais corrigée dans Zwii
## Version 9.0.12
- Corrections :
- 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 lorsque un dossier porte le nom d'une page, le contrôle de cohérence est déplacé dans page.
## Version 9.0.11
- Corrections :
- Marges du pied de page
- Tippy par défaut pour l'argument Title
- Disparition du menu lorsque dans le site et que la bannière est déplacée hors du site
## Version 9.0.10
- Corrections :
- Google + non effacé
## Version 9.0.09
- Corrections :
- Nettoyage du code, petites corrections.
## Version 9.0.08
- Modifications :
- Core : les données par défaut ne sont chargées qu'à installation afin d'alléger l'empreinte mémoire du noyau
- Prise en compte de la taille des petits écrans, suppression des marges
- Backup theme.json avant une mise à jour automatique
- Réorganisation des écrans de paramétrage du thème, ordre de saisie, bulles d'aide et nouveaux libellés
- SimpleLightBox : miniatures cliquables permettant de parcourir toutes les images d'une page (comme dans la galerie)
- Barre d'administration : pages inactives en orange.
- Ajouts :
- Thèmes : pied de page choix de police et de styles
- Corrections :
- Faille XSS : liens de connexion encadrés par STRIP_TAGS
- TinyMCE : désactivation du thème mobile ne fonctionnait pas sur ipad et iphone
- Blog 1.3 : image en tête d'article correctement affichée avec effet responsive.
- TinyMCE : taille des miniatures générées par défaut 480 x 320 en vue d'un affichage correct dans le module blog
- Pied de page : correction d'un problème d'affichage sur des écrans inférieurs à 992px
## Version 9.0.07
- Correction :
- Disparition du menu quand la bannière est masquée
- Modifications :
- Barre d'administration : pages organisées
## Version 9.0.06
- Correction :
- Configuration des modes de codemirror
- Modifications :
- TinyMCE : libellés fenêtre des liens
## Version 9.0.05
- Modifications :
- Thème :
- 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
- Éditeur de texte, scrolle lorsque l'éditeur est ouvert, la barre d'outil se colle sous la barre d'administration.
- TinyMCE :
- liste des pages du site dans la fenêtre des liens
- option lightbox pour l'affichage d'images ou de liens
usages : https://sorgalla.com/lity/
## Version 9.0.04
- Corrections :
- Module form 1.6 :
- erreur lors de la non sélection d'un groupe
- captcha inefficace
- Pour les testeurs : la mise à jour automatique n'est plus proposée lors d'une régression, lorsque le numéro de version en ligne est inférieur à celui de la version installée.
- Ajout :
- Redimensionnement des images map : permet d'obtenir des images map fonctionnelles lorsque les dimensions de l'image sont réduites par le thème ou la taille de l'écran.
- La carte peut être générée par https://www.image-map.net/
- Article (en) : https://blog.travismclarke.com/project/imagemap/
- Git : https://github.com/clarketm/image-map
## Version 9.0.03
- Corrections :
- Erreur de mise à jour des options du menu lors du déplacement du header
- Sélection par défaut d'une page de type barre
- Données par défaut : suppression des doubles quotes
## Version 9.0.02
- Correction :
- Mauvais affichage des bulles TIPPY, remplacement des balises TITLE
## Version 9.0.01
- Modifications :
- Abandon de l'envoi masqué des mails du formulaire
- Effacement Google+ des réseaux sociaux
- Rétablissement du background du header
- Opération sur un mauvais type affichant une notice
- Correction :
- La bannière hors site cliquable replacée dans le header
- Hauteur du footer hors site non appliquée
## Version 9.0.00
- Modification :
- Stockage distinct du thème et des autres données (core, config, page, module et users ) avec import des données d'une version 8
- Les thèmes :
- Exporter un thème (avec les images) sous forme d'une archive ZIP à télécharger ou stocker dans le gestionnaire de fichiers.
- Importer un thème à partir des fichiers
- Désactivation de la couleur d'arrière-plan du header lors de l'insertion d'une image
- Nouvelle option de position fixe du menu type Facebook lorsque le menu et en haut de page et hors du site
- Nettoyage des images effacées
- Gabarits de pages : deux barres latérales, une à droite ou à gauche contenant des informations fixes.
- Libellé Modérateur devient Editeur
- Editeur de texte :
- VisualBlocks dans TinyMCE
- CodeMirror dans TinyMCE
- Affichage de la version proposée dans la popup de mise à jour
- Module Formulaire :
- Case à cocher dans les formulaires
- Bouton d'export au format CSV
- Bouton effacer toutes les données
- Notification d'un membre ou email libre
- Edition de page :
- masquage des options inutiles selon le module
- nouvelle option : fil d'ariane des pages filles
- Barre d'administration fixe
Correctif :
- amélioration contre mesure CSRF
- Erreur dans la procédure d'update suite à un ancien numéro de versions sur 4 digits
Mise à jour :
- TinyColoPicker
- PhpMailer 6.0.6
- Responsive FileManager version 9.14.0
- Flatpickr version 4.5.2
- Normalize.css version 8.0.1
- Tippy version 3.3.0
## Version 8.5.9
* Correction :
- Module Form : faille CSRF gestion data
- Problème empêchant la suppression d'une galerie
* Modification :
- Module Form : Bouton tout effacer
## Version 8.5.8
* Correction :
- Erreur dans la procédure d'update suite à un ancien numéro de versions sur 4 digits
## Version 8.5.7
* Correction :
- Message d'erreur ecran modification du compte
## Version 8.5.6
* Correction :
- Destruction de la session au logout
- Thème : aperçu de la modification de la barre de menu au-dessus du site
* Modification :
- Mise à jour RFM 9.14
- Amélioration de la contre mesure CRSF
- Libellé dans TinyMCE (gabarit)
- Setlocal modification des paramètres FR
## Version 8.5.5
* Correction :
- Faille CSRF lors de l'effacement d'un membre
- Faille CSRF lors de l'effacement d'une galerie
- Faille CSRF lors de l'effacement d'un article de blog
- Faille CSRF lors de l'effacement d'un article de news
- Taille de la police dans le footer impossible à modifier
## Version 8.5.4
* Correction :
- Faille CSRF lors de l'effacement d'une page
## Verison 8.5.3
* Modification :
- Config bouton de génération de la capture de l'écran OpenGraph
* Correction :
- Appel de la génération de la capture d'écran OpenGraph quand le fichier est absent
- CSS pour le footer des blocs et non des éléments
- \#footersite, \#footerbody : bloc footer dans et hors site
- \#footersite, \#footerbody a : liens du bloc footer dans et hors site
- Bloc des colonnes dans et hors site :
- \#footersiteLeft, \#footerbodyLef
- \#footersiteCenter, \#footerbodyCenter
- \#footersiteRight, \#footerbodyRight
## Version 8.5.2
* Correction :
- Thème menu : aperçu quand le menu est au-dessus et en-dehors du site
## Version 8.5.1
* Correction :
- Nom de variable incorrect
## Version 8.5.0
* Correction :
- Suppression popup active par défaut dans le menu
- Suppression option de titre de page dans le menu Icone + Texte
* Modification :
- Thème du menu : sélection de la police de caractère
## Version 8.4.9
* Correction :
- Adresse d'une page inactive
* Modification :
- Blog : masquer une image dans l'article tout en conservant la miniature dans l'index
## version 8.4.8
* Correction :
- Fautes de frappe
## Version 8.4.7
* correction :
- Chaine de mise à jour des variables internes
## Version 8.4.6
* corrections :
- Encodage des dates dans la liste des articles news et blog
- Variable itemsperPage stockée dans le mauvais type
## Version 8.4.5
* corrections :
- nettoyage du code core.php
- W3C ajout de balise title manquante
- Inversion de deux balises dans Socials
## Version 8.4.4
* Correction :
- Valeur par défaut et d'update des éléments du footer dans les blocks
## Version 8.4.3
* Correction :
- URL incorrecte dans Metaimage
- Erreur dans la génération du sitemap
- Taille du texte de la bannnière maximale relative (vmax)
- Préfixe des en-têtes html pour OpenGraph
- Balise Titre dans Socials
- Conformité W3C des URL dans socials
## Version 8.4.2
* Correction :
- Modifications de la présentation des en-têtes d'articles de Blog et de News
- Format du mois au format long et en français
## Version 8.4.1
* Correction :
- Erreur de type empêchant l'affichage des articles du blog (nombre d'articles par page)
## Version 8.4.0
* Modifications :
- Footer dans 3 blocs contenant dans l'ordre : Texte, Réseaux sociaux, Copyright
- Pagination variable du nombre d'articles par page (news, blog et form)
- Position des modules Galerie et Form dans une page ; haut ; bas ou libre avec les doubles crochets insérés dans l'article []
- Prise en compte des balises OpenGraph obligatoires title , description, type et images
- Modification de la position des boutons retour et éditer lors de l'affichage d'un article si connecté
- Mise en forme de la composition des articles et des news
- Suppression du message de l'édition des redirections
* Corrections :
- Accès aux pages désactivées par le sitemap
- Réduction du temps d'affichage des notifications
- Image responsive en en-tête de l'article d'un blog
- Mise à jour du gestionnaire de fichiers en version 9.13.1
## version 8.3.13 :
* Modifications :
- Bannière "responsive", nouvelles options de positionnement
- Bouton Edit dans Blog
- Options de position des menus selon la position de la bannière
- Bouton Edition dans un article du blog
- Balise ALT dans les images du menu
- Correction RFM
## version 8.3.12 :
* Modification :
- bouton de retour dans la page d'un article de blog
* Correction :
- miniatures des exemples
## version 8.3.11 :
* Modifications :
- Thème : menu et sous menu sous forme de texte ou d'image (avec ou sans bulle)
- Thème : nouvelle option permettant de cliquer sur la bannière afin de revenir à la racine du site
- Thème : le menu peut être positionné en haut et hors de site sur la largeur de l'écran
- Page : nouvelle option permettant désactiver une page dans le menu. Cette option permet soit de mettre une page en maintenance tout en la laissant active dans le menu, soit de créer une entrée de menu principal sans contenu
- nouvelle option : la bannière devient cliquable et renvoie vers la page d'accueil
- nom des dossiers des images exemples
* Corrections :
- bug des commentaires non déposés quand connecté
- bug présent depuis au moins la version 8.1 et qui faisait boucler l'édition d'une page avec un module de redirection; Après édition, un clic sur retour ou enregistrer renvoie vers la page d'accueil en édition.
- affichage d'une erreur 404 si le contenu d'une page est supprimé
- erreur deans le filemanger si une seule extension demandée
- corrige les droits sur la rédaction des commentaires
- nouvelles icones d'exemple pour les menus
## 8.2.9
* Correction : filemanger : erreur dans la navigation du filemanager dans la sélection de la favicon
* Modification : on peut effacer le contenu d'une page sans provoquer d'erreur 404
## 8.2.8
* Correction : filemanager problème de lecture d'une seule extension
## 8.2.7
* Correction : gestion des droits sur les commentaires du blog
* Correction : une option en double dans TinyMCE
## 8.2.6
* Ajout : module codesample dans TinyMCE
* Correction : erreur pendant de la récupération des données lorsque plusieurs cases à cocher ne sont pas cochées
* Correction : désactivation automatique de la réécriture d'URL lors de l'enregistrement de la configuration du site
* Correction : iframes et vidéos responsives
* Correction : lien de réinitialisation du mot de passe incorrect
* Correction : backup automatique non fonctionnel
* Correction : mauvaise lightbox de confirmation de suppression d'un utilisateur
* Correction : message de modifications non enregistrées lors de la navigation dans le module galerie
* Correction : aperçu incorrect de certaines polices dans la personnalisation du thème
* Correction : légende toujours visible dans le module galerie même lorsqu'elle est vide
* Correction : impossible de modifier un lien ou un tableau dans TinyMCE
* Correction : champ de sélection de date non fonctionnel
* Correction : images non triées par ordre alphabétique dans le module galerie
* Correction : articles après la première page du module blog non accessibles
* Correction : non suppression des données du module rattaché à une page lors de sa suppression
* Mise à jour : TinyMCE en 4.7.9
## 8.2.5
* Ajout : message de confirmation avant la mise à jour
* Ajout : sauvegarde du fichier de données avant une mise à jour
* Ajout : copier / coller avec un clic droit dans TinyMCE
* Ajout : plugin stickytoolbar afin de fixer la barre d'outils dans TinyMCE lors du défilement de la page
* Amélioration : modification du message d'erreur lors d'une mise à jour
* Amélioration : nouveaux textes par défaut à l'installation
* Correction : message de confirmation avant de quitter une page sans enregistrer ne s'affiche pas
* Correction : suppression du plugin legacyoutput qui génère du vieux code à la place du HTML5 dans TinyMCE
* Correction : message d'erreur lors d'une mise à jour avec la réécriture d'URL activée
## 8.2.4
* Ajout : bouton de mise à jour dans la barre utilisateur
* Ajout : mode mobile pour TinyMCE
* Amélioration : rétablissement de la réécriture d'URL après une mise à jour
* Amélioration : affichage des différentes étapes de mise à jour
* Correction : résultat d'une recherche caché par l'overlay de TinyMCE
* Correction : suppression des commentaires d'un article lors du changement de titre
* Mise à jour : TinyMCE en 4.7.8
## 8.2.3
* Ajout : mise à jour automatique de Zwii
* Ajout : surcouche de TinyMCE aux couleurs de Zwii
* Ajout : module pour rétablir le contenu non enregistré dans TinyMCE
* Correction : divers bugs mineurs
## 8.2.2
* Ajout : options avancées des images dans TinyMCE
* Ajout : effet de transition au survol des galeries photos
* Ajout : mode maintenance activable depuis la page de configuration
* Ajout : bordure autour de l'éditeur CSS dans la personnalisation avancée
* Amélioration : optimisation du message de consentement pour les cookies
* Correction : affichage cassé lors de l'ajout d'une image en fin d'article ou news
* Correction : incohérence dans la petite largeur du site
* Correction : erreur dans le script de mise à jour 8.2.0
* Correction : vidéos responsives non fonctionnelles
* Correction : légendes des photos de la galerie invisibles
* Mise à jour : Simplelightbox version 1.11.1
## 8.2.1
* Correction : texte des boutons et des items du menu invisible
## 8.2.0
* Ajout : bouton pour fermer les notifications
* Ajout : barre de progression dans les notifications
* Ajout : flèche pour les items du menu avec sous-menus
* Ajout : personnalisation avancée
* Ajout : nouvelles options de personnalisation
* Ajout : nouvelles tooltips
* Ajout : vidéos et iframes responsives
* Ajout : plugin template afin de créer des colonnes adaptatives dans TinyMCE
* Correction : divers correctifs mineurs
* Mise à jour : Flatpickr version 4.3.2
* Mise à jour : jQuery version 3.3.1
* Mise à jour : Lity version 2.3.0
* Mise à jour : Normalize version 8.0.0
* Mise à jour : TinyMCE version 4.7.7
* Suppression : support multilingue
## 8.1.2
* Correction : popup d'édition du module de redirection visible pour les membres
* Correction : enregistrement des ids et des urls impossible avec des caractères spéciaux
* Mise à jour : ResponsiveFilemanager version 9.12.2
## 8.1.1
* Amélioration : nouvelle méthode de traduction
* Correction : faille de sécurité
* Correction : faute d'orthographe
* Correction : news non publiée lors de la création
* Correction : pas de pagination pour les modules blog et news
* Correction : nombre de caractères max des textareas du générateur de formulaires bloqué à 500
* Correction : impossible d'ajouter un slash dans le titre d'une page
## 8.1.0
* Ajout : message d'erreur en cas d'échec lors d'un envoi d'email
* Ajout : vérification du fichier de données afin d'éviter une corruption
* Ajout : édition des métas des pages
* Ajout : confirmation des lightboxs avec le bouton "Entrée"
* Ajout : suppression des données dans le générateur de formulaires
* Ajout : module blog
* Ajout : module news
* Amélioration : refonte de l'interface
* Amélioration : messages en cas d'absence de contenu dans la galerie et le générateur de formulaires
* Amélioration : optimisation des filtres afin de sécuriser davantage les données enregistrées
* Correction : "Champ obligatoire" dans le module de génération de formulaire invisible
* Correction : changer le titre d'une page supprime le module rattaché
* Correction : impossible de désactiver la sauvegarde automatique des données
* Correction : faille de sécurité au niveau des champs obligatoires
## 8.0.1
* Ajout : mot de passe dans l'email d'installation
* Ajout : redirection vers l'interface de connexion si la page d'accueil est privée
* Ajout : suppression automatique des backups de plus de 30 jours
* Amélioration : suppression de la balise h1 du haut de page afin d'optimiser le référencement des sites
* Correction : mauvais comportement avec les images flottante en fin de page (image coupée)
* Correction : le serveur utilise une adresse email incorrecte pour envoyer des emails (www. en trop)
* Correction : les pages parents cachées s'affichent dans le menu lorsqu'un enfant n'est pas caché
* Correction : bouton de mise à jour toujours visible avec certaines configurations de PHP
* Correction : titre du site toujours visible même lorsqu'il doit être masqué
* Correction : page courante non mise en avant dans le menu lors de son édition
* Correction : texte personnalisé du bouton dans le module formulaire non visible
* Correction : incohérence de casse entre l'identifiant saisi à l'inscription / création de compte et celui envoyé par email
* Mise à jour : jQuery version 3.2.0
* Mise à jour : PHPMailer version 5.5.23
* Mise à jour : ResponsiveFilemanager version 9.11.3
## 8.0.0
Nouvelle version majeure de Zwii.
- Mise à jour automatique : procédure modifiée, désactivée si allow_url_fopen = off sur le serveur

View File

@ -23,20 +23,30 @@ class JsonDb extends \Prowebcraft\Dot
{
$this->config = array_merge([
'name' => 'data.json',
'backup' => 5,
'dir' => getcwd(),
'template' => getcwd() . DIRECTORY_SEPARATOR . 'data.template.json'
'backup' => false,
'dir' => getcwd()
], $config);
$this->loadData();
parent::__construct();
}
/**
* Reload data from file
* @return $this
*/
public function reload()
{
$this->loadData(true);
return $this;
}
/**
* Set value or array of values to path
*
* @param mixed $key Path or array of paths and values
* @param mixed|null $value Value to set if path is not an array
* @param bool $save Сохранить данные в базу
* @param bool $save Save data to database
* @return $this
*/
public function set($key, $value = null, $save = true)
@ -49,10 +59,10 @@ class JsonDb extends \Prowebcraft\Dot
/**
* Add value or array of values to path
*
* @param mixed $key Path or array of paths and values
* @param mixed $key Path or array of paths and values
* @param mixed|null $value Value to set if path is not an array
* @param boolean $pop Helper to pop out last key if value is an array
* @param bool $save Сохранить данные в базу
* @param boolean $pop Helper to pop out last key if value is an array
* @param bool $save Save data to database
* @return $this
*/
public function add($key, $value = null, $pop = false, $save = true)
@ -65,9 +75,9 @@ class JsonDb extends \Prowebcraft\Dot
/**
* Delete path or array of paths
*
* @param mixed $key Path or array of paths to delete
* @param bool $save Сохранить данные в базу
* @return $this
* @param mixed $key Path or array of paths to delete
* @param bool $save Save data to database
* @return $thisurn $this
*/
public function delete($key, $save = true)
{
@ -81,8 +91,8 @@ class JsonDb extends \Prowebcraft\Dot
* optionally format path if it doesn't exist
*
* @param mixed|null $key Path or array of paths to clean
* @param boolean $format Format option
* @param bool $save Сохранить данные в базу
* @param boolean $format Format option
* @param bool $save Save data to database
* @return $this
*/
public function clear($key = null, $format = false, $save = true)
@ -94,26 +104,20 @@ class JsonDb extends \Prowebcraft\Dot
/**
* Загрузка локальной базы данных
* @param bool $reload
* Перезагрузить данные?
* Local database upload
* @param bool $reload Reboot data?
* @return array|mixed|null
*/
protected function loadData($reload = false) {
if ($this->data === null || $reload) {
$this->db = $this->config['dir'] . DIRECTORY_SEPARATOR . $this->config['name'];
if (!file_exists($this->db)) {
$templateFile = $this->config['template'];
if (file_exists($templateFile)) {
copy($templateFile, $this->db);
} else {
//file_put_contents($this->db, '{}');
return null; // Rebuild database manage by CMS
}
return null; // Rebuild database manage by CMS
} else {
if ($this->config['backup']) {
try {
//todo make backup of database
copy ($this->config['dir'] . DIRECTORY_SEPARATOR . $this->config['name'], $this->config['dir'] . DIRECTORY_SEPARATOR . $this->config['name'] . '.backup');
} catch (\Exception $e) {
}
@ -129,7 +133,7 @@ class JsonDb extends \Prowebcraft\Dot
}
/**
* Сохранение в локальную базу
* Save database
*/
public function save() {
file_put_contents($this->db, json_encode($this->data, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT|LOCK_EX)); // Multi user get a locker

View File

@ -165,7 +165,6 @@ class common {
private $saveFlag = false;
// Descripteur de données Entrées / Sorties
// Liste ici tous les fichiers de données
private $dataFiles = [
'admin' => '',
'blacklist' => '',
@ -177,7 +176,6 @@ class common {
'page' => '',
'theme' => '',
'user' => ''
];
public static $fontsWebSafe = [
@ -272,42 +270,6 @@ class common {
self::$i18n = 'fr';
}
// Instanciation de la classe des entrées / sorties
// Récupère les descripteurs
foreach ($this->dataFiles as $keys => $value) {
// Constructeur JsonDB
$this->dataFiles[$keys] = new \Prowebcraft\JsonDb([
'name' => $keys . '.json',
'dir' => $this->dataPath ($keys, self::$i18n),
'backup' => file_exists('site/data/.backup')
]);;
}
// Import version 9
if (file_exists(self::DATA_DIR . 'core.json') === true &&
$this->getData(['core','dataVersion']) < 10000) {
$keepUsers = isset($_SESSION['KEEP_USERS']) ? $_SESSION['KEEP_USERS'] : false;
$this->importData($keepUsers);
unset ($_SESSION['KEEP_USERS']);
// Réinstaller htaccess
copy('core/module/install/ressource/.htaccess', self::DATA_DIR . '.htaccess');
common::$importNotices [] = "Importation réalisée avec succès" ;
//echo '<script>window.location.replace("' . helper::baseUrl() . $this->getData(['config','homePageId']) . '")</script>';
}
// Installation fraîche, initialisation des modules manquants
// La langue d'installation par défaut est fr
foreach ($this->dataFiles as $stageId => $item) {
$folder = $this->dataPath ($stageId, self::$i18n);
if ( file_exists($folder . $stageId .'.json') === false ||
$this->getData([$stageId]) === NULL
) {
$this->initData($stageId, self::$i18n);
common::$coreNotices [] = $stageId ;
}
}
// Utilisateur connecté
if($this->user === []) {
$this->user = $this->getData(['user', $this->getInput('ZWII_USER_ID')]);
@ -470,6 +432,10 @@ class common {
* @param array $keys Clé(s) des données
*/
public function deleteData($keys) {
// Récupère le descripteur dans le tableau dataFiles si absent
$this->connectData($keys[0]);
// Descripteur de la base
$db = $this->dataFiles[$keys[0]];
// Initialisation de la requête par le nom de la base
@ -499,6 +465,9 @@ class common {
return false;
}
// Récupère le descripteur dans le tableau dataFiles si absent
$this->connectData($keys[0]);
// Initialisation du retour en cas d'erreur de descripteur
$success = false;
// Construire la requête dans la base inf à 1 retourner toute la base
@ -524,6 +493,9 @@ class common {
*/
public function getData($keys = []) {
// Récupère le descripteur dans le tableau dataFiles si absent
$this->connectData($keys[0]);
// Eviter une requete vide
if (count($keys) >= 1) {
// descripteur de la base
@ -762,52 +734,27 @@ class common {
return ($this->checkCSRF() AND $this->input['_POST'] !== []);
}
/**
* Import des données de la version 9
* Convertit un fichier de données data.json puis le renomme
*/
public function importData($keepUsers = false) {
// Trois tentatives de lecture
for($i = 0; $i < 3; $i++) {
$tempData=json_decode(file_get_contents(self::DATA_DIR.'core.json'), true);
$tempTheme=json_decode(file_get_contents(self::DATA_DIR.'theme.json'), true);
if($tempData && $tempTheme) {
// Backup
rename (self::DATA_DIR.'core.json',self::DATA_DIR.'imported_core.json');
rename (self::DATA_DIR.'theme.json',self::DATA_DIR.'imported_theme.json');
break;
}
elseif($i === 2) {
throw new \ErrorException('Import des données impossible.');
}
// Pause de 10 millisecondes
usleep(10000);
private function connectData ($database) {
// Installation fraîche, initialisation des modules manquants
// La langue d'installation par défaut est fr
$folder = $this->dataPath ($database, self::$i18n);
if ( file_exists($folder . $database .'.json') === false
) {
$this->initData($database, self::$i18n);
common::$coreNotices [] = $database ;
}
// Dossier de langues
if (!file_exists(self::DATA_DIR . '/fr')) {
mkdir (self::DATA_DIR . '/fr', 0755);
}
// Un seul fichier pour éviter les erreurs de sauvegarde des v9
$tempData = array_merge($tempData,$tempTheme);
// Ecriture des données
$this->setData(['config',$tempData['config']]);
$this->setData(['core',$tempData['core']]);
$this->setData(['page',$tempData['page']]);
$this->setData(['module',$tempData['module']]);
$this->setData(['theme',$tempData['theme']]);
// Import des users sauvegardés si option active
if ($keepUsers === false
AND $tempData['user'] !== NULL) {
$this->setData(['user',$tempData['user']]);
}
// Nettoyage du fichier de thème pour forcer une régénération
if (file_exists(self::DATA_DIR . '/theme.css')) { // On ne sait jamais
unlink (self::DATA_DIR . '/theme.css');
// Instanciation de la classe des entrées / sorties
// Constructeur JsonDB
if (!is_object($this->dataFiles[$database]) ) {
$this->dataFiles[$database] = new \Prowebcraft\JsonDb([
'name' => $database . '.json',
'dir' => $this->dataPath ($database, self::$i18n),
'backup' => file_exists('site/data/.backup')
]);;
}
}

View File

@ -2,195 +2,11 @@
/**
* Mises à jour suivant les versions de Zwii
*/
// Version 9.0.0
if($this->getData(['core', 'dataVersion']) < 9000) {
$this->deleteData(['theme', 'site', 'block']);
if ($this->getData(['theme','menu','position']) === 'body-top') {
$this->setData(['theme','menu','position','top']);
}
$this->setData(['theme', 'menu','fixed',false]);
$this->setData(['core', 'dataVersion', 9000]);
//$this->SaveData();
}
// Version 9.0.01
if($this->getData(['core', 'dataVersion']) < 9001) {
$this->deleteData(['config', 'social', 'googleplusId']);
$this->setData(['core', 'dataVersion', 9001]);
//$this->SaveData();
}
// Version 9.0.08
if($this->getData(['core', 'dataVersion']) < 9008) {
$this->setData(['theme', 'footer', 'textTransform','none']);
$this->setData(['theme', 'footer', 'fontWeight','normal']);
$this->setData(['theme', 'footer', 'fontSize','.8em']);
$this->setData(['theme', 'footer', 'font','Open+Sans']);
$this->setData(['core', 'dataVersion', 9008]);
//$this->SaveData();
}
// Version 9.0.09
if($this->getData(['core', 'dataVersion']) < 9009) {
$this->setData(['core', 'dataVersion', 9009]);
//$this->SaveData();
}
// Version 9.0.10
if($this->getData(['core', 'dataVersion']) < 9010) {
$this->deleteData(['config', 'social', 'googleplusId']);
$this->setData(['core', 'dataVersion', 9010]);
//$this->SaveData();
}
// Version 9.0.11
if($this->getData(['core', 'dataVersion']) < 9011) {
if ($this->getData(['theme','menu','position']) === 'body')
$this->setData(['theme','menu','position','site']);
$this->setData(['core', 'dataVersion', 9011]);
//$this->SaveData();
}
// Version 9.0.17
if($this->getData(['core', 'dataVersion']) < 9017) {
$this->setData(['theme','footer','displayVersion', true ]);
$this->setData(['core', 'dataVersion', 9017]);
//$this->SaveData();
}
// Version 9.1.0
if($this->getData(['core', 'dataVersion']) < 9100) {
$this->setData(['theme','footer','displayVersion', true ]);
$this->setData(['theme','footer','displaySiteMap', true ]);
$this->setData(['theme','footer','displayCopyright', false ]);
$this->setData(['core', 'dataVersion', 9100]);
//$this->SaveData();
}
// Version 9.2.00
if($this->getData(['core', 'dataVersion']) < 9200) {
$this->setData(['theme','footer','template', 3 ]);
$this->setData(['theme','footer','margin', true ]);
$this->setData(['theme','footer','displayLegal', !empty($this->getdata(['config','legalPageId'])) ]);
$this->setData(['theme','footer','displaySearch', false ]);
$this->setData(['config','social','githubId', '' ]);
$this->setData(['core', 'dataVersion', 9200]);
//$this->SaveData();
}
// Version 9.2.05
if($this->getData(['core', 'dataVersion']) < 9205) {
// Nettoyage Swiper
if (file_exists('core/vendor/tinymce/templates/swiper.html')) {
unlink ('core/vendor/tinymce/templates/swiper.html');
}
if (is_dir('core/vendor/swiper')) {
$dir = getcwd();
chdir('core/vendor/swiper');
$files = glob('*');
foreach($files as $file) unlink($file);
chdir($dir);
rmdir ('core/vendor/swiper/');
}
$this->setData(['core', 'dataVersion', 9205]);
//$this->SaveData();
}
// Version 9.2.10
if($this->getData(['core', 'dataVersion']) < 9210) {
// Utile pour l'installation d'un backup sur un autre serveur
//$this->setData(['core', 'baseUrl', helper::baseUrl(false,false) ]);
// Suppression d'une option de hauteur de la bannière
if ($this->getData(['theme', 'header','height']) === 'none') {
$this->setData(['theme', 'header','height','150px']);
}
// Changer le nom de la clé linkHome -> linkHomePage
$this->setdata(['theme','header','linkHomePage',$this->getData(['theme','header','linkHome'])]);
$this->deleteData(['theme','header','linkHome']);
// Préparation des clés de légendes pour la v10
// Construire une liste plate de parents et d'enfants
$pageList = array();
foreach ($this->getHierarchy(null,null,null) as $parentKey=>$parentValue) {
$pageList [] = $parentKey;
foreach ($parentValue as $childKey) {
$pageList [] = $childKey;
}
}
// Parcourir toutes les pages
foreach ($pageList as $parentKey => $parent) {
//La page a une galerie
if ($this->getData(['page',$parent,'moduleId']) === 'gallery' ) {
// Lire les données du module
// Parcourir les dossiers de la galerie
$tempData = $this->getData(['module', $parent]);
foreach ($tempData as $galleryKey => $galleryItem) {
foreach ($galleryItem as $legendKey => $legendValue) {
// Recherche la clé des légendes
if ($legendKey === 'legend') {
foreach ($legendValue as $itemKey=>$itemValue) {
// Ancien nom avec un point devant l'extension ?
if (strpos($itemKey,'.') > 0) {
// Créer une nouvelle clé
$this->setData(['module', $parent, $galleryKey, 'legend',str_replace('.','',$itemKey),$itemValue]);
// Supprimer la valeur
$this->deleteData(['module', $parent, $galleryKey, 'legend',$itemKey]);
}
}
}
}
}
}
}
$this->setData(['core', 'dataVersion', 9210]);
}
// Version 9.2.11
if($this->getData(['core', 'dataVersion']) < 9211) {
$autoUpdate= mktime(0, 0, 0);
$this->setData(['core', 'lastAutoUpdate', $autoUpdate]);
$this->setData(['config','autoUpdate', true]);
$this->setData(['core', 'dataVersion', 9211]);
}
// Version 9.2.12
if($this->getData(['core', 'dataVersion']) < 9212) {
$this->setData(['theme','menu', 'activeColorAuto',true]);
$this->setData(['theme','menu', 'activeColor','rgba(255, 255, 255, 1)']);
$this->setData(['core', 'dataVersion', 9212]);
//$this->SaveData();
}
// Version 9.2.15
if($this->getData(['core', 'dataVersion']) < 9215) {
// Données de la barre de langue dans le menu
$this->setData(['theme','menu','burgerTitle',true]);
$this->setData(['core', 'dataVersion', 9215]);
}
// Version 9.2.16
if($this->getData(['core', 'dataVersion']) < 9216) {
// Utile pour l'installation d'un backup sur un autre serveur
// mais avec la réécriture d'URM
$this->setData(['core', 'baseUrl', helper::baseUrl(true,false) ]);
$this->setData(['core', 'dataVersion', 9216]);
}
// Version 9.2.21
if($this->getData(['core', 'dataVersion']) < 9221) {
// Utile pour l'installation d'un backup sur un autre serveur
// mais avec la réécriture d'URM
$this->setData(['theme', 'body', 'toTopbackgroundColor', 'rgba(33, 34, 35, .8)' ]);
$this->setData(['theme', 'body', 'toTopColor', 'rgba(255, 255, 255, 1)' ]);
$this->setData(['core', 'dataVersion', 9221]);
}
// Version 9.2.23
if($this->getData(['core', 'dataVersion']) < 9223) {
// Utile pour l'installation d'un backup sur un autre serveur
// mais avec la réécriture d'URM
$this->setData(['config', 'proxyUrl', '' ]);
$this->setData(['config', 'proxyPort', '' ]);
$this->setData(['config', 'proxyType', 'tcp://' ]);
$this->setData(['core', 'dataVersion', 9223]);
}
// Version 9.2.27
if($this->getData(['core', 'dataVersion']) < 9227) {
// Forcer la régénération du thème
if (file_exists(self::DATA_DIR.'theme.css')) {
unlink (self::DATA_DIR.'theme.css');
}
$this->setData(['core', 'dataVersion', 9227]);
// Arrêt du script
exit('ZwiiCMS version 12 est incompatible avec la base de données installée. L\'installation d\'une version intermédiaire 10 ou 11 est nécessaire.');
}
// Version 10.0.00
if($this->getData(['core', 'dataVersion']) < 10000) {
$this->setData(['config', 'faviconDark','faviconDark.ico']);

View File

@ -337,7 +337,13 @@ class config extends common {
switch (strlen($dataVersion)) {
case 4:
if (substr($dataVersion,0,1) === '9' ) {
$version = 9;
// Valeurs en sortie erreur
$this->addOutput([
'title' => 'Restaurer',
'view' => 'restore',
'notification' => 'Cette archive est trop ancienne, elle ne peut être restaurée',
'state' => false
]);
} else {
$version = 0;
}
@ -352,23 +358,18 @@ class config extends common {
$this->removeDir(self::TEMP_DIR . $tmpDir );
if ($version >= 10 ) {
// Option active, les users sont stockées
if ($this->getInput('configRestoreImportUser', helper::FILTER_BOOLEAN) === true ) {
$users = $this->getData(['user']);
// Option active, les users sont stockées
if ($this->getInput('configRestoreImportUser', helper::FILTER_BOOLEAN) === true ) {
$users = $this->getData(['user']);
}
} elseif ($version === 0) { // Version invalide
// Valeurs en sortie erreur
$this->addOutput([
'title' => 'Restaurer',
'view' => 'restore',
'notification' => 'Cette archive n\'est pas une sauvegarde valide',
'state' => false
]);
}
// Préserver les comptes des utilisateurs d'une version 9 si option cochée
// Positionnement d'une variable de session lue au constructeurs
if ($version === 9) {
$_SESSION['KEEP_USERS'] = $this->getInput('configRestoreImportUser', helper::FILTER_BOOLEAN);
// Valeurs en sortie erreur
$this->addOutput([
'title' => 'Restaurer',
'view' => 'restore',
'notification' => 'Cette archive n\'est pas une sauvegarde valide',
'state' => false
]);
}
// Extraire le zip ou 'site/'
$this->removeDir(self::DATA_DIR);
@ -376,7 +377,6 @@ class config extends common {
// Fermer l'archive
$zip->close();
// Restaurer les users originaux d'une v10 si option cochée
if (!empty($users) &&
$version >= 10 &&
@ -391,8 +391,8 @@ class config extends common {
$this->updateBaseUrl($url);
// Effacer la baseUrl
$this->deleteData(['core', 'baseUrl']);
}
}
// Message de notification
$notification = $success === true ? 'Restaurer effectuée avec succès' : 'Erreur inconnue';
$redirect = $this->getInput('configRestoreImportUser', helper::FILTER_BOOLEAN) === true ? helper::baseUrl() . 'config/restore' : helper::baseUrl() . 'user/login/';
@ -808,7 +808,7 @@ class config extends common {
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $filename)
{
if (strpos($filename,'.zip')) {
$r = unlink($filename);
$success = $r === true ? $succes + 1 : $success;
$fail = $r === false ? $fail + 1 : $fail;