2 * filtre |cle : #TABLEAU|cle{a/b/c, valeur par defaut}
3 * (experimental) #FORMULAIRE_CONFIGURER{xx} cree un formulaire pour CFG
4 en chargeant le contenu de "configurer/form_xx.html". Ce fichier peut
5 contenir uniquement les parametres du CFG et des saisies.
8 * (experimental) balise #EDIT_CONFIG{ma/config} pour permettre des
9 editions de config avec le plugin Crayons
12 * Suppression de #SAISIE et des saisies de CFG
13 * Deplacement de celles ci dans le plugin "saisies"
16 * (en test) introduction d'une saisie : 'checkbox'
19 * (en test) introduction d'une saisie : 'groupe_mots'
22 * (en test) introduction de deux nouvelles saisies : 'selection' et 'radio'
25 * (en test) introduction d'une syntaxe raccourcie pour #SAISIE :
26 #SAISIE{type,name,obligatoire} ce qui donne :
27 #SAISIE{input,ville} ou
28 #SAISIE{input,ville,oui}. Ce dernier est equivalent a :
29 #SAISIE{input}{nom=ville}{obligatoire=oui}, lui meme equivalent a
30 #INCLURE{fond=saisies/_base}{type_saisie=input}{erreurs}{nom=ville}{valeur=#ENV{ville}}
33 * (en test) les saisies/ sont modifies, elles passent toutes par le fichier saisies/_base
34 et sont appelees par #SAISIE{input}{nom=ville} qui passe automatiquement les
35 parametre : {erreurs}, {valeur=#ENV{ville}}, {fond=saisies/_base} et {type_saisie=input}
36 puis charge la balise #INCLURE
39 * (en test) Ajout d'un dossier saisies/ pour faciliter l'ajout de champ
40 facon SPIP 2.0 dans CFG. Les inclusions disposent de parametres pour les utiliser
41 qui sont expliques dans leurs fichiers respectifs.
44 * La future version majeure de CFG (CFG 2.0) ne fonctionnera par defaut qu'avec l'ecriture
45 de formulaires facon SPIP 2.0, c'est a dire utilisant l'ecriture HTML des formulaires CVT/SPIP
46 et s'appuyant sur les points d'entrees de CVT pour fonctionner. Il est donc fortement conseille
47 d'ecrire ou de migrer ses formulaires CFG en respectant cela.
49 Cela correspond avec cette version de CFG à ecrire ses formulaires dans formulaires/config_xxx.html
50 et de ne mettre dans fonds/cfg_xxx.html qu'un appel à ce formulaire par <div class="ajax">#FORMULAIRE_CONFIG_XXX</div>
55 * ajout des filtres et, ou, xou, non, oui pour compat 1.9.2
56 * ajout du filtre push pour compat 1.9.2
59 * ne pas prendre le traiter() de CFG si c'est un formulaire CVT normal !
62 - petites simplifications :
64 * lire,ecrire,effacer_config() ne peuvent plus etre surchargees
65 (suppression de inc_lire_config_dist et consoeurs)
67 * les types de validation des champs de formulaires passes par css
68 recoivent le même argument que les autres classes css
69 (nom du champ + instance de la classe cfg_formulaire) et introduction
70 d'une fonction ajouter_erreur($champ,$message) dans la classe cfg_formulaire
73 * permettre des fonctions d'extension pour toutes les actions pour
74 un formulaire particulier, et pas uniquement verifier et post_traiter.
75 function cfg_{nom_fichier/vue}_{action}(&$cfg){... actions ...}
77 Au passage, changement d'api pour le test de verifier, qui comme
78 les autres maintenant recoit l'instance de la classe cfg_formulaire :
79 function cfg_{nom_fichier/vue}_{action}(&$cfg), mais son retour
80 doit sauvegarder les valeurs d'erreurs dans cfg (et non les retourner)
81 en utilisant la fonction $cfg->ajouter_erreurs($erreurs);
82 (compatibilité ascendente assurée cependant quelques temps)
84 * CFG/CVT : transmission de l'instance de classe cfg_formulaire entre la
85 fonction verifier() et traiter() du CVT pour eviter les recalculs des
86 parametres et une reverification dans traiter().
89 - un echo de debug trainait
92 - corrections pour palette, changement de version pour marquer le changement de compat (necessite Palette pour les couleurs)
95 - usage du plugin Palette pour permettre la mutualisation de la librairie farbtastic entre plugins
98 - si on ne trouve pas de fichier au nom du fond, on n'essaie pas de le compiler...
101 - Suivre la svn de SPIP : le formulaire CVT charger() change la signature de son retour.
104 - On introduit <!-- inline= --> (sert notamment au selecteur de couleur, pour l'avoir aussi en cvt.)
105 - On introduit la possibilite de faire des actions 'post_traiter' simplement depuis un nom de formulaire :
106 si un formulaire cfg possede une fonction 'cfg_{nom}_post_traiter(&$cfg)', elle sera appelee apres le traitement par CFG,
107 en lui transmettant la classe php $cfg.
108 - Ne pas utiliser le parseur CFG sur les formulaires dynamiques qui ont une fonction _stat() (et non une fonction _charger()
111 - ajout de compat 1.9.2 pour sql_allfetsel()
114 - Permettre d'ajouter des #FORMULAIRE_XX dans des fonds/cfg_yy.html
115 - introduction d'un parametre interpreter. Si <!-- interpreter=non -->
116 alors le fonds/cfg_yy.html ne cherche pas a recuperer les champs du formulaire
117 en scannant le code compile. Ainsi, il est possible de creer des fonds de configuration
118 cfg en appelant des #FORMULAIRE_XX. Le fond ne prendra pas à tord des parametres
119 du/des #FORMULAIRE inclus. Par contre, un tel fond ne peut pas avoir de formulaire
120 CFG classique en même temps (on ne peut melanger) ;Mais un fond de ce type
121 peut appeler plusieurs #FORMULAIRE differents.
122 Les parametres <!-- param=valeurs --> continuent d'etre lus, ce qui permet d'indiquer
123 des liens, des autorisations ou autre parametre comme le font normalement les fonds CFG.
126 - Corrections depots tablepack et table qui testaient leurs parametres un peu trop tot,
127 ce qui effacait parfois les valeurs par defaut, apres coup.
130 - Correction depot tablepack qui oubliait de prendre en compte le nom du formulaire dans
131 l'enregistrement depuis v1.8.2.
134 - Lorsqu'un formulaire SPIP 2 / CVT n'a pas de fonction charger(), ce sont les
135 fonctions Charger, Verifier et Traiter de CFG qui sont utilisees pour ce formulaire.
136 Cela permet des #FORMULAIRE_XX ou XX est un formulaire CFG/CVT formulaires/xx.html.
137 Il peut ainsi y avoir des formulaires CFG public/prive, ajax ou non (et qui fonctionnent !).
138 Differences entre un fonds/cfg_xx.html et formulaires/xx.html :
139 * les fonds/ s'affichent dans ?exec=cfg, pas les formulaires/
140 * les fonds/ ont [(#ENV{_cfg_}|form_hidden)], pas les formulaires/
141 * en revanche, les formulaires ont #ACTION_FORMULAIRE{#SELF}, pas les fonds/
142 - Correction du preg_files() sur les fonds/ pour ne prendre reellement
143 que des fichiers commencant par 'cfg_' (et non aussi le contenu d'un dossier
145 - Deplacements des exemples de fonds cfg dans le plugin cfg_exemples
146 - la syntaxe #FORMULAIRE_CFG{xx} disparait au profit de #FORMULAIRE_XX
147 - si le parametre <!-- autoriser=oui --> alors, on autorise.
148 S'il est egal a non, alors on n'autorise pas. Permet d'ecrire :
149 <!-- autoriser=[(#AUTORISER{modifier,auteur,#ID_AUTEUR}|?{oui,non})]-->
150 les syntaxes <!-- autoriser=webmestre --> continuent de fonctionner.
153 - Corection d'un bug sur le depot tablepack avec effacer_config().
154 - tests unitaires pour le depot tablepack
157 - Correction bug introduit en 1.8.0 d'erreur de lecture si aucune valeur
158 n'etait encore enregistrees dans une depot metapack ou php.
161 - Simplifier *_config() en se passant de la classe cfg_params()
162 - les fonctions des balises sont chargées au calcul et non en permanence et sont deplacees dans cfg_fonctions.php
163 - suppression de cfg_charger_classe() : la surchage, c'est simplement le fichier, on se passe de _dist
164 - déplacemeent de la classe cfg_depot dans inc/cfg_config
165 - tests unitaires pour les fonctions lire_config, ecrire_config et effacer_config pour les dépots meta, metapack et php
166 - lire_config metapack et php ne renvoyaient pas NULL si la méta ou le fichier php etait absent
167 - CFG ne supporte plus l'écriture (hack) #CONFIG{expression,'',''}, à remplacer par #CONFIG{expression,#ARRAY}
170 - Correction bug avec ecrire_config(php::...)
173 - Corrections de la librairie sql_* pour 1.9.2
176 - Ne pas lister tous les formulaires cfg dans la page de gestion de plugin, mais seulement ceux avec l'onglet sur "oui"
179 - correction compat sql_showtable() sur 1.9.2 (fil)
180 - suivi svn pour les formulaires dynamiques (necessitent 'action')
181 (les formululaires #FORMULAIRE_CFG fonctionnent maintenant aussi dans le prive)
184 - mettre sql_count() et sql_selectdb() dans les fonctions de compatibilite
185 ceci pour d'autres plugins souhaitant eventuellement les utiliser en 1.9.2
188 - correction bug sur effacer_config(metapack::xx)
191 - installation de librairies via la page ?exec=cfg_install_libs, presque automatique en 1.9.3
192 - les librairies installables sont definies dans une globale $cfg_libs (cf. cfg_options.php)
193 - internationalisation types et installation de libs
196 - effectivement passer dans l'environnement 'message_erreur', 'message_ok' et 'erreurs'
197 - eviter que #ACTION_FORMULAIRE affiche son contenu en 1.9.2
200 - les classes css des champs sont toutes analysees. Elles doivent etre placees juste apres name="...".
201 - si une classe css 'cfg_couleur' est presente et si la librairie 'farbtastic' est installee,
202 une pipette sera proposee pour selectionner la couleur. exemple :
203 <input type="text" name="liens" class="fondl cfg_couleur" value="[(#ENV{liens}|sinon{#467AA7})]" size="7" />
206 - utiliser les points d'entrees de cfg pour definir des actions sur les parametres
207 et application avec le parametre 'rediriger'
210 - eviter double INSERT HEAD sous 1.9.2
213 - retrouver le fonctionnement d'avant v1.4.10 sur #CONFIG{meta} ET lire_config{meta}.
214 Cette derniere deserialise une meta de spip par defaut, contrairement a la premiere.
217 - introduire la prise en compte des <input type='file'...
218 qui met automatiquement un type 'cfg_fichier' sur le champ.
219 Celui-ci va stocker le fichier dans IMG/config/{vue}/{champ}.ext,
220 et son adresse peut etre appelee par #CFG_CHEMIN{nom/champ}
223 - sur les verifications des champs, en plus de verifier les champs de type 'cfg_xx' ou 'type_xx',
224 chercher une fonction 'cfg_{vue}_verifier()' fonctionnant exactement pareil que la fonction homologue
225 sur la nouvelle api des formulaires dynamiques de spip. Cette fonction peut etre placee dans un fichier
226 fonds/cfg_{vue}_fonctions.php
229 - premiers jets d'api pour les verifications de types de champs
230 - corrections bugs sur #ENV{cfg_id} dans les parametres <!-- param=valeur --> mal raffraichis
233 - nettoyages, suppression de la gestion de l'ancienne api des depots
234 - retour du fonctionnement en php4 casse pendant la migration des depots
235 - correction petit bug si $GLOBALS['meta']['nom'] est un array()
238 - depot 'table', c'etait le dernier...
239 - corrections bugs sur #cfg_arbo, #config et sur la fonction $this->monter_arbre()
242 - corrections bugs sur 'cfg_id' modifie parfois a tord par new_id,
243 - rangements dans les classes depots, et retour de messages depuis les depots possible
244 - depot 'tablepack' en nouvelle api
247 - corrections bugs sur : #CONFIG et |in_array{#CONFIG{nom,'',''}} (preferer #CONFIG{nom/,#ARRAY})
248 - ecrire_config() n'a plus le parametre 'serialize',
249 par defaut : ecrire_config('nom',$valeur) ne serialise pas (comme une meta classique)
250 alors que : ecrire_config('nom/',$valeur) ou ecrire_config('nom/champ',$valeur) va serialiser dans spip_meta
251 - si l'on passe le nom du depot, c'est lui qui gere la serialisation ou non des donnees :
252 ecrire_config('meta::nom',$valeur) ne serialise pas
253 ecrire_config('metapack::nom',$valeur) serialise (pas besoin du /)
257 - depot 'metapack' en nouvelle api
260 - depot 'php' en nouvelle api (on commence par le plus simple !)
261 - suivi svn pour api formulaires : charger/verifier/traiter
264 - corrections bugs sur les champs multiples et les tables
265 - renommages de variables et doc
266 - retour de 'cfg_id' dans #ENV
269 - deplacement des affichages dans l'exec plutot que dans la classe cfg (fin)
270 - correction bug sur le chargement des depots dans les fonctions lire_config qui transformaient un array en "array"
271 - API pour les fichiers de depots lire(), ecrire() et effacer() qui retournent array($ok, array("nom"=>"val"))
272 (ancienne api toujours fonctionnelle [lire() et modifier($supprimer)], les depots autres que 'meta' seront portes vers la nouvelle api)
275 - deplacement des affichages dans l'exec plutot que dans la classe cfg
276 - correction bug en 1.9.2 (il ne faut pas passer "editable" dans le contexte d'un recuperer_fond() !)
279 - naissance de l'indépendance du depot 'meta'
280 - lire/ecrire/effacer_config utilisent le depot meta
283 - permettre la surcharge de lire_config, ecrire_config et effacer_config (a travers les fonctions inc_lire_config_dist())
284 - permettre la surcharge des classes 'cfg','cfg_formulaire','cfg_params','cfg_depot'.
285 - uniformiser un peu les messages d'erreur entre cfg et les formulaires dynamiques
288 - deplacement des storage cfg (maintenant appeles 'depot') dans inc/depot/nom.php
289 - renommage du depot 'classic' en 'meta', suppression du depot 'extrapack' au profit de tablepack + colonne
292 - deplacement des parametres de cfg dans une seule entree $this->param
295 - #FORMULAIRE_CFG{nom_du_cfg} fonctionnant avec la nouvelle API des formulaires dynamiques (1.9.3dev)
296 - quelques changements dans les noms de fonctions, suppression des anciens #formulaire_cfg
297 - théoriquement pas de rupture de compatibilité
298 - déplacement de l'icone cfg dans le sous menu 'configuration' (et non dans l'onglet du meme nom)
301 - correction bug introduit en 1.3.7 (doublement des liens)
304 - nouvelle option <!-- head= --> qui permet d'ajouter du contenu dans le
305 head de l'espace privé lorsque le fond en question est actif.
306 - bien supprimer les parametres CFG du code html rendu
309 - les onglets s'enrichissent d'une nouvelle syntaxe.
310 Il existait <!-- onglet=non --> qui n'affichait pas l'onglet, il y a maintenant
311 <!-- onglet=fond_cfg_parent --> qui n'affiche pas l'onglet, mais va "exposer"
312 le fond choisi si le fond courant est actif. (Il faut que le fond choisi
313 ait son onglet visible par contre - ie: onglet=oui ou non renseigne)
314 - Dans un fond cfg, si un lien pointe sur le fond en cours, la balise <a> ne sera pas mise
317 - les liens s'enrichissent d'une nouvelle syntaxe <!-- liens*=prefixe_plugin:fond_cfg -->
318 permettant de mettre des chaines de langue sur les liens directement avec celles du plugin
319 dans /lang/prefixe_plugin_fr.php
322 - oubli qui empechaient les liens de fonctionner
324 v1.3.3 (07.02.2008) :
325 - Si un lien est demande dans le fond <!-- liens*=toto -->
326 mais que fonds/cfg_toto.html n'existe pas, le lien n'est pas propose
328 v1.3.2 (02.02.2008) :
329 - correction de bug sur storage table : l'insertions de nouvelles entrees
330 était impossible sous SQLite. Test Ok en mysql, pg, sqlite3
333 - correction coquille
334 - introduction d'un paramètres à CFG pour lui dire de ne pas
335 afficher les messages renvoyés par CFG habituellement <!-- afficher_messages=0 -->
338 - introduction de liens_multi
339 - correction d'un bug avec les liens multis qui ne sont plus
340 définis automatiquement par le parametre liens, mais par
341 un parametre specifique : liens_multi
344 - corrections bugs sur #FORMULAIRE_CFG
345 - homogeneise le passage de paramètres à CFG depuis un fond en
346 utilisant uniquement <!-- param=valeur -->
347 (l'autre écriture [(#REM) param=valeur] est decpeciee.
348 - fourni des fonctions pour écrire et modifier les contenus arborescents
349 generes par CFG (storage meta et extra uniquement) : ecrire_config() et effacer_config().
350 - toutes les chaînes de langues sont maintenant
351 regroupées dans le fichier lang/cfg_fr.php et attendent des traductions/traducteurs.
354 - fourni une balise #FORMULAIRE_CFG pour l’affichage d’un formulaire
355 CFG dans un squelette (nécessite SPIP > 1.9.2)
361 - storages meta, extra, table, classic, php