Salut,
je suis toujours super oqp, mais mon pére essait d'installer SPIP pour un des sites dont il s'oqp et il a besoin d'acces restreint, il a récupéré le plugin sur spip-contrib et j'ai vérifié le code correspond sur la zone. Il est en spip 2 avec une base de données sqlite.
Alors, il n'y a pas moyen de créer une nouvelle zone, ça me parrait très étrange que en 5 mois personne ne se soit plaint de cela, donc j'imagine que c'est lié à la base de données...
Donc, j'ai cherché un peu et trouvé deux problèmes, mais comme je ne sais pas exactement comment le plugin fonctionne, je ne sais pas trop comment corriger:
1- dans les logs il y a une erreur select quand on affiche la page pour créer une zone:
0 : HY000
1 : 1
2 : no such column: oui -
SELECT id_rubrique
FROM spip_zones_rubriques AS zr INNER JOIN spip_zones AS z ON zr.id_zone=z.id_zone
WHERE oui
cela vient de inc/acces_restreint.php ligne 54 et 56 qui passent le paramètre $id_zone en $where de la requète, quelle que soit sa valeur (alors je sais pas d'où elle vient, mais ça pourrait être un trou de sécu ça...). Du coup, dans notre cas, elle vaut juste 'oui' et ça ne plait pas du tout à sqlite.
J'ai hacké cela en remplaçant la ligne 54 par:
$where = '1';
mais bon, je ne sais pas du tout si c'est ce qui est voulu là.
2. Avec cette roue de secour, on peut aller un tout petit peu plus loin, mais il y a tout de suite une erreur à l'insertion d'une nouvelle colone quand on valide la création d'une nouvelle zone:
Jan 13 16:28:42 127.0.0.1 (pid 3348)
0 : 23000
1 : 19
2 : cmc_zones.titre may not be NULL - INSERT OR REPLACE INTO cmc_zones (maj,publique,privee) VALUES (NOW(),'non','non')
On trouve vite que cela doit venir de action/editer_zone.php ligne 109, qui fait un insert pour avoir un nouvel id_zone. Malheureusement, la table est définie avec "titre not null", donc sqlite est pas content. Et là je ne vois pas pourquoi mysql ne se plaindrait pas aussi.
Est-ce que quelqu'un a des idées de corrections pour tout cela?
Merci
Pierre