Skip to content

Releases: npds/npds_dune

Revolution v.16.8

17 Nov 17:23

Choose a tag to compare

changelog-rev16.8 [ révision : 59 - jpb /8-11-2025 ]
(non exhaustif...) : pour des informations complètes et détaillées visitez la page de comparaison entre cette version et la précédente : v.16.4...v.16.8

Cette version est la première compatible avec php8 et mysql8 ce qui a nécessité de nombreuses corrections. Elle embarque de nouvelles fonctionnalités, corrige des bugs anciens améliore l'homogénéité des interfaces, et renforce la documentation et les traductions. L'implémentation d'un déployeur et de son système de mise à jour de la bd rendra désormais la tâche plus facile pour effectuer les mises à jour des portails npds et les installations neuves...

  • support PHP5 non maintenu ...

  • abandon support de l'extension mysql de PHP (now only mysqli)

  • php8++ mysql8 :
    modification de REGEXP dans les requêtes
    champs trop courts dans la base table session champ uri et agent : suite utf8
    modification de l'ordre des arguments requis/optionnel dans les fonctions
    typage argument dans mktime()
    optymysql.php : correction de l'envoi d'une valeur (vide) pour un type decimal non null dans la table
    remplacement de nombreux settype() incorrects ...
    remplacement de la fonction formatTimestamp() dans le mainfile.php par la fonction formatTimes() et donc des ses appels dans de nombreux fichiers et métamot. Cette fonction est soutenue par une deuxième fonction de traitement des dates getPartOfTime() (dans le mainfile.php) qui va permettre de manipuler encore plus finement les dates. Ces modifications ont été nécessaires à cause de l'évolution des fonctions de date de PHP. Elles permettent aussi la suppression de plusieurs fonctions : formatTimestampShort() dans modules/links/links.php ,.
    abandon utf8_decode (auth.inc.php user.php)

  • update dépendances :
    version (licence du core) GNU 2 ==> 3
    bootstrap 5.3.7
    openlayers 10.6
    geocoder 4.3.4
    prism 1.30

  • évolutions :
    Implémentation d'un déployeur (pour le déploiement et la mise à jour des portails) complété par un migrateur de la base de données (doc : voir manuels maj.html)
    pour les groupes : création d'un bloc des groupes actifs (avec membres) et possibilité aux utilisateur de faire une demande d'adhésion. Et de la gestion de ces demandes par les admins (avec une nouvelle fonction d'alerte).
    envoi d'email : intégrations de la librairie PHPmailer pour la gestion d'envoi des mails ce qui permet entre autres d'utiliser le protocole SMTP(S), envois avec authentification ... et côté code beaucoup de possibilité d'améliorations et de simplification
    suppression de l'option d'envoi des mails avec la fonction email() devenue obsolète
    envoi d'email au superadmin lors de la soumission d'un nouveau commentaire (dépendant du choix dans les préférences "Notifier les nouvelles contributions par E-mail" ($notify))
    ajout avatar dans le chat ...
    metatags : suppression du support charset iso-8859-1 dans les metatags, mise à jour automatique de l'attribut lang en fonction de la langue choisie...
    metamots : suppression MM_np_twi_Us()
    modification de la fonction userpopover() qui permet dorénavant d'avoir un avatar seul ou un avatar et son popover et suppression du "selfcall" de la fonction ...
    geoloc : transfert du georeferencement des ip dans un fichier dédié (geoloc_refip.php) en lieu et place du code qui se trouvait dans le mainfile
    ajout d'une clef pour le provider extreme-ip-lookup
    remplacement des provider de fond de carte : stamen > stadia Maps ; bing > azure maps
    doc et traductions
    administration des logs et sessions (admin/sessionlog.php) : ajout de deux commandes (+ doc et traduction)
    une pour bannir l'ip à partir de la liste des sessions.
    l'autre pour déconnecter toutes les ip (en vidant la table des session)
    searchbb.php amélioration interface avatar dans tableau, ajout des critères (et non des valeurs par défaut) dans le formulaire après sa soumission
    reviews.php : rajout d'un tri par ID ...
    mainfile.php : prototype de blocage des robots irrespectueux .. limitant à 5 connexions simultanées par robots ...
    administration LNL : amélioration interface (select au lieu d'input) et contrôle des entrées, ajout tooltips explicatifs
    administration préférences : ajout de l'activation des logs mysql. (documenté dans manuels config.html)
    ajout du support pour le format d'image .webp
    ajout support audio et video mp4 et svg dans forum upload

  • bug track :
    nombreuses corrections : var $NPDS-PREFIX manquante, non globalisée ou globalisée inutilement. Ces erreurs impactaient surtout les sites à tables préfixée (requêtes sql défaillantes)
    missing globalisation var $NPDS-PREFIX dans réseaux sociaux.
    implémentation dataimagetofileurl() dans les minisite
    création du répertoire utilisateur (si n'existe pas) à partir de l'édition du journal utilisateur ...
    tarteaucitron NO gtag @ start (minisite et core)
    deux each oubliés dans filemanager.php et class.navigator.php
    suppression du fichier kernel dans le dossier _module_template
    terme de recherche requis dans le bloc de recherche
    amélioration de l'implementation de la construction de link rel canonical ...
    admin download : interface et contrôle formulaire
    bloc de choix langue dispo que si multilangue est activé
    correction metamot login (pas d'affichage du formulaire quand on est déjà connecté en user)
    correction metamot member : ajout condition sur existence de $cookie[1] pour la définition de $username
    correction bug à l'installation du bloc note quand la table a déjà été créé par un blocnote groupe ...
    correction bug Requete sql insert des options défaillante quand sondages avec noms identiques
    correction typo on loading attributs values "lazy" with only one z !....
    correction il n'y avait pas d'appel de la css du framework quand thème unskinable par défaut
    correction du contrôle sur la variable $submiS dans newtopic.php qui générait une erreur ...
    correction typo sur la variable $time dans modules/links/links.php
    correction lors de la recherche dans utilisateurs la variable $t présente dans les url de pagination non défini et non nécessaire : rectification des deux urls (search.php)...
    correction (searchbb.php) fonctionnement chaotique entrainant des constructions de requêtes sql non conformes
    correction (mainfile.php) fonction req_stat() surincrémentation du compteur + libération mysqli après les requêtes
    correction (reply.php, replyH.php, viewtopicH.php) erreur quand $userdata non défini (user non connecté...)
    correction lnl bug sur le "each déguisé" (php8) et remplisage d'un tableau non défini.. qui affectait l'envoi vers groupe
    protection variable : $ dans le commentaire/doc (overload.php)
    correction clef de tableau inexistante dans cache.class.php on line 73
    correction admin/die.php double inclusion mainfile
    correction bug lors de l'installation automatique d'un module sans table mais avec une interface admin
    correction bugs quand article non publié en index avec catégorie autre que article ...

  • thèmes
    ajout d'un attribut data-bs-theme à la balise body (themes-dynamic/header.php)
    ajout d'une variable dans le thème (/themes/montheme/theme.php) permettant le choix de l'apparence du thème ("light" "dark" "auto") si "auto" le theme sera affiché avec la version dark ou light de la css de bootstrap (default ou skin xxx) ...
    ajout d'un script js (npds_adapt.js) pilotant les modes sombre/clair des thèmes.
    ajout d'un switcher pour la visualisation sombre/clair dans /themes/_skins/default/ et dans le block Skin viewer ...
    Ceci permet donc un passage automatique du mode clair au mode sombre de votre thème en fonction du paramétrage de votre média (système/navigateur)...

  • Documentation : manuels administration : mise à jour et restabilisation (suite à l'implémentation de navigation transversale entre les manuels), interface, traduction. (encore en travaux ...)
    intégration de doc admin de module core dans la navigation transversale des manuels (geoloc)

  • inside code :
    suppression/nettoyage (global, paramètre, config) de la variable $site_font
    condition simple en écriture ternaire
    corrections, suppressions ou ajouts de sql_free_result() quand nécessaire ...
    désimplémentation de la constante cur_charset ...
    renforcement et correction de la lib mysqli.php
    réécriture de js en jquery vers js pur ...(en cours)
    meilleure indentation finale du code source (autant que faire se peut vu la multitude des contextes ...)
    synchronisation des timezone de php et mysql ...

  • inside archive
    suppression de fichiers images non utilisés

🚀

REvolution 16.4-maj

15 Apr 09:17

Choose a tag to compare

Revolution 16.4 mise à jour depuis 16.3

What's Changed

  • Composé seulement par les fichiers nécessaires d'une v.16.4.
  • Nouveau script permettant la mise à jour automatique de la base de données d'une v.16.3 vers v.16.4.

REvolution v.16.4

15 Apr 08:58
e3982d4

Choose a tag to compare

Revolution 16.4

Cette version entraine de nombreuses modifications (plus de 1100 fichiers) dûes en grande partie à la mise à jour du framework bootstrap, des autres dépendances et des corrections et amélioration de la version précédente. La base de données n'est que très peu impactée, principalement sur des données (... quelques métamots). Elle fixe aussi un certain nombre de problèmes de sécurité en renforçant la protection d'accès fichiers et le filtrage des urls.

pour des informations complètes et détaillées visitez la page de comparaison entre cette version et la précédente :
Full Changelog: v.16.3...v.16.4

  • update dépendances :
    bootstrap 5.2.2
    bootstrap-icons 1.9.1
    formvalidation v.1.9.0 (lié à maj BS)
    colorpicker v.3.4 (non maintenu) ==> puis remplacé par jscolor
    bootstrap table 1.19.1
    openlayers 6.15.1
    geocoder 4.1.2
  • mise à jour skin et thème : + 1 theme et 3 nouveaux skins
  • validation des formulaire : formvalidation ajout rowselector (pour bon fonctionnement des icônes de validation de formulaire) .. (probablement à affiner encore)
    bug track :
  • correction du chemin d'accès au fichier langue pour l'aide de l'admin d'upload (typo variable)
  • pic manager : correction d'une condition, celle-ci générait une erreur php dans certain cas (plus d'affichage du pic manager)
  • pic manager, file manager : erreur 429 lors du traitement de dossier avec de nombreuses images (résolu partiellement le cas peut encore exister ...)
  • geoloc correction : contruction des listes de choix des fonds de carte, remplissage du viewport en fonction de l'extension de la couche, openlayers updates...
  • affichage correct des IPV6 dans session log
  • correction de l'affichage du titre de la fenêtre du chat (affichage des entités html (renvoyées par la traduction) au lieu d'un format text ...)

améliorations :

  • pic manager, file manager : mise en page et changement d'iconographie (bs webfont au lieu de font awesome)

  • mise en page de formulaires

  • menu utilisateur (externalisation ...)

  • thèmisation (code) : possibilité d'ajouter à partir du thème une classe à "l'élément html primaire" d'un bloc

  • thèmisation : simplification des dossiers thèmes ajout explicatif sur les templates html des themes dynamique

  • metatag :
    -- ajout de création automatique de balise meta de type og et twitter la combinaison de ces balise permet la céation automatique de "card" pour différents réseau sociaux ...(à documenter)
    -- ajout de l'attribut lang dans balise html

sécurité :
suite audit thanks Nosp, renforcement de url_protect, des accès aux fichiers, et xss sur chat ...

REvolution 16.3

22 Dec 19:24

Choose a tag to compare

Note :

  • l'installation automatique ne fonctionne pas dans cette release à cause d'erreurs dans l'archive sql. Remplacer le fichier revolution_16.sql de l'archive par le fichier revolution_16.sql joint avant de procéder à l'installation automatique.
  • non compatible php8 !

REvolution 16.3

changelog-rev16.3 [ révision : 46 - jpb /20-12-2021 ]
(non exhaustif...)
pour des informations complètes et détaillées visitez la page de comparaison entre cette version et la précédente : v.16.2.1...v.16.3

  • Corrections et améliorations

    • travaux sur les traductions :
      ipban, npds_twi, /admin, contact, manuels admin
    • [bug] création et modification groupe
    • compatibilité mysql>5 : lnl
    • compatibilité mysql8 : (mot réservé rank) comment/reply.php
    • compatibilité php>7.4 :
      ordre des arguments implode() (savemysql.php, upload.func.forum.php)
      deprecated/removed get_magic_quotes_runtime() set_magic_quotes_runtime() (grab_globals.php)
    • lib mysql : arguments
    • notice(s) et fonctionnement sur les affichages des contributions des anciens membres
    • cohérence ancre et urls last-post => lastpost
    • oubli de tin class pour tinymce dans filemanager.php
    • effacement chat box seulement pour les superadmins...
    • ajout quickbars dans la conf npds de tiny...
  • Evolutions

    • Nouveau système de cryptage des mots de passes :
      Suite au(x) notice(s) dues à l'évolution de la fonction crypt() voici donc la ré-implémentation du système de cryptage et par conséquence des différents login.
      Cette ré-implémentation délicate a de plus corrigé d'autres problèmes sporadiques liés au contenu des mots de passe. Elle a été orientée pour que ce soit totalement transparent pour le webmaster et les utilisateurs donc sans campagne de remise à jour des mots de passe. En cas de nouveau site recevant des anciennes données avec donc les mdp en clair ou cryptés avec l'ancien système les mdp seront donc analysés et cryptés avec le nouveau système systématiquement au fur et à mesure des connections des utilisateurs ou des administrateurs.
      Les obscures options de cryptage des mots de pass ($system et $system_md5) ont été désimplémentées.

    • alertes et message provenant de npds
      Finalisation de l'implémentation des fonctions d'envoi de message et alerte (version, sécurité, note) provenant de npds dans les portails et de la gestion de leur lecture par les superadministrateurs.

    • traitement des images data:image en base64
      les media portables ainsi que tinymce (qui les transforme en blob js) utilise cette technique ce qui posait de nombreux problèmes (fonctionnement (données non acceptées et donc justement modifié par removehack()), stockage, manipulation ...etc)... Nous avons donc créé une fonction (dans mainfile.php) qui retransforme tout "data:image en base64" en une url et donc un fichier (contrôlant au passage la sécurité et la taille de l'image - réduction si nécessaire). Celle-ci a été implémentée dans les 2 systèmes de publications principaux (articles et sections) et dans d'autres pages ou ce type de données peut être entrée (en clair dans tout les formulaires utilisant tinymce (ou pas)) (nous en avons profiter pour implémenter un système de nettoyage des images inutilisées => encore en cours d'amélioration) ...
      Pour résumer cette amélioration résoud les problèmes de publication d'image depuis un media portable, et améliore le nettoyage de ressources non utilisées...

    • be lazy ... utilisation de l'attribut loading pour les images et iframe qui permet simplement (pas de js car maintenant interprété/executé par tous les navigateurs modernes...) un gain de rapidité considérable ... les images ne sont chargées que quand elles sont visible dans le viewport ...

    • sections.php
      ajout d'une alerte pour les publications en attente de validation

  • Documentation

    • manuels admin (encore en travaux)
  • Dépendances

    • fontawesome update to 5.15.2
    • tinymce update to 5.8.1
    • openlayers update to 6.9.0

REvolution 16.2.1

07 Mar 06:19
6dc9e49

Choose a tag to compare

changelog-rev16.2.1 [ révision : 45 - jpb /06-03-2021 ]

  • Correction
    !!! patch sécurité ghostform !!!
    notices sur view topics
  • Evolution
    icone d'alerte admin pour modules (implémentation)

REvolution 16.2

01 Mar 17:42

Choose a tag to compare

changelog-rev16.2 [ révision : 44 - jpb /28-02-2021 ]

(non exhaustif...)

Finalement le code parle français avec l'encodage utf8 (utf8mb4 pour mysql)...

  • Evolutions

    • full utf8 support (utf8mb4)
    • passage du core en français
    • consolidation support IP V4 V6
    • file and pic manager skinable
    • emojipopover (utilisation des emoji dans forums, chat, comment and more)
    • mysqli par defaut dans config.php
  • Corrections et améliorations : suite au retour dans forums et tests (ou pas)

    • iconographie : correction classes suite maj fontawesome 5
    • geoloc : meilleur support fullscreen
    • support IPV6 : consolidation implémentation ipban, chat
    • notice php : filemanager, header.php, banner.php, index.php
    • edito : date trop ancienne ...
    • upload admin image oubliée ...
    • responsive image dans impression des articles des sections
    • carnet.php mise en page ...
    • RGPD consolidation dans critique
    • fusion des tables mainblock et adminblock dans la base
    • correction raccourcissement de certaine clef primaire (char) devenu trop longue avec le nouvel encodage utf8mb4
  • Mises à jour des libs externes :

    • bootstrap 4.5 + skins
    • tinymce 5.4
    • openlayers 6.5.0
    • tarteaucitron 1.8.1

REvolution 16.1

26 May 05:55

Choose a tag to compare

Changelog (non exhaustif...)

  • Corrections suite au retour dans forums et tests

    • dysfonctionnement de la mise à jour des résaux sociaux en admin
    • dysfonctionnement de la mise à jour des groupes en admin
    • boutons non fonctionnels dans l'édition des fichiers de configuration en admin
    • type de valeur incompatible avec mysql > 5 dans newsletter en admin
    • contrôles dans la gestion des sections en admin
    • attribution des droits sur les blocs défaillant en admin
    • absence d'affichage des sujet dans submit.php
    • calcul de la taille des fichiers dans download.php
    • ajout de possibilité d' url locale dans contrôle formulaire dans installation auto #493
  • Evolutions

    • interface admin pour configuration upload
    • ajout d'extension de types de fichier
    • bannissement de plage d'adresse ip en V4 (dans ipban) admin ...
    • RGPD ajout fichier politique confidentailité liens et case à cocher d'acceptation dans formulaires ...
    • revisite du process de choix et de contrôle des avatar perso
    • augmentation de la longueur des champs url du module link dans les formulaires et dans la base
  • Doc

    • mise à jour des manuels admins ...(en cours)
  • Mises à jour des libs externes :

    • fontawesome 5
    • tinymce 5
    • bootbox 5.4
    • formvalidation 1.5.0
    • tarteaucitron
    • openlayer
    • jquery 3.5
    • bootstrap 4.5

REvolution 16

09 Dec 18:11

Choose a tag to compare

Après 8 alpha, 5 beta, et 4 années ... Voici donc la première release !

depuis la dernière beta voici en vrac ... entre autre ce à quoi nous avons travaillé

  • compatibilité PHP 7 + (each, parse_str ...) : traitement de tout ce qui génère notice ou pire ...

  • compatibilité MYSQL 5.7 + (typage precis des entrées dans la bd) : (on manque encore de test ...)

  • contrôle des serveurs mails lors des entrées d'adresse email dans le portail
    en admin possibilité de contrôler toutes les adresses mails des utilisateurs déjà stockées. En cas de défaut l'utilisateur sera prévenu (MP) toutes les ressources envoyant des emails vers cette adresse seront suspendues.

  • support des IPV6 : pour session log anti spam banIP etc ... (reste à traiter le cas des adresse IPV4 encapsulé dans une IPV6)

  • désinstallation automatique des modules (prototype en cours à tester et poursuivre)

  • stabilisation des themes : 8 themes disponibles dont 3 "skinable" (22 skins)

  • thèmes : possibilité de choix du skin par defaut par l'administrateur.

  • geolocalisation : abandon de google map pour openlayers

  • metamot : correction de notices + nouveau metamot

  • mises à jour des dépendances : jquery, bootstrap, openlayers, colorpicker

Cette release sera suivie d'une 16.1 qui embarquera les corrections des retours (et les mises à jour de tinymce 5 et fontawesome 5...)

Have fun ...

REvolution 16

06 Jan 15:38
9842aa0

Choose a tag to compare

REvolution 16 Pre-release
Pre-release

Dernière Beta ! ...

Happy new year !

  • stabilisation maj des lib
  • notice PHP code work
  • implémentation contrôle des serveurs de mail
  • correction de certain retour de bug de la beta précédente
  • admin can no more duplicate a user

to do=>

  • faiblesses et incompatibilité avec PHP > 7.2 et mysql 5.7 (qui ne pardonne aucune approximation de typage des variables ...)
  • compatibilité avec OPCACHE

REvolution 16

20 Oct 18:38
c0b0a4e

Choose a tag to compare

REvolution 16 Pre-release
Pre-release

Dans cette version

  • Bootstrap 4.1.3
  • TinyMCE update en 4.8.3 (donc avec sa version mobile)
  • FormValidation (1.3.0)
  • Remplacement Datepicker par Flatpickr(4.5.2)
  • Implémentation tarteaucitron pour RGPD
    ...

Nous sommes donc avec des lib stabilisées donc proche de la version 16.0.0