Ce patch contient des corrections mais aussi de nombreuses évolutions et optimisations et notamment :
1 - Les pages statiques peuvent maintenant être utilisées comme pages d'impression (page “blanche”) avec l'option npds= -1
2 - L'administrateur peut maintenant remettre une news en première position (voir Admin / Editer un Article option remettre une News en première position)
3 - Les modules Admin : LNL, SuperCache et Mode Overload disposent d'une aide en ligne
4 - Le module Mode Overload - SuperCache dispose d'une nouvelle option permettant de vider le répertoire cache.
5 - Les sondages ont été en partie remaniés et l'isoloir n'existe plus.
6 - Les Rubriques disposent de la même gestion des membres et groupes que le reste de NPDS.
7 - Vous pouvez maintenant rediriger un Topic d'un forum sur un lien HTTP (uniquement pour le modérateur) Cela vous permet de créer un forum ne contenant que des Topics redirigés sur d'autres sites par exemple (centralisation de forum)
8 - Les forums disposent maintenant d'un nouveau Mode : les formulaires (voir SFORM)
9 - Administration :
- La maintenance des forums dispose d'une facilité vous permettant de supprimer rapidement beaucoup de Topics.
- Les modules SaveMysql et OptimySql ont évolué (merci EBH)
- Le MetaTags Manager vous permet maintenant de gérer Les metas de votre site (avec aide en Ligne) : un grand Merci à EBH
10 - Gestion des blocs :
NPDS dispose d'un système de block étendu capable d'afficher ou d'exécuter beaucoup de choses :
La seule possibilité d'inclure du code (en dehors du html et du javascript) est de respecter la syntaxe suivante :
Pour du code PHP et/ou SSI :
include#votre_repertoire/votre_fichier.php (sans ', sans “).
Ce fichier doit être du php et le retour doit obligatoirement se faire dans la variable $content.
Pour des Fonctions PHP et/ou des fonctions de NPDS :
function#votre_fonction ⇒ function#Xblock (sans ', sans ”, sans () et sans ;).
Si votre fonction dispose de paramètres : function#votre_fonction ⇒ function#XNews (sans ', sans “, sans () et sans ;). params#votre_param ⇒ params#5,10,false (sans ', sans ” mais séparés par des virgules).
Par exemples :
function#category
function#oldNews params#$storynum
function#RecentForumPosts params#Forums Infos,15,0,false,10,false,-:
Ces lignes doivent être les seules de votre block et cette syntaxe est la seule supportée ! L'exemple le plus marquant est certainement l'impact sur le header.php et le footer.php de votre thème où se trouvent les fonctions qui sont chargées d'afficher les blocs.
Prenons un exemple avec le header.php où l'on trouve les fonctions suivantes :
instant_members_message(); makeChatBox(); RecentForumPosts("ForumsInfos",10,0,false,10,false,"-: "); topdownload(); adminblock(); leftblocks(); ephemblock(); Site_Activ(); headlines();
Normalement pour modifier l'ordre des blocs ou pour ne plus afficher un bloc il fallait soit modifier l'ordre d'appel de ces fonctions soit mettre en commentaire une de ces fonctions (// devant)
Maintenant imaginez la situation suivante où dans le gestionnaire de blocs de gauche je crée les blocs suivants :
function#RecentForumPosts params#ForumsInfos,10,0,false,10,false,-:
Imaginez encore que je supprime les appels à ces fonctions dans le fichier header.php en ne laissant que les lignes suivantes :
global $powerpack; if (!isset($powerpack)) {include ("powerpack.php");} leftblocks();
Le résultat : l'interface de votre site n'a pas changé mais maintenant vous pouvez ordonner les blocs à votre guise (en changeant l'index), ne les faire apparaître que pour les membres ou que pour certains groupes de membres et les faire disparaître (en mettant par exemple un numéro de groupe ou il n'y a personne …).
Un autre avantage, changer de thème sans changer l'ordre de présentation de votre site.
11 - Gestion de la langue d'origine :
De part son origine, NPDS hérite comme langue d'origine de l'anglais.
La “ clientèle ” de NPDS étant pour la grande majorité Francophone, la décision a été prise de mettre le code de NPDS en adéquation avec cet état de fait :
Dans le Patch 2, la totalité des modules d'administration du noyau (sous /admin) utilisent le principe suivant : Il existe un fichier de langue pour la zone d'administration et un pour le reste du Noyau (respectivement lang-adm-french.php et lang-french.php)
Les messages sont nativement en français et le fichier de langue français est donc maintenant quasiment vide (au contraire du fichier anglais)
Cela permet une réduction importante de la taille du fichier de langue ainsi que des gains significatifs en terme de vitesse (quasi une version hardcoded).
Par voie de conséquence, le fichier de langue principale : lang-french.php a été complètement refait et optimisé. Malheureusement, les modifications que vous auriez pu faire dans ce fichier devront être refaites !
Afin de préparer la 4.9, je vous conseille de faire vos modifications dans lang-french.php et de les saisir aussi dans lang-mods- french.php (un exemple est livré dans le P2) car ce fichier sera pris en charge directement dans la 4.9. Pour les concepteurs de Modules, Addons, et autres Mods, vos développements devront être légèrement modifiés avant l'arrivée de la 4.9 pour prendre en charge cette nouvelle organisation de la langue.
Nouvelles fonctions dans mainfile.php :
Nouveaux Modules :
SFORM n'est pas vraiment un module car c'est en fait LE gestionnaire de Formulaire de NPDS. Ceci met à la disposition :
difficultés (voir la doc et/ou les exemples) et sans aucune modification du code ou des tables.