Problème sur forums interne

Bonjour,

J'ai le souci exactement résumé par
https://forum.spip.net/fr_266071.html ... sur un spip à jour 3.2.1, PHP
5.6, post qui n'a jamais reçu de réponse.

Le phénomène se produit quand on essaye de créer un message sur le forum
interne ou sur le forum privé des administrateurs mais pas quand on
écrit sur un forum interne d'article.

Dans les logs:

2018-08-16 10:51:51 92.154.37.49 (pid 26746) :Pri:ERREUR: Erreur sur
forum_insert_base array (
  0 =>
  array (
    'titre' => 'TEST4',
    'texte' => 'TEST4 TEST4 TEST4',
    'nom_site' => '',
    'url_site' => 'http://',
    'statut' => 'publie',
    'objet' => '',
    'id_objet' => '0',
    'auteur' => 'Zedd Admin',
    'email_auteur' => 'postmaster@zedd.fr',
  ),
  1 => '0',
  2 => '',
  3 => '0',
  4 => 'publie',
  5 => NULL,
)
2018-08-16 10:51:51 92.154.37.49 (pid 26746) :Pri:ERREUR: Echec
insertion forum sur 0 (+0)

Une idée d'ou cela pourrait venir ? Le site est un Spip avec vraiment
beaucoup de verrues mais néanmoins mis à jour récemment. J'emploie le
terme "verrues" pour signifier qu'il y a beaucoup d'ajouts, certains
directs en PHP, pour créer des objets ce qui n'était pas possible
autrement à l'époque (c'était avant champs extras, LaFabrique et autres
..), mais il n'y a pas de modif du core (ouf) ce qui m'a permis de
faire ces mises à jours (j'ai eu d'autres galères d'encodage en
particulier).

--
Pierre

Bonjour,

Infos supplémentaires:

forum_insert_base() est dans plugins-dist/forum/inc/forum_insert.php par
contre malgré une recherche globale dans une installation spip basique
je ne trouve pas l'appel.

Dans cette fonction il y a un test au début:

  if (!in_array($statut, array('privrac', 'privadm'))) {
    // si le statut est vide, c'est qu'on ne veut pas de ce presume spam !
    if (!$statut or !$objet or !$id_objet) {
      $args = func_get_args();
      spip_log("Erreur sur forum_insert_base " . var_export($args, 1),
'forum.' . _LOG_ERREUR);

      return false;
    }
  }

Si je supprime " or !$objet or !$id_objet" je n'ai plus l'erreur mais
rien ne s'inscrit en base. Clairement au vu de l'erreur ci-dessous dans
les logs les
paramètres 2 et 3 sont vides et égale à 0, donc ça ne peut pas passer le
test ci-dessus.

Pour continuer à remonter l'écheveau il faudrait que je trouve l'appel
de cette fonction, si une bonne âme sait ou cela se trouve.

Le 16/08/2018 à 11:13, Zedd a écrit :

Bonjour,

J'ai le souci exactement résumé par
SPIP Forums ... sur un spip à jour 3.2.1, PHP
5.6, post qui n'a jamais reçu de réponse.

Le phénomène se produit quand on essaye de créer un message sur le forum
interne ou sur le forum privé des administrateurs mais pas quand on
écrit sur un forum interne d'article.

Dans les logs:

2018-08-16 10:51:51 92.154.37.49 (pid 26746) :Pri:ERREUR: Erreur sur
forum_insert_base array (
  0 =>
  array (
    'titre' => 'TEST4',
    'texte' => 'TEST4 TEST4 TEST4',
    'nom_site' => '',
    'url_site' => 'http://',
    'statut' => 'publie',
    'objet' => '',
    'id_objet' => '0',
    'auteur' => 'Zedd Admin',
    'email_auteur' => 'postmaster@zedd.fr',
  ),
  1 => '0',
  2 => '',
  3 => '0',
  4 => 'publie',
  5 => NULL,
)
2018-08-16 10:51:51 92.154.37.49 (pid 26746) :Pri:ERREUR: Echec
insertion forum sur 0 (+0)

Une idée d'ou cela pourrait venir ? Le site est un Spip avec vraiment
beaucoup de verrues mais néanmoins mis à jour récemment. J'emploie le
terme "verrues" pour signifier qu'il y a beaucoup d'ajouts, certains
directs en PHP, pour créer des objets ce qui n'était pas possible
autrement à l'époque (c'était avant champs extras, LaFabrique et autres
..), mais il n'y a pas de modif du core (ouf) ce qui m'a permis de
faire ces mises à jours (j'ai eu d'autres galères d'encodage en
particulier).

--
Pierre

Est-ce que les rajouts modifient l'espace privé?

Est-ce qu'on sait quils sont programmés en prenant soin de ne pas
surcharger ou modifier des fonction de l'espace privé et sont-elles
implémentées dans mes_fonctions.php et des squelettes pour le site publique?

J'ai fait l'expérience qu'à partir d'un certain moment il est plus
efficace de jeter ces modifications et rajouts ancients et de les
remplacer par les fonctionnalités d'un SPIP d'actualité et des plugins
du moment. Surtout tant qu'il reste du code dont il n'est pas clair où
il rajoute ses fonctions il est difficile de corriger des problèmes.

:-)k++

On 16.08.2018 12:06, Zedd wrote:

Une idée d'ou cela pourrait venir ? Le site est un Spip avec vraiment
beaucoup de verrues mais néanmoins mis à jour récemment. J'emploie le
terme "verrues" pour signifier qu'il y a beaucoup d'ajouts, certains
directs en PHP, pour créer des objets ce qui n'était pas possible
autrement à l'époque (c'était avant champs extras, LaFabrique et autres
..), mais il n'y a pas de modif du core (ouf) ce qui m'a permis de
faire ces mises à jours (j'ai eu d'autres galères d'encodage en
particulier).

Bonjour,

Non je ne pense pas que ça modifie l'espace privé, ce sont des tables
externes plus du code dans un dossier spécifique PHP. Et ça a été fait à
une époque ou je ne pense pas qu'on avait la possibilité de surcharger
des fonctions existantes. Un argument de plus est que je pense qu'une
large partie de ces modifs auraient pu en fait être faites dans Spip
mais que le programmeur de l'époque a fait de cette façon parce que
justement il n'avait pas eu une bonne connaissance de l'outil, donc sauf
à l'insu de son plein gré il n'a pas changé le core. (je ne l'ai pas
précisé mais je ne suis pas l'auteur de ces modifs et en plus on parle
d'un site avec des milliers d'articles/objets, donc tout refaire de 0
est une tâche et un budget).

En fait le truc que je ne trouve pas c'est comment/ou est appelée la
fonction forum_insert_base() (voir mon second message).

Le 16/08/2018 à 14:38, klaus++ a écrit :

Est-ce que les rajouts modifient l'espace privé?

Est-ce qu'on sait quils sont programmés en prenant soin de ne pas
surcharger ou modifier des fonction de l'espace privé et sont-elles
implémentées dans mes_fonctions.php et des squelettes pour le site publique?

J'ai fait l'expérience qu'à partir d'un certain moment il est plus
efficace de jeter ces modifications et rajouts ancients et de les
remplacer par les fonctionnalités d'un SPIP d'actualité et des plugins
du moment. Surtout tant qu'il reste du code dont il n'est pas clair où
il rajoute ses fonctions il est difficile de corriger des problèmes.

:-)k++

On 16.08.2018 12:06, Zedd wrote:

Une idée d'ou cela pourrait venir ? Le site est un Spip avec vraiment
beaucoup de verrues mais néanmoins mis à jour récemment. J'emploie le
terme "verrues" pour signifier qu'il y a beaucoup d'ajouts, certains
directs en PHP, pour créer des objets ce qui n'était pas possible
autrement à l'époque (c'était avant champs extras, LaFabrique et autres
..), mais il n'y a pas de modif du core (ouf) ce qui m'a permis de
faire ces mises à jours (j'ai eu d'autres galères d'encodage en
particulier).

--
Pierre

Voilà
https://code.spip.net/autodoc/tree/plugins-dist/forum/inc/forum_insert.php.html#function_forum_insert_base
ou
http://lili.de/u/gykv0

et

ou
http://lili.de/u/hs78o

Je ne connais ta version de SPIP, donc voici un grep sur toute sles
versions maintenues actuellement

On 16.08.2018 16:25, Zedd wrote:

En fait le truc que je ne trouve pas c'est comment/ou est appelée la
fonction forum_insert_base() (voir mon second message).

Le 16/08/2018 à 11:13, Zedd a écrit :

Bonjour,

J'ai le souci exactement résumé par
SPIP Forums ... sur un spip à jour 3.2.1, PHP
5.6, post qui n'a jamais reçu de réponse.

Je viens de répondre du coup. À voir si cela aide.

MM.

Bonjour,

Sauf si je ne comprends pas, les liens ci-dessous me donne la fonction
qui génère l'erreur, comme mentionné dans mes messages je l'avais
trouvée et j'ai même fait des tests dessus (j'ai réussi à trouver ce qui
génère l'erreur).
Par contre ce que je ne trouve pas c'est ou/comment elle est appelée
lorsque l'on crée un nouveau message dans le forum interne administrateurs.
Comme je le précisais (mais oui sans préciser à quel niveau), mon Spip
est à jour, je voulais dire à jour à la dernière version stable, 3.2.1.

Le 18/08/2018 à 08:20, klaus++ a écrit :

Voilà
https://code.spip.net/autodoc/tree/plugins-dist/forum/inc/forum_insert.php.html#function_forum_insert_base
ou
http://lili.de/u/gykv0

et
Connexion · GitLab
ou
http://lili.de/u/hs78o

Je ne connais ta version de SPIP, donc voici un grep sur toute sles
versions maintenues actuellement
grep -R 'forum_insert_base' ././spip/plugins-dist/forum/inc/forum_insert.php - Pastebin.com

On 16.08.2018 16:25, Zedd wrote:

En fait le truc que je ne trouve pas c'est comment/ou est appelée la
fonction forum_insert_base() (voir mon second message).

_______________________________________________

--
Pierre

Bonjour,

Le 21/08/2018 à 16:41, Matthieu Marcillaud a écrit :

Le 16/08/2018 à 11:13, Zedd a écrit :

Bonjour,

J'ai le souci exactement résumé par
SPIP Forums ... sur un spip à jour 3.2.1, PHP
5.6, post qui n'a jamais reçu de réponse.

Je viens de répondre du coup. À voir si cela aide.

Toute aide est bienvenue :slight_smile: J'ai fait une réponse, si des fois vous
avez une minute pour regarder :slight_smile:

MM.

--
Pierre

Bonjour,

J'ai poursuivi mes recherches sur ce pbm en bénéficiant d'infos de la
part de MM (merci encore) mais finalement j'ai peut-être trouvé le
coupable en la personne de "Modération Modérée", si je le désactive ça
remarche, si je l'active mais si je désactive la "modération modérée"
pour les admins ça remarche ...

Bref pour la postérité et voir si solution j'ai posté un message sur
Contrib : https://contrib.spip.net/Moderation-Moderee (mon message est
encore en attente de relecture je crois).

Et pour mémoire le fil du forum ou tout est expliqué:
https://forum.spip.net/fr_266071.html?debut_forums=%40270007#forum270008

Pierre.

Le 24/08/2018 à 12:56, Zedd a écrit :

Bonjour,

J'ai poursuivi mes recherches sur ce pbm en bénéficiant d'infos de la
part de MM (merci encore) mais finalement j'ai peut-être trouvé le
coupable en la personne de "Modération Modérée", si je le désactive ça
remarche, si je l'active mais si je désactive la "modération modérée"
pour les admins ça remarche ...

Bref pour la postérité et voir si solution j'ai posté un message sur
Contrib : Modération Modérée - SPIP-Contrib (mon message est
encore en attente de relecture je crois).

Effectivement, le test Connexion · GitLab ligne 6 n’est pas correct ou incomplet, du coup ça passe en 'publie' les statuts qui devraient être ceux des forums privés / admins.

MM.

Bonjour,

Pour conclure ce fil, le bug a été corrigé par M sur la base du
diagnostic de MM et ça marche correctement avec la nouvelle version
2.0.4 de Modération Modérée (que des M !)
Merci à tous.

Le 24/08/2018 à 13:24, Matthieu Marcillaud a écrit :

Le 24/08/2018 à 12:56, Zedd a écrit :

Bonjour,

J'ai poursuivi mes recherches sur ce pbm en bénéficiant d'infos de la
part de MM (merci encore) mais finalement j'ai peut-être trouvé le
coupable en la personne de "Modération Modérée", si je le désactive ça
remarche, si je l'active mais si je désactive la "modération modérée"
pour les admins ça remarche ...

Bref pour la postérité et voir si solution j'ai posté un message sur
Contrib : Modération Modérée - SPIP-Contrib (mon message est
encore en attente de relecture je crois).

Effectivement, le test
Connexion · GitLab
ligne 6 n’est pas correct ou incomplet, du coup ça passe en 'publie' les
statuts qui devraient être ceux des forums privés / admins.

MM.

--
Pierre