Re: [BUG] Objets_virtuels n'enregistre p as la config : avec tables préfixées !!
Stephane Santon <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <[email protected]> |
Bonjour,
J'ai trouvé le BUG, (mais pas capable de corriger). Pfiouuuu !
Spip 3.2.7 et tables avec préfixe personnalisé : bs4_ au lieu de spip_
Dans le fichier
objets_virtuels\v1.1.3\formulaires\configurer_objets_virtuels.php
function formulaires_configurer_objets_virtuels_traiter_dist() {
L44 : Le nom de table est récupéré sous le format 'spip_articles' et on
fait un sql_showtable. Celui-ci renvoie un array $desc *VIDE*.
Donc
L45 : quand on teste la présence du champ 'virtuel', c'est négatif,
on lance la requête SQL
ALTER TABLE bs4_articles ADD virtuel text DEFAULT '' NOT NULL
qui déclenche une erreur
:Pri:ERREUR: Erreur mysql 1060
:Pri:ERREUR: Erreur 1060 de mysql: Duplicate column name 'virtuel'
[sql_alter(),formulaires_configurer_objets_virtuels_traiter_dist(),traiter_formulaires_dynamiques()]
ALTER TABLE `...`.bs4_articles ADD virtuel text DEFAULT '' NOT NULL
Si avant L44 (sql_showtable) j'insère
$table = str_replace( 'spip_', 'bs4_', $table);
ça marche bien !
DONC, je ne sais pas si c'est :
formulaires_configurer_objets_virtuels_charger_dist() {
qui ne charge pas les noms de tables avec préfixes pour les transmettre
correctement à
formulaires_configurer_objets_virtuels_traiter_dist()
ou
sql_showtable($table) qui ne sait pas récupérer les infos des tables
dont le préfixe n'est pas 'spip_'
Pour corriger, je passe la main aux pros.
Le 30/06/2020 à 15:38, Stephane Santon a écrit :
> Sur Objets virtuels 1.1.3, Spip 3.2.7 (et saisies 3.41.3 au cas où),
> lorsque je coche "Articles" puis clique Enregistrer, le formulaire
> n'enregistre pas la configuration et redécoche tout...
--
Stéphane
17 Charente-Maritime