Bonjour,
Fil suggérait que CFG ne s'appuie pas, pour les storages des préférences sur des auteurs ou sur des rubriques, sur le champs 'extra' des tables, plutot réservé à autre chose.
Il proposait d'utiliser 'prefs' ou un champs 'cfg' tout simplement.
Du coup, j'ai modifié CFG (ce n'est pas commité car il y a un hic) pour que l'on puisse sauvegarder dans n'importe quelle colonne d'une table, par défaut la colonne 'cfg' (pour le nouveau storage 'tablepack') ou la colonne 'extra' pour le storage 'extrapack' pour compatibilité.
Actuellement, avec ce que j'ai codé :
Lorsque l'on tente d'écrire un contenu sur une colonne, si celle-ci n'existe pas, CFG la crée à la volée (sql_alter()).
On peut alors écrire, lire, modifier exactement comme CFG faisait avec 'extrapack'.
Le hic, c'est que la colonne n'est pas déclarée a SPIP et si l'on fait un DUMP, la colonne est bien sauvegardée...
Mais la restauration ne restaure pas les valeurs (alors qu'elle le fait pour 'prefs' ou 'extra').
Du coup, je ne sais pas trop comment proposer une nouvelle colonne, pour que spip l'intègre dans ses restaurations. La solution la plus barbare, ça serait de :
1) ne pas créer automatiquement les colonnes par cfg si elles n'existent pas
2) mais créer la colonne 'cfg' pour un certain nombre de tables SPIP à l'installation (auteurs, articles, rubriques) de CFG et les déclarer évidemment.
Quelqu'un aurait il des idées/suggestions ?
MM.