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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.