Compare commits

...

232 Commits

Author SHA1 Message Date
Fred Tempez 5195d970d2 11505 bug catégorie de fonte vide + warning sur variable non initialisée 4 days ago
Fred Tempez 50bff9081d 11505 5 days ago
Fred Tempez 4f44c8e817 Version du core 2 weeks ago
Fred Tempez 9faea02ac3 typos 2 weeks ago
Fred Tempez 67aea648eb 11504 bug API Google 2 weeks ago
Fred Tempez 4716733c34 11504 Génération de la capture d'écran du site 2 weeks ago
Fred Tempez fe07622042 11504 Bug dans le module de recherche 2 weeks ago
Fred Tempez b06f855ffc 11504 bug du sélecteur de module 2 weeks ago
Fred Tempez aa2db372e7 changes 2 weeks ago
Fred Tempez e4e9a808a6 changes 2 weeks ago
Fred Tempez 6dc4951dec 11503 alléger RFM 3 weeks ago
Fred Tempez d77e8ba1e3 lity 90% width + RFM nettoyage dialog 3 weeks ago
Fred Tempez 290aab12d8 11503 Affiche les options d'édition lorsque le module de la page a été effacé 3 weeks ago
Fred Tempez d8ddf7b0d8 Blog 53 icône RSS 3 weeks ago
Fred Tempez 35f8f26409 11503 changes 3 weeks ago
Fred Tempez 136dfad982 11503 Pb de fontes par cdn 3 weeks ago
Fred Tempez 269587a8f6 11503 3 weeks ago
Fred Tempez 0bf783f1fa 11502 changes 3 weeks ago
Fred Tempez bfc1896028 bug cookie consent port différent de 80 3 weeks ago
Fred Tempez cec51c03aa 11502 bug fontes 3 weeks ago
Fred Tempez 8023cb0826 Bouton installation de module 4 weeks ago
Fred Tempez fccc3795f4 typo 4 weeks ago
Fred Tempez 264ae85f0f version 11.5 4 weeks ago
Fred Tempez 1db350e937 search simplification du test 4 weeks ago
Fred Tempez 899b02cf79 update download 2.6 dans le module 4 weeks ago
Fred Tempez 5c358028c9 changes store 4 weeks ago
Fred Tempez d53e3b2df3 Restauration de l'installation à partir du store 4 weeks ago
Fred Tempez 784d73f7ee Bug de la fonction copie 4 weeks ago
Fred Tempez 9c6ef7a346 search correctif pour download 4 weeks ago
Fred Tempez b908be1287 Mise à jour structure pour download 2.6 4 weeks ago
Fred Tempez 18563c61bc Page ajouter nom court non défini 4 weeks ago
Fred Tempez 6ad5d62d1f support image dans le résumé des articles. 1 month ago
Fred Tempez de22004f48 supprimer constantes de modules inutiles 1 month ago
Fred Tempez 556a2f6c1a changes 1 month ago
Fred Tempez 76017a68e3 changes 1 month ago
Fred Tempez faa3d7c895 Numéro de version 2 months ago
Fred Tempez bd1a174272 Validité des fontes 2 months ago
Fred Tempez 66cb645700 typo 2 months ago
Fred Tempez f4437eb72b Descriptif des fichiers 2 months ago
Fred Tempez 52573c58ed déplacement de bloc dans la config 2 months ago
Fred Tempez 538234fbb4 changes 2 months ago
Fred Tempez 6eb4f8fe9f Bug avec les fontes installées 2 months ago
Fred Tempez 1d7483729c Anciens fichiers d'aide non chargés 2 months ago
Fred Tempez 9ebe23aa0b Bug redirect validation cookie consent 2 months ago
Fred Tempez a27f2c2101 typo 2 months ago
Fred Tempez 1e6dbf9243 gitignore 2 months ago
Fred Tempez 785daea994 changes 2 months ago
Fred Tempez 60166caf79 merge complément 2 months ago
Fred Tempez 188dd6b17d Merge branch '114_dev' 2 months ago
Fred Tempez 5b2075a6ac bug htaccess 2 months ago
Fred Tempez 408a8ed60e changes 2 months ago
Fred Tempez 5e25484263 Compatibilité RFM php 8.1 2 months ago
Fred Tempez 2de6bfb149 Merge branch '114_dev' of https://forge.chapril.org/Zwii/ZwiiCMS into 114_dev 2 months ago
Fred Tempez 25d1556210 commentaire htaccess - ligne à ne pas supprimer 2 months ago
Fred Tempez ae71326bd0 virer gitignore 2 months ago
Fred Tempez 60f74c3247 virer gitignore 2 months ago
Fred Tempez f567d7645d Disable rewrite not apache 2 months ago
Fred Tempez 02766515c5 Désactive rewrite URL sous nginx 2 months ago
fredtempez 01dd64f3e1 check Apache Server WIP 2 months ago
fredtempez cc8dcce9e3 init bug rewrite 2 months ago
Fred Tempez ab37ed0ea9 Vérification de type dans import de 11307 + suppression baseUrl de core + numéro de version de defaultdata 2 months ago
Fred Tempez 8a96138620 Supprimer courrier 2 months ago
Fred Tempez a659521c29 font edit restriction activation 2 months ago
Fred Tempez cad736d74b Edition d'une fonte buf affichage des options des sélecteurs 2 months ago
Fred Tempez 8670ee34d6 fira sans url incorrecte 2 months ago
Fred Tempez 3d4be63df8 Fontes locales okay + boutons petits dans le thème 2 months ago
Fred Tempez fbd17e0e38 Préchargement 2 months ago
Fred Tempez f833181e37 arvi roboto et lora websafe 2 months ago
Fred Tempez 908e5501d1 fontes dynamiques selon le scope 2 months ago
Fred Tempez fa4eaa9576 bug filtre fonte installée 2 months ago
Fred Tempez bb0436f79f Fontes chargées à la demande selon le scope 2 months ago
Fred Tempez b5caba6e70 Chargement de toutes les fontes 2 months ago
Fred Tempez 64af161bb2 Select avec family name 2 months ago
Fred Tempez 3177faf3f7 Revert "Supprime la propriété fonts du template select" 2 months ago
Fred Tempez e4b84b024f Supprime la propriété fonts du template select 2 months ago
Fred Tempez 4ec08675be php mailer v6.6.0 2 months ago
Fred Tempez 9a55d4ce02 changes 2 months ago
Fred Tempez e8f338e417 addon add to accessList et changes 2 months ago
Fred Tempez 8c6aaf39c5 config connect libellé 2 months ago
Fred Tempez 16997b9648 state success sitemap 2 months ago
Fred Tempez 1b2991e640 Option qui redirige les pages d'administration vers le login 2 months ago
Fred Tempez 3293522dd1 accessList doublon 2 months ago
Fred Tempez b840d235ad Theme admin fontes non chargées 2 months ago
Fred Tempez bf447031eb bug clé de fonte vide 2 months ago
Fred Tempez f0fc978869 message site map 2 months ago
Fred Tempez 7c83923c46 Bug liste des pages + renommage de fonctions 2 months ago
Fred Tempez 2c7914be34 bug cookie safari 2 months ago
Fred Tempez f18a568451 bug cookies Safari 2 months ago
Fred Tempez 524bf1248e bug url relative dans tinymce 2 months ago
fredtempez 7bce73f553 Initialise les BDD vides 3 months ago
fredtempez c10149eb42 Compatibilité arrayColumn et arrayCollumn 3 months ago
fredtempez a263ebc2a4 sotre renvoie vers addon et non install 3 months ago
fredtempez 81ed0a5cac suspension l'option d'installation d'un module 3 months ago
fredtempez 4ab2284231 Revert "install nettoyage pb de droit ?" 3 months ago
Fred Tempez 058e6c4974 install nettoyage pb de droit ? 3 months ago
fredtempez 03796c6bd1 Bug position images tri manuel 3 months ago
fredtempez 0ec7a8dc4e Gallery sort bug OKAY 3 months ago
fredtempez 714f3b8ceb Merge branch '114_dev' into 114_dev_gallery_sort 3 months ago
fredtempez 6489cec8c3 Nettoyage de code 3 months ago
fredtempez 32154ffd6f Merge branch '114_dev' into 114_dev_gallery_sort 3 months ago
fredtempez 0ecf080d03 Merge branch '114_dev' of https://forge.chapril.org/Zwii/ZwiiCMS into 114_dev 3 months ago
fredtempez cc78360984 URL lien d'aide du thème 3 months ago
Fred Tempez b8016a3bc1 update quotes dans family name 3 months ago
Fred Tempez 0b2f514320 simple quotes 3 months ago
Fred Tempez f35fbb8c71 import presque ok 3 months ago
Fred Tempez c52c6f4438 import de fontes DIR_DATA !!!! 3 months ago
Fred Tempez 3f52396e9d import des fontes WIP 3 months ago
Fred Tempez fa2e4b2be0 import font locale en test 3 months ago
fredtempez 6608f4dbd9 init 3 months ago
fredtempez fe15df439b Table DND 1.0.5 3 months ago
fredtempez 48fb312730 change avec libellé modifié 3 months ago
fredtempez 2b02e058c4 Met à jour les URL absolues 3 months ago
fredtempez aff2dce496 gerpage : supprime un test inutile 3 months ago
Fred Tempez 2f45c1d0c3 format des icônes 3 months ago
Fred Tempez 5bb453739c remove gallery unique du theme 3 months ago
Fred Tempez 8da52e715a galerie avec nouvelles options 3 months ago
fredtempez aea20bb2ae galerie : masquege de l'index d'une galerie unique en option 3 months ago
fredtempez 495a1f30c6 changes 3 months ago
fredtempez ec7ad7eb4f TYPO 3 months ago
fredtempez 68e933eab4 TYPO 3 months ago
fredtempez 74e6103d3b typo 3 months ago
fredtempez 91fdd14d5d Nom court 3 months ago
fredtempez 255349e93c Mise à jour de pages TinyMCE, fonction mal placée 3 months ago
Fred Tempez f2a324e7f1 reload data 3 months ago
fredtempez 6e2b089ee8 changes 3 months ago
fredtempez 0e2542dba5 Formulaire complet de création de galerie 3 months ago
fredtempez 02c7319035 bugs divers 3 months ago
fredtempez 67e873c7ed lignes vides 3 months ago
fredtempez 9f38d65c6a supprimer un bloc et des espaces 3 months ago
Fred Tempez c59f68b455 Galerie 3.5 avec supp espace et option showPageContent 3 months ago
fredtempez 399e94d9cb suppression updatebaseurl 3 months ago
fredtempez 6aa6916354 URL relatives + header adapté 3 months ago
Fred Tempez ea438faae3 typo 3 months ago
Fred Tempez 1a8f99c7ee 11307 fonte placeholder 3 months ago
Fred Tempez 8b27aac5bd 11307 3 months ago
Fred Tempez 5534ea0247 Merge branch '11307-dev' into dev 3 months ago
Fred Tempez fe9a6a8518 Numéro de version 3 months ago
fredtempez b1dabba247 Merge branch '11307-dev' into dev 3 months ago
fredtempez 8e17734144 Mono galerie avec fullscreen ok 3 months ago
fredtempez 041b232dc6 supprimer commentaire 3 months ago
fredtempez ad7001eeb7 gammery 3.4 démarrage en mode plein écran inopérant 3 months ago
Fred Tempez 2c981072a6 Gallery affiche directement la galerie seule + bug style absent 3 months ago
Fred Tempez be1a9515df warning chargement de feuille de style de module absente 3 months ago
Fred Tempez 0eaabc5f64 preconnect GF 3 months ago
Fred Tempez 64272d2c64 conversion des doubles quotes 3 months ago
Fred Tempez 85651cb4db guillemets simples dans update 3 months ago
Fred Tempez 7417b932de warning type vide 3 months ago
fredtempez 93595a53ca supprimer getfonts 3 months ago
fredtempez 8fc7ea86de gestion des fontes : 3 months ago
fredtempez 8bfc8ca519 varibale globale self::$fonts 3 months ago
fredtempez 684212b031 idem pour les autres champs 3 months ago
fredtempez 9e229a5afe Nom de la famille de fonte, suppressio du filtre short string 3 months ago
fredtempez c6144c3aa8 update ajout des fontes locales 3 months ago
fredtempez 10c3d01597 changes 3 months ago
fredtempez 40c6b8d787 Merge branch 'master' into dev 3 months ago
fredtempez edffeecda3 fontes okay 3 months ago
Fred Tempez de202823d9 bug double fontes à tester 3 months ago
Fred Tempez 04324128f0 changes 3 months ago
Fred Tempez ef11622593 ajoute les fontes 3 months ago
Fred Tempez 3f65b79e82 ajout des fontes ok 3 months ago
Fred Tempez 6f42bb480f directory iterator wip 3 months ago
Fred Tempez 84b8ffffa9 init include fonts in progress 3 months ago
Fred Tempez 30baba0a08 Revert "12306-de" 3 months ago
Fred Tempez 3e5fde5839 12306-de 3 months ago
Fred Tempez 2285dd1cc5 bug de fonte admin, fichier de fonte absent 3 months ago
fredtempez 82b3c27b8b bug de fontes 3 months ago
fredtempez 8c9f3d0bd5 Police devient Fonte 3 months ago
fredtempez 7e971a3e38 font par défaut du menu 3 months ago
Fred Tempez 1a4a85406d Merge branch 'master' into dev 3 months ago
Fred Tempez c1cce42737 bug de virgule 3 months ago
fredtempez fd3e17a27f Merge branch 'master' into dev 3 months ago
fredtempez c87face0a2 init 3 months ago
fredtempez 6c29baf30f fira manquant de l'un des thèmes 3 months ago
fredtempez 746f8d5a32 rafraichir les thèmes 3 months ago
fredtempez 1d4913417c changes 3 months ago
fredtempez 141b05ad61 bug type vide 3 months ago
Fred Tempez 307a5ea0e1 resource 3 months ago
Fred Tempez ba7aa5ed51 url to ressource 3 months ago
Fred Tempez 4964d6b08b delete fonte ok 3 months ago
Fred Tempez 7355b06db4 fontEdit en mieux 3 months ago
Fred Tempez d6c2cd62d2 fontEdit à tester 3 months ago
Fred Tempez 827047b8cd formulaire édition de fonte okay 3 months ago
Fred Tempez 9f2fb7732c défaut initialisation 3 months ago
fredtempez dbf1f18e34 font edit à terminer 4 months ago
fredtempez c6e1ef2aeb font Add okay 4 months ago
fredtempez 2aadc1bbaa Nouvelle structure de fontes ok 4 months ago
fredtempez cd6e6145f4 formulaire ajout de fonte okay 4 months ago
fredtempez 29396c8a10 liste des fontes ok 4 months ago
fredtempez bafb7b3bc3 theme liste des polices ok 4 months ago
Fred Tempez 142611e69d theme WIP 4 months ago
fredtempez 9dc533d7a9 Gestion des fontes des feuilles de style ok 4 months ago
fredtempez cfb61590f0 Présentation config / sécurité de la connexion 4 months ago
fredtempez 3284486383 column renommé + import des polices en cours 4 months ago
fredtempez f5ba9c2ccb collumn avec un seul l 4 months ago
fredtempez f4cc1af9ae bug changement menu standard ou accessoire 4 months ago
fredtempez 66faa596dd commentaire et polices par défaut 4 months ago
fredtempez 3d243e3463 Bug : ordre des pages du menu standard a résoudre 4 months ago
fredtempez f57f9ec4bb Ok sans la liste des pages accessoires 4 months ago
fredtempez 015b0377ea menu accessoire, retour à la version la première du js 4 months ago
fredtempez 4c406844cb Merge branch 'dev' of https://forge.chapril.org/fredtempez/ZwiiCMS into dev 4 months ago
fredtempez 06251825cc bannière info dimensions de l'image 4 months ago
fredtempez 88a8793258 Fontes websafe + cdfonts en option 4 months ago
fredtempez 5d63297205 bug help largeur 4 months ago
Fred Tempez 9a469dc71c websafe Manque prévisualisation dans la liste de fontes 4 months ago
fredtempez 6deda024c8 init 4 months ago
fredtempez 5928881ce6 bannière info dimensions de l'image 4 months ago
fredtempez 059efebddd Fontes websafe + cdfonts en option 4 months ago
fredtempez 3117ebedbe bug help largeur 4 months ago
Fred Tempez 2fbf20a612 websafe Manque prévisualisation dans la liste de fontes 4 months ago
Fred Tempez e7bbd18e4c changes et readme 4 months ago
Fred Tempez abdf47cd01 commentaire 4 months ago
Fred Tempez 33086ee933 méthode chargement des polices 4 months ago
Fred Tempez 5e4eede049 change 4 months ago
Fred Tempez f3d64c17f8 numéro de verison et change 4 months ago
Fred Tempez 02f261b51a duplication d'id bis 4 months ago
Fred Tempez a33e4fe738 Revert "duplication d'ID" 4 months ago
Fred Tempez 2a94973073 duplication d'ID 4 months ago
Fred Tempez 44b41c4cc1 proprité ExtraProsition false par défaut 4 months ago
Fred Tempez 19162c3572 changes 4 months ago
Fred Tempez 500372a146 Ordre des pages (menu accessoire) 4 months ago
fredtempez 8edda8e586 Aide vers la page des fontes 4 months ago
fredtempez 79c22bef27 Merge branches '11303-dev' and '11303-dev' of https://forge.chapril.org/fredtempez/ZwiiCMS into 11303-dev 4 months ago
Fred Tempez 6e0fedb15d ordre des pages dans le menu accessoire 4 months ago
fredtempez fe70175221 Liste des pages dans extra 4 months ago
fredtempez 10d8b78b70 Supprimer le theme admin de la page accueil du theme 4 months ago
Fred Tempez 0ac47e16af typo 4 months ago
Fred Tempez 43196b5680 typo 4 months ago
Fred Tempez e2a9cfe252 core version 4 months ago
fredtempez e022892e7d changes 4 months ago
fredtempez b0308ad941 Bug import de fonte + définition d'une fonte en ligne 4 months ago
fredtempez b86d88ed0e Theme moderne corrigé 4 months ago
fredtempez 550c234656 Pb d'URL avec le thème moderne 4 months ago
  1. 20
      .gitignore
  2. 2
      .htaccess
  3. 120
      CHANGES.md
  4. 9
      README.md
  5. 18
      core/class/helper.class.php
  6. 10
      core/class/jsondb/JsonDb.class.php
  7. 5
      core/class/phpmailer/Exception.class.php
  8. 812
      core/class/phpmailer/PHPMailer.class.php
  9. 235
      core/class/phpmailer/SMTP.class.php
  10. 38
      core/class/phpmailer/phpmailer.lang-fr.php
  11. 28
      core/class/template.class.php
  12. 13
      core/core.js.php
  13. 322
      core/core.php
  14. 183
      core/include/update.inc.php
  15. 3
      core/layout/blank.php
  16. 17
      core/layout/main.php
  17. 6
      core/module/addon/addon.php
  18. 8
      core/module/addon/view/index/index.help.html
  19. 6
      core/module/addon/view/index/index.php
  20. 4
      core/module/addon/view/store/store.php
  21. 4
      core/module/addon/view/upload/upload.php
  22. 130
      core/module/config/config.php
  23. 54
      core/module/config/view/connect/connect.php
  24. 16
      core/module/config/view/locale/locale.php
  25. 4
      core/module/config/view/network/network.php
  26. 42
      core/module/config/view/restore/restore.php
  27. 42
      core/module/config/view/setup/setup.php
  28. 48
      core/module/config/view/social/social.php
  29. 55
      core/module/install/install.php
  30. 125
      core/module/install/ressource/defaultdata.php
  31. BIN
      core/module/install/ressource/themes/theme_moderne.zip
  32. 45
      core/module/page/page.php
  33. 48
      core/module/page/view/edit/edit.js.php
  34. 2
      core/module/page/view/edit/edit.php
  35. 8
      core/module/sitemap/sitemap.php
  36. 2218
      core/module/theme/theme.php
  37. 8
      core/module/theme/view/admin/admin.php
  38. 9
      core/module/theme/view/fontAdd/fontAdd.js.php
  39. 47
      core/module/theme/view/fontAdd/fontAdd.php
  40. 18
      core/module/theme/view/fontEdit/fontEdit.css
  41. 59
      core/module/theme/view/fontEdit/fontEdit.js.php
  42. 85
      core/module/theme/view/fontEdit/fontEdit.php
  43. 11
      core/module/theme/view/fonts/fonts copy.php
  44. 17
      core/module/theme/view/fonts/fonts.php
  45. 10
      core/module/theme/view/footer/footer.php
  46. 13
      core/module/theme/view/header/header.js.php
  47. 42
      core/module/theme/view/header/header.php
  48. 3
      core/module/theme/view/index/index.css
  49. 4
      core/module/theme/view/index/index.php
  50. 6
      core/module/theme/view/menu/menu.php
  51. 11
      core/module/theme/view/site/site.js.php
  52. 16
      core/module/theme/view/site/site.php
  53. 4
      core/module/user/user.php
  54. 4
      core/vendor/filemanager/config/config.php
  55. 1
      core/vendor/filemanager/css/jplayer.blue.monday.min.css
  56. 154
      core/vendor/filemanager/css/tui-color-picker.css
  57. 6
      core/vendor/filemanager/css/tui-image-editor.css
  58. 34
      core/vendor/filemanager/dialog.php
  59. 3
      core/vendor/filemanager/js/FileSaver.min.js
  60. 1
      core/vendor/filemanager/js/FileSaver.min.js.map
  61. 2
      core/vendor/filemanager/js/canvas-to-blob.min.js
  62. 1
      core/vendor/filemanager/js/canvas-to-blob.min.js.map
  63. 1
      core/vendor/filemanager/js/fabric.min.js
  64. 3
      core/vendor/filemanager/js/jquery.jplayer.min.js
  65. 2
      core/vendor/filemanager/js/load-image.all.min.js
  66. 1
      core/vendor/filemanager/js/load-image.all.min.js.map
  67. 2
      core/vendor/filemanager/js/tmpl.min.js
  68. 1
      core/vendor/filemanager/js/tmpl.min.js.map
  69. 7
      core/vendor/filemanager/js/tui-code-snippet.min.js
  70. 5226
      core/vendor/filemanager/js/tui-color-picker.js
  71. 62237
      core/vendor/filemanager/js/tui-image-editor.js
  72. 6
      core/vendor/jquery/jquery-ui.min.js
  73. 2
      core/vendor/lity/lity.min.css
  74. 4
      core/vendor/tinymce/init.js
  75. 24
      module/blog/blog.php
  76. 2
      module/blog/view/article/article.php
  77. 4
      module/blog/view/edit/edit.php
  78. 4
      module/form/form.php
  79. 2
      module/form/view/config/config.js.php
  80. 175
      module/gallery/gallery.php
  81. 22
      module/gallery/vendor/tablednd/MIT-LICENSE.txt
  82. 3
      module/gallery/vendor/tablednd/lisez-moi.txt
  83. 4
      module/gallery/vendor/tablednd/tablednd.min.js
  84. 19
      module/gallery/view/add/add.css
  85. 87
      module/gallery/view/add/add.js.php
  86. 68
      module/gallery/view/add/add.php
  87. 67
      module/gallery/view/config/config.js.php
  88. 83
      module/gallery/view/config/config.php
  89. 18
      module/gallery/view/edit/edit.js.php
  90. 101
      module/gallery/view/edit/edit.php
  91. 5
      module/gallery/view/gallery/gallery.js.php
  92. 28
      module/gallery/view/gallery/gallery.php
  93. 1
      module/gallery/view/index/index.php
  94. 39
      module/gallery/view/option/option.php
  95. 18
      module/gallery/view/option/options.css
  96. 229
      module/gallery/view/theme/theme.php
  97. 18
      module/news/news.php
  98. 2
      module/redirection/redirection.php
  99. 15
      module/search/search.php

20
.gitignore vendored

@ -1,19 +1,7 @@
# Fichiers du site
core/class/phpmailer/.DS_Store
site/.DS_Store
site/*
# Dossiers vides dans GitHub
!.gitkeep
/.git
# PHPStorm
.idea/
# Trucs
.DS_Store
core/vendor/tinymce/link_list.json
.vscode/*
sitemap.xml.gz
sitemap.xml
robots.txt
.DS_Store
# Service de mise à jour
gitupdate.sh
sitemap.xml

2
.htaccess

@ -32,5 +32,5 @@ Options -Indexes
Options -MultiViews
</IfModule>
# Attention, surtout ne rien modifier ci-dessous !
# ne pas supprimer la ligne URL rewriting !
# URL rewriting

120
CHANGES.md

@ -1,25 +1,137 @@
# Changelog
## Version 11.3.01
## Version 11.5.05
### Corrections :
- Validation de la fenêtre de consentement au cookie envoyant vers une page inconnue lorsque l'URL contient plusieurs ékéments (exemple : article d'un blog)
## Version 11.5.04
### Corrections :
- Édition d'une page : bug de sélection d'un module absent.
- Rechercher dans le site : impossibilité de rechercher dans le contenu des modules (news, blog et download).
### Amélioration :
- Récupération de la capture d'écran du site, 5 tentatives d'appels de l'API Google sont effectuées avant de retourner un échec.
## Version 11.5.03
### Correction :
- Bug de la génération des feuilles de style des fontes, nouvelle correction.
### Améliorations :
- Responsive File Manager (RFM), les scripts externes et les feuilles de style sont chargées à partir du site et non d'un CDN (jquery, fabric, filesaver et jplayer). Cette modification accélère le primo chargement de la fenêtre des fichiers.
- Fenêtre Lity agrandie à 90% de la largeur de la page, ce réglage s'applique également à RFM ainsi qu'à l'éditeur d'image intégrée.
- Edition d'une page contenant un module effacé sur le disque, la modification et l'effacement de la page sont autorisés.
## Version 11.5.02
### Corrections :
- Bug de la génération des feuilles de style des fontes.
- Bug dans le cookie de consentement lorsque le port n'est pas 80.
## Version 11.5.01
### Modifications :
- Restauration du bouton d'installation d'une archive de module depuis le store.
## Version 11.5.00
### Corrections :
- Ajout d'une nouvelle page, le nom court n'est pas défini.
- Bug de la fonction de copie interne utilisée lors de l'installation de la copie de thème, etc..
### Modifications :
- Le module de recherche analyse les descriptions du module Download (Téléchargement).
- Prise en compte des modifications liées à la mise à jour du module Download (Téléchargement), actualisation du changement de structure 'posts' remplace 'items'
- Restauration de la fonction de téléchargement à partir du store.
## Version 11.4.02
### Modification :
- Liste des fontes, contrôle de validité amélioré.
## Version 11.4.01
### Corrections :
- Défaut de chargement des fontes locales (ex: fichiers woff).
- Un clic sur le bouton de validation du panneau RGPD envoyait systématiquement vers la page d'accueil.
- Chargement des anciens fichiers d'aide absents.
## Version 11.4.00
### Nouveautés :
- Compatibilité avec PHP 8.1
- Prise en charge des fontes Web Safe. Les fontes initiales sont transférées dans les fontes optionnelles, donc effaçables.
- Toutes les fontes en ligne sont désormais acceptées quel que soit le CDN, Google Fonte (avec preconnect), CDN Fontes ou autres.
- Désormais, les URL internes sont relatives, cela signifie qu'elles ne contiendront plus le domaine et le chemin d'accès au site. Cela permettra le déplacement d'un site d'un hébergement à un autre, d'un dossier d'hébergement à un autre, sans avoir à convertir les adresses internes. Les données d'un site mis à jour et importées d'une version antérieures sont automatiquement converties. En conséquence, le bloc de conversion de la fenêtre d'import est supprimé.
- Suppression temporaire de l'option d'installation d'un module, il faudra passer par une connexion FTP pour cela. Cette fonctionnalité a été réécrite pour la version 12.
### Améliorations :
- Configuration de la bannière, modalité d'affichage de la taille d'image recommandée et affichage des dimensions de l'image.
- Edition d'une page, le nom court se complète automatiquement.
- Configuration de la connexion, une option autorise l'affichage de la page de connexion lorsqu'une page de gestion du site est demandée: 'user', 'theme', 'config', 'edit', 'translate', 'addon'.
- L'option de réécriture d'URL n'est pas plus active avec le serveur Nginx.
- Galerie, version 3.5 :
- Nouvelle structure anticipée sur la version 12, le formulaire d'ajout de la galerie est séparé de la liste des galeries du module.
- Lorsque la galerie n'en contient qu'**une seule galerie**, elle peut être affichée directement, la liste des galeries étant ignorée. Pour cela, activer cette option dans les options de la galerie.
- Le contenu de la page peut désormais être affiché avec le contenu de la galerie sélectionnée. Ce paramètre se gère au niveau de chaque galerie.
- Déplacement du bouton de retour à la liste des galeries en bas de l'écran.
### Corrections :
- URL Rewrite Apache, bug d'interprétation d'activation de la réécriture d'URL lorsque des données ont été inscrites après la ligne servant de délimiteur *# URL rewriting* dans le fichier htaccess.
- Module Galerie : correction de bugs, tri des images, erreurs d'affectation.
- Module Blog : taille recommandée de l'image erronée lorsque la largeur de l'écran est réglée sur fluide (100%).
- Gestion des pages : positionnement dans le menu accessoire ou dans le menu standard.
- Safari sur Mac, bug avec les cookies qui ne sont pas stockés.
- Nettoyage du code.
### Mise à jour :
- TableDND, script JQUERY de tri de tables utilisé par la galerie passe en version 1.0.5
- PHPMailer 6.6.0
## Version 11.3.07
### Correction :
- Module galerie, option plein écran inopérante.
### Amélioration :
- Module galerie, lorsque le module ne contient qu'une galerie, la page listant les galeries est omise.
### Modification :
- Neutralisation du téléchargement depuis le catalogue.
## Version 11.3.06
### Corrections :
- Bug d'affichage des blocs de présentation dans la configuration du site.
- Double déclaration d'une fonte locale.
### Améliorations :
- Sauvegarde des fontes avec le thème.
- Une fonte Websafe remplace une fonte locale dont le fichier n'est pas disponible.
## Version 11.3.05
### Correction :
- Dossier du fichier de fontes non créé empêchant la création du fichier des appels de fontes.
## Version 11.3.04
### Correction :
- Duplication d'id dans le menu.
### Amélioration :
- Chargement des fontes optimisé, le dossier data/fonts contient un nouveau fichier fonts.html contenant les url des fontes à télécharger. Ce fichier est généré à chaque modification du thème.
## Version 11.3.03
### Modifications :
- Suppression du thème administration dans le menu du thème.
- Position d'une page dans le menu accessoire, ordre des pages dans le menu de sélection.
- Boutons d'aide dans la page de sélection des fontes.
## Version 11.3.02
### Corrections :
- Importation d'une police sur cdnFonts impossible, nom de fonction incorrect.
- Thème moderne, url de l'image corrigé
- Thème, import d'un thème sauvegardé, conversion des fontes Google.
## Version 11.3.01
### Corrections :
- Gestionnaire de fichier, chevauchement d'icônes en multi sélection et aides non traduites.
- Fontes : utilisation d'une adresse d'import de fonte HTTPS
## Version 11.3.00
### Nouveautés :
- Police de caractères :
- Changement de fournisseur, CdnFonts remplace Google Font.
- Les polices pourront désormais être téléchargées à partir du site et non du CD grâce à une nouvelle fonctionnalité du thème permet de gérer l'installation des fontes, soit à partir du CDN, soit à partir d'un fichier téléchargé.
- Pages dans le menu accessoire. Ce menu à affiché à droite de la barre de menu, il est traditionnellement utilisé pour y placer les drapeaux de traduction, le bouton de connexion et de gestion du compte des membres. Il sera désormais possible d'y placer des pages sous la forme d'icônes de préférence.
- Prise en charge du format webp pour les modules nécessitant des miniatures.
### Améliorations :
- Thème / Bannière : ergonomie de l'information sur l'image sélectionnée.
- Identifications des éléments du menu, les pages parents prennent comme id CSS leur id, les pages enfants également et pour classe Id de la page parente.
### Corrections :
- Thème / site : problème d'aperçu du body ; police du thème admin non chargée.
- Bugs avec les aperçus des sélecteurs de fontes.

9
README.md

@ -1,6 +1,4 @@
# ZwiiCMS 11.3.01
# ZwiiCMS 11.5.05
Zwii est un CMS sans base de données (flat-file) qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation.
@ -78,7 +76,10 @@ Pour revenir à la version 8, renommez ce fichier "data.json".
[F] local.json Données du site propres à la langue
[R] content Dossier des contenus de page
[F] accueil.html Exemple contenu de la page d'accueil
[F] fonts Dossier contenant les fontes installées
[R] fonts Dossier contenant les fontes installées
[F] fonts.html Fichier contenant les appels des fontes à charger sur cdnFonts
[F] fonts.css Fichier contenant la feuille de style liée aux polices de caractères locales
[F] fontes.woff Fichiers locaux des fontes (woff, etc..)
[R] modules Personnalisation des modules ou données propres
[F] admin.css Thème des pages d'administration
[F] admin.json Données de thème des pages d'administration

18
core/class/helper.class.php

@ -86,7 +86,7 @@ class helper {
* @param string $sort Type de tri à appliquer au tableau (SORT_ASC, SORT_DESC, ou null)
* @return array
*/
public static function arrayCollumn($array, $column, $sort = null) {
public static function arrayColumn($array, $column, $sort = null) {
$newArray = [];
if(empty($array) === false) {
$newArray = array_map(function($element) use($column) {
@ -104,6 +104,14 @@ class helper {
return $newArray;
}
/**
* Compatibilité avec les anciens modules
*/
public static function arrayCollumn($array, $column, $sort = null) {
return (helper::arrayColumn($array, $column, $sort));
}
/**
* Génère un backup des données de site
@ -255,11 +263,15 @@ class helper {
* @return bool
*/
public static function checkRewrite() {
if(self::$rewriteStatus === null) {
// N'interroge que le serveur Apache
if (strpos($_SERVER["SERVER_SOFTWARE"], 'Apache') > 0) {
self::$rewriteStatus === false;
} elseif(self::$rewriteStatus === null) {
// Ouvre et scinde le fichier .htaccess
$htaccess = explode('# URL rewriting', file_get_contents('.htaccess'));
// Retourne un boolean en fonction du contenu de la partie réservée à l'URL rewriting
self::$rewriteStatus = (empty($htaccess[1]) === false);
//self::$rewriteStatus = (empty($htaccess[1]) === false);
self::$rewriteStatus = (strpos($htaccess[1], 'RewriteEngine on') > 0) ? true : false;
}
return self::$rewriteStatus;
}

10
core/class/jsondb/JsonDb.class.php

@ -31,6 +31,16 @@ class JsonDb extends \Prowebcraft\Dot
parent::__construct();
}
/**
* Reload data from file
* @return $this
*/
public function reload()
{
$this->loadData(true);
return $this;
}
/**
* Set value or array of values to path
*

5
core/class/phpmailer/Exception.class.php

@ -1,4 +1,5 @@
<?php
/**
* PHPMailer Exception class.
* PHP Version 5.5.
@ -9,7 +10,7 @@
* @author Jim Jagielski (jimjag) <jimjag@gmail.com>
* @author Andy Prevost (codeworxtech) <codeworxtech@users.sourceforge.net>
* @author Brent R. Matzelle (original founder)
* @copyright 2012 - 2017 Marcus Bointon
* @copyright 2012 - 2020 Marcus Bointon
* @copyright 2010 - 2012 Jim Jagielski
* @copyright 2004 - 2009 Andy Prevost
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
@ -34,6 +35,6 @@ class Exception extends \Exception
*/
public function errorMessage()
{
return '<strong>' . htmlspecialchars($this->getMessage()) . "</strong><br />\n";
return '<strong>' . htmlspecialchars($this->getMessage(), ENT_COMPAT | ENT_HTML401) . "</strong><br />\n";
}
}

812
core/class/phpmailer/PHPMailer.class.php

File diff suppressed because it is too large Load Diff

235
core/class/phpmailer/SMTP.class.php

@ -1,4 +1,5 @@
<?php
/**
* PHPMailer RFC821 SMTP email transport class.
* PHP Version 5.5.
@ -9,7 +10,7 @@
* @author Jim Jagielski (jimjag) <jimjag@gmail.com>
* @author Andy Prevost (codeworxtech) <codeworxtech@users.sourceforge.net>
* @author Brent R. Matzelle (original founder)
* @copyright 2012 - 2019 Marcus Bointon
* @copyright 2012 - 2020 Marcus Bointon
* @copyright 2010 - 2012 Jim Jagielski
* @copyright 2004 - 2009 Andy Prevost
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
@ -34,7 +35,7 @@ class SMTP
*
* @var string
*/
const VERSION = '6.1.5';
const VERSION = '6.6.0';
/**
* SMTP line break constant.
@ -185,6 +186,8 @@ class SMTP
'Amazon_SES' => '/[\d]{3} Ok (.*)/',
'SendGrid' => '/[\d]{3} Ok: queued as (.*)/',
'CampaignMonitor' => '/[\d]{3} 2.0.0 OK:([a-zA-Z\d]{48})/',
'Haraka' => '/[\d]{3} Message Queued \((.*)\)/',
'Mailjet' => '/[\d]{3} OK queued as (.*)/',
];
/**
@ -311,17 +314,11 @@ class SMTP
*/
public function connect($host, $port = null, $timeout = 30, $options = [])
{
static $streamok;
//This is enabled by default since 5.0.0 but some providers disable it
//Check this once and cache the result
if (null === $streamok) {
$streamok = function_exists('stream_socket_client');
}
// Clear errors to avoid confusion
//Clear errors to avoid confusion
$this->setError('');
// Make sure we are __not__ connected
//Make sure we are __not__ connected
if ($this->connected()) {
// Already connected, generate error
//Already connected, generate error
$this->setError('Already connected to a server');
return false;
@ -329,18 +326,66 @@ class SMTP
if (empty($port)) {
$port = self::DEFAULT_PORT;
}
// Connect to the SMTP server
//Connect to the SMTP server
$this->edebug(
"Connection: opening to $host:$port, timeout=$timeout, options=" .
(count($options) > 0 ? var_export($options, true) : 'array()'),
self::DEBUG_CONNECTION
);
$this->smtp_conn = $this->getSMTPConnection($host, $port, $timeout, $options);
if ($this->smtp_conn === false) {
//Error info already set inside `getSMTPConnection()`
return false;
}
$this->edebug('Connection: opened', self::DEBUG_CONNECTION);
//Get any announcement
$this->last_reply = $this->get_lines();
$this->edebug('SERVER -> CLIENT: ' . $this->last_reply, self::DEBUG_SERVER);
$responseCode = (int)substr($this->last_reply, 0, 3);
if ($responseCode === 220) {
return true;
}
//Anything other than a 220 response means something went wrong
//RFC 5321 says the server will wait for us to send a QUIT in response to a 554 error
//https://tools.ietf.org/html/rfc5321#section-3.1
if ($responseCode === 554) {
$this->quit();
}
//This will handle 421 responses which may not wait for a QUIT (e.g. if the server is being shut down)
$this->edebug('Connection: closing due to error', self::DEBUG_CONNECTION);
$this->close();
return false;
}
/**
* Create connection to the SMTP server.
*
* @param string $host SMTP server IP or host name
* @param int $port The port number to connect to
* @param int $timeout How long to wait for the connection to open
* @param array $options An array of options for stream_context_create()
*
* @return false|resource
*/
protected function getSMTPConnection($host, $port = null, $timeout = 30, $options = [])
{
static $streamok;
//This is enabled by default since 5.0.0 but some providers disable it
//Check this once and cache the result
if (null === $streamok) {
$streamok = function_exists('stream_socket_client');
}
$errno = 0;
$errstr = '';
if ($streamok) {
$socket_context = stream_context_create($options);
set_error_handler([$this, 'errorHandler']);
$this->smtp_conn = stream_socket_client(
$connection = stream_socket_client(
$host . ':' . $port,
$errno,
$errstr,
@ -348,7 +393,6 @@ class SMTP
STREAM_CLIENT_CONNECT,
$socket_context
);
restore_error_handler();
} else {
//Fall back to fsockopen which should work in more places, but is missing some features
$this->edebug(
@ -356,17 +400,18 @@ class SMTP
self::DEBUG_CONNECTION
);
set_error_handler([$this, 'errorHandler']);
$this->smtp_conn = fsockopen(
$connection = fsockopen(
$host,
$port,
$errno,
$errstr,
$timeout
);
restore_error_handler();
}
// Verify we connected properly
if (!is_resource($this->smtp_conn)) {
restore_error_handler();
//Verify we connected properly
if (!is_resource($connection)) {
$this->setError(
'Failed to connect to server',
'',
@ -381,22 +426,19 @@ class SMTP
return false;
}
$this->edebug('Connection: opened', self::DEBUG_CONNECTION);
// SMTP server can take longer to respond, give longer timeout for first read
// Windows does not have support for this timeout function
//SMTP server can take longer to respond, give longer timeout for first read
//Windows does not have support for this timeout function
if (strpos(PHP_OS, 'WIN') !== 0) {
$max = (int) ini_get('max_execution_time');
// Don't bother if unlimited
if (0 !== $max && $timeout > $max) {
$max = (int)ini_get('max_execution_time');
//Don't bother if unlimited, or if set_time_limit is disabled
if (0 !== $max && $timeout > $max && strpos(ini_get('disable_functions'), 'set_time_limit') === false) {
@set_time_limit($timeout);
}
stream_set_timeout($this->smtp_conn, $timeout, 0);
stream_set_timeout($connection, $timeout, 0);
}
// Get any announcement
$announce = $this->get_lines();
$this->edebug('SERVER -> CLIENT: ' . $announce, self::DEBUG_SERVER);
return true;
return $connection;
}
/**
@ -420,7 +462,7 @@ class SMTP
$crypto_method |= STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT;
}
// Begin encrypted connection
//Begin encrypted connection
set_error_handler([$this, 'errorHandler']);
$crypto_ok = stream_socket_enable_crypto(
$this->smtp_conn,
@ -441,7 +483,7 @@ class SMTP
* @param string $username The user name
* @param string $password The password
* @param string $authtype The auth type (CRAM-MD5, PLAIN, LOGIN, XOAUTH2)
* @param OAuth $OAuth An optional OAuth instance for XOAUTH2 authentication
* @param OAuthTokenProvider $OAuth An optional OAuthTokenProvider instance for XOAUTH2 authentication
*
* @return bool True if successfully authenticated
*/
@ -458,11 +500,11 @@ class SMTP
}
if (array_key_exists('EHLO', $this->server_caps)) {
// SMTP extensions are available; try to find a proper authentication method
//SMTP extensions are available; try to find a proper authentication method
if (!array_key_exists('AUTH', $this->server_caps)) {
$this->setError('Authentication is not allowed at this stage');
// 'at this stage' means that auth may be allowed after the stage changes
// e.g. after STARTTLS
//'at this stage' means that auth may be allowed after the stage changes
//e.g. after STARTTLS
return false;
}
@ -506,22 +548,25 @@ class SMTP
}
switch ($authtype) {
case 'PLAIN':
// Start authentication
//Start authentication
if (!$this->sendCommand('AUTH', 'AUTH PLAIN', 334)) {
return false;
}
// Send encoded username and password
if (!$this->sendCommand(
'User & Password',
base64_encode("\0" . $username . "\0" . $password),
235
)
//Send encoded username and password
if (
//Format from https://tools.ietf.org/html/rfc4616#section-2
//We skip the first field (it's forgery), so the string starts with a null byte
!$this->sendCommand(
'User & Password',
base64_encode("\0" . $username . "\0" . $password),
235
)
) {
return false;
}
break;
case 'LOGIN':
// Start authentication
//Start authentication
if (!$this->sendCommand('AUTH', 'AUTH LOGIN', 334)) {
return false;
}
@ -533,17 +578,17 @@ class SMTP
}
break;
case 'CRAM-MD5':
// Start authentication
//Start authentication
if (!$this->sendCommand('AUTH CRAM-MD5', 'AUTH CRAM-MD5', 334)) {
return false;
}
// Get the challenge
//Get the challenge
$challenge = base64_decode(substr($this->last_reply, 4));
// Build the response
//Build the response
$response = $username . ' ' . $this->hmac($challenge, $password);
// send encoded credentials
//send encoded credentials
return $this->sendCommand('Username', base64_encode($response), 235);
case 'XOAUTH2':
//The OAuth instance must be set up prior to requesting auth.
@ -552,7 +597,7 @@ class SMTP
}
$oauth = $OAuth->getOauth64();
// Start authentication
//Start authentication
if (!$this->sendCommand('AUTH', 'AUTH XOAUTH2 ' . $oauth, 235)) {
return false;
}
@ -582,15 +627,15 @@ class SMTP
return hash_hmac('md5', $data, $key);
}
// The following borrowed from
// http://php.net/manual/en/function.mhash.php#27225
//The following borrowed from
//http://php.net/manual/en/function.mhash.php#27225
// RFC 2104 HMAC implementation for php.
// Creates an md5 HMAC.
// Eliminates the need to install mhash to compute a HMAC
// by Lance Rushing
//RFC 2104 HMAC implementation for php.
//Creates an md5 HMAC.
//Eliminates the need to install mhash to compute a HMAC
//by Lance Rushing
$bytelen = 64; // byte length for md5
$bytelen = 64; //byte length for md5
if (strlen($key) > $bytelen) {
$key = pack('H*', md5($key));
}
@ -613,7 +658,7 @@ class SMTP
if (is_resource($this->smtp_conn)) {
$sock_status = stream_get_meta_data($this->smtp_conn);
if ($sock_status['eof']) {
// The socket is valid but we are not connected
//The socket is valid but we are not connected
$this->edebug(
'SMTP NOTICE: EOF caught while checking if connected',
self::DEBUG_CLIENT
@ -623,7 +668,7 @@ class SMTP
return false;
}
return true; // everything looks good
return true; //everything looks good
}
return false;
@ -641,7 +686,7 @@ class SMTP
$this->server_caps = null;
$this->helo_rply = null;
if (is_resource($this->smtp_conn)) {
// close the connection and cleanup
//Close the connection and cleanup
fclose($this->smtp_conn);
$this->smtp_conn = null; //Makes for cleaner serialization
$this->edebug('Connection: closed', self::DEBUG_CONNECTION);
@ -651,7 +696,7 @@ class SMTP
/**
* Send an SMTP DATA command.
* Issues a data command and sends the msg_data to the server,
* finializing the mail transaction. $msg_data is the message
* finalizing the mail transaction. $msg_data is the message
* that is to be send with the headers. Each header needs to be
* on a single line followed by a <CRLF> with the message headers
* and the message body being separated by an additional <CRLF>.
@ -676,7 +721,7 @@ class SMTP
* NOTE: this does not count towards line-length limit.
*/
// Normalize line breaks before exploding
//Normalize line breaks before exploding
$lines = explode("\n", str_replace(["\r\n", "\r"], "\n", $msg_data));
/* To distinguish between a complete RFC822 message and a plain message body, we check if the first field
@ -722,7 +767,8 @@ class SMTP
//Send the lines to the server
foreach ($lines_out as $line_out) {
//RFC2821 section 4.5.2
//Dot-stuffing as per RFC5321 section 4.5.2
//https://tools.ietf.org/html/rfc5321#section-4.5.2
if (!empty($line_out) && $line_out[0] === '.') {
$line_out = '.' . $line_out;
}
@ -756,7 +802,16 @@ class SMTP
public function hello($host = '')
{
//Try extended hello first (RFC 2821)
return $this->sendHello('EHLO', $host) or $this->sendHello('HELO', $host);
if ($this->sendHello('EHLO', $host)) {
return true;
}
//Some servers shut down the SMTP service here (RFC 5321)
if (substr($this->helo_rply, 0, 3) == '421') {
return false;
}
return $this->sendHello('HELO', $host);
}
/**
@ -946,12 +1001,12 @@ class SMTP
$this->client_send($commandstring . static::LE, $command);
$this->last_reply = $this->get_lines();
// Fetch SMTP code and possible error code explanation
//Fetch SMTP code and possible error code explanation
$matches = [];
if (preg_match('/^([\d]{3})[ -](?:([\d]\\.[\d]\\.[\d]{1,2}) )?/', $this->last_reply, $matches)) {
$code = (int) $matches[1];
$code_ex = (count($matches) > 2 ? $matches[2] : null);
// Cut off error code from each response line
//Cut off error code from each response line
$detail = preg_replace(
"/{$code}[ -]" .
($code_ex ? str_replace('.', '\\.', $code_ex) . ' ' : '') . '/m',
@ -959,7 +1014,7 @@ class SMTP
$this->last_reply
);
} else {
// Fall back to simple parsing if regex fails
//Fall back to simple parsing if regex fails
$code = (int) substr($this->last_reply, 0, 3);
$code_ex = null;
$detail = substr($this->last_reply, 4);
@ -1058,8 +1113,10 @@ class SMTP
{
//If SMTP transcripts are left enabled, or debug output is posted online