NPDS 4.8 patch 2
Ce Patch est livré avec une installation automatique des modifications pour MySql : 4.8-P2.php
Ce patch contient des corrections mais aussi de nombreuses évolutions et optimisations et notamment :
Corrections :
0 - les commentaires anonymes dans les sondages
1 - erreurs dans la page stats.php
2 - Correction ergonomique ou codage HTML pour le support de nouveaux thèmes
3 - Optimisation des requêtes Mysql sur les forums,
4 - Optimisation du code (mainfile notamment) : un grand merci à Gawax
5 - Généralisation de la fonction removeHack (anti css)
6 - Correction des noms des tables faqAnswer et faqCategory et du code associé
7 - Fusion du fichier categories.php avec index.php
8 - les adresses email du type
.info sont maintenant correctement gérées.
9 - + pleins de petites corrections
Evolutions :
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
:
- HTML
- Javascript
- Code PHP et/ou SSI (Serveur Side Include)
- Fonction PHP et/ou de NPDS
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 :
- bloc index 0 contenant function#instant_members_message
- bloc index 1 contenant function#makeChatBox
- bloc index 2 contenant
function#RecentForumPosts
params#ForumsInfos,10,0,false,10,false,-:
- bloc index 3 contenant function#topdownload
- bloc index 4 contenant function#adminblock
- bloc index 5 contenant function#ephemblock
- bloc index 6 contenant function#Site_Activ
- bloc index 7 contenant function#headlines
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 etlang-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 pû 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 :
- . removeHack qui permet de supprimer certaines chaînes de caractères dangereuses (CSS).
- . getmicrotime qui permet d'obtenir la valeur de retour de microtime (pour un calcul de perf / voir le module page-time par exemple)
- . fab_block et block_fonction qui fabrique et assure la gestion des fonctions des blocs
- . valid_group qui permet de connaître la liste des groupes d'un membre
Nouveaux Modules :
- Le module links (qui reprend et complète l'annuaire des liens web qui se trouvent actuellement dans NPDS voir install.txt)
- Le module contact (qui permet la gestion simple d'un formulaire de contact avec SFORM voir install.txt)
SFORM et les formulaires dans NPDS :
SFORM n'est pas vraiment un module car c'est en fait
LE gestionnaire de
Formulaire de NPDS. Ceci met à la disposition :
- des utilisateurs, un puissant outil de
personnalisation car tous les formulaires sont modifiables sans
difficultés (voir la doc et/ou les exemples) et sans aucune
modification du code ou des tables.
- des développeurs de modules un moteur de gestion simple et performant de formulaires de tous genres (voir la doc de développement)
SFORM ouvre un nouveau potentiel au développement avec la possibilité de réaliser simplement des modules de (exemples) :
- - sondages
- - enquêtes
- - souscription de contrat
- - demande d'infos
- - ...
Ce Patch est livré avec une installation automatique des modifications pour MySql : 4.8-P2.php
NPDS Générateur de Portail - licence GNU/GPL https://www.npds.org