Notice sur translitteration_rapide() (page recherche d'auteur) #5732

Open
opened 1 week ago by erational · 5 comments
Owner

J'ai un bug sur SPIP 4.2.5 et PHP 7.4

Lorsque je lance une recherche sur les auteurs
https://spip_test42.test/ecrire/?exec=auteurs&recherche=julie

J'obtiens une erreur
Erreur d’exécution ../prive/objets/liste/auteurs.html | File ....\spip_test42\www\ecrire\inc\charsets.php Line 800 : Return value of translitteration_rapide() must be of the type string, null returned

Je reproduis sur OVH et en local sur deux sites différents.

J'ai un bug sur SPIP 4.2.5 et PHP 7.4 Lorsque je lance une recherche sur les auteurs https://spip_test42.test/ecrire/?exec=auteurs&recherche=julie J'obtiens une erreur `Erreur d’exécution ../prive/objets/liste/auteurs.html | File ....\spip_test42\www\ecrire\inc\charsets.php Line 800 : Return value of translitteration_rapide() must be of the type string, null returned` Je reproduis sur OVH et en local sur deux sites différents.
erational added this to the 4.2 milestone 1 week ago
erational added the
bug
label 1 week ago
b_b commented 1 week ago
Owner

Je ne reproduis pas sur spip.net...

Je ne reproduis pas sur spip.net...
b_b added
à confirmer
and removed
bug
labels 1 week ago
JLuc commented 1 week ago

C'est peut être lié au texte d'une de tes autrices. Une trace permettrait de voir qui et le texte.

C'est peut être lié au texte d'une de tes autrices. Une trace permettrait de voir qui et le texte.
Owner

Je suppose surtout que ça appelle translitteration_rapide(null, ...)
Et dans ce cas paf.

Je suppose surtout que ça appelle `translitteration_rapide(null, ...)` Et dans ce cas paf.
Owner
				'rechercher_champs' => [
					'nom' => 5,
					'bio' => 1,
					'email' => 1,
					'nom_site' => 1,
					'url_site' => 1,
					'login' => 1
				],

Et complété par le pipeline rechercher_liste_des_champs dans la fonction liste_des_champshttps://git.spip.net/spip/spip/src/branch/master/ecrire/inc/rechercher.php#L48

Une des supposition, c’est qu’un pipeline (d’un plugin) ajoute un champ qui n’existe pas dans la table des auteurs, soit via declarer_tables_objets_sql, soit via rechercher_liste_des_champs donc.

Il n’empêche qu’il faudrait éviter le problème dans translitteration_rapide certainement, mais ça serait bien d’avoir le fin mot de l’histoire sur la véritable origine de ce souci.

- Et pour appeler `translitteration_rapide(null)` depuis une recherche, - cela viendrait de `inc_recherche_to_array_dist` là https://git.spip.net/spip/spip/src/branch/master/ecrire/inc/recherche_to_array.php#L117 - qui s’appuie sur une liste de champs de recherche, - qui est par exemple déclaré là pour spip_auteurs : https://git.spip.net/spip/spip/src/branch/master/ecrire/base/objets.php#L262 ```php 'rechercher_champs' => [ 'nom' => 5, 'bio' => 1, 'email' => 1, 'nom_site' => 1, 'url_site' => 1, 'login' => 1 ], ``` Et complété par le pipeline `rechercher_liste_des_champs` dans la fonction `liste_des_champs` là https://git.spip.net/spip/spip/src/branch/master/ecrire/inc/rechercher.php#L48 Une des supposition, c’est qu’un pipeline (d’un plugin) ajoute un champ qui n’existe pas dans la table des auteurs, soit via `declarer_tables_objets_sql`, soit via `rechercher_liste_des_champs` donc. Il n’empêche qu’il faudrait éviter le problème dans translitteration_rapide certainement, mais ça serait bien d’avoir le fin mot de l’histoire sur la véritable origine de ce souci.
marcimat commented 1 day ago
Owner

On vient de nous signaler un site qui a la même notice, du coup j’ai pu comprendre !

Cela vient du champ login qui peut être NULL

Et en fait, n’importe quel champ où la recherche serait active qui peut être null pourrait générer cette erreur.

On vient de nous signaler un site qui a la même notice, du coup j’ai pu comprendre ! Cela vient du champ `login` qui peut être `NULL` Et en fait, n’importe quel champ où la recherche serait active qui peut être null pourrait générer cette erreur.
marcimat referenced this issue from a commit 1 day ago
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: spip/spip#5732
Loading…
There is no content yet.