Return value of autoriser_dist() must be of the type bool, null returned #5290

Open
opened 1 month ago by equipement · 4 comments

Bonjour,

Sous SPIP 4.1.5, un utilisateur signale le problème suivant :

Erreur d’exécution ... /ecrire/inc/autoriser.php Line 232 : Return value of autoriser_dist() must be of the type bool, null returned

Ce problème provient du fait que :
a) La function autoriser_dist est désormais typée « bool ».
b) La function autoriser_dist initialise la variable de retour à null ( $a = null; ).
c) Si aucune fonction d'autorisation est trouvée pour l'objet, la variable de retour reste à sa valeur initiale, c'est-à-dire null, ce qui ne respecte pas le typage de la fonction.

Cordialement
Equipement

Bonjour, Sous SPIP 4.1.5, un utilisateur signale le problème suivant : Erreur d’exécution ... /ecrire/inc/autoriser.php Line 232 : Return value of autoriser_dist() must be of the type bool, null returned Ce problème provient du fait que : a) La function autoriser_dist est désormais typée « bool ». b) La function autoriser_dist initialise la variable de retour à null ( $a = null; ). c) Si aucune fonction d'autorisation est trouvée pour l'objet, la variable de retour reste à sa valeur initiale, c'est-à-dire null, ce qui ne respecte pas le typage de la fonction. Cordialement Equipement
Owner

Ah oui, très juste, merci.

Ah oui, très juste, merci.
b_b added the
APIs
bug
labels 1 month ago
b_b added this to the 4.1 milestone 1 month ago
Owner

En fait, non…

c) Si aucune fonction d'autorisation est trouvée pour l'objet, la variable de retour reste à sa valeur initiale, c'est-à-dire null

En fait : si aucune fonction n’est trouvée, on appelle autoriser_defaut_dist qui renvoie bien un booléen.

Tu n’aurais pas une fonction spécifique d’autorisation qui retourne null ?

Je vais cependant corriger la valeur par défaut de ce $a.

En fait, non… > c) Si aucune fonction d'autorisation est trouvée pour l'objet, la variable de retour reste à sa valeur initiale, c'est-à-dire null En fait : si aucune fonction n’est trouvée, on appelle `autoriser_defaut_dist` qui renvoie bien un booléen. Tu n’aurais pas une fonction spécifique d’autorisation qui retourne `null` ? Je vais cependant corriger la valeur par défaut de ce `$a`.
b_b commented 1 month ago
Owner

On attend un retour de @equipement pour fermer ?

On attend un retour de @equipement pour fermer ?
Poster

Dans les plugins que j'ai réalisés, il n'y a pas de fonction spécifique d'autorisation qui retourne null. D'ailleurs, sur un serveur de test, je n'arrive pas à reproduire le problème.

Toutefois l'utilisateur en question utilise peut-être des plugins qui ont une fonction spécifique d'autorisation qui retourne null.

Vu que la function autoriser_dist est désormais typée « bool », il serait intéressant de tester le type de la valeur de retour juste avant de la retourner (afin de ne pas retourner null).

Dans les plugins que j'ai réalisés, il n'y a pas de fonction spécifique d'autorisation qui retourne null. D'ailleurs, sur un serveur de test, je n'arrive pas à reproduire le problème. Toutefois l'utilisateur en question utilise peut-être des plugins qui ont une fonction spécifique d'autorisation qui retourne null. Vu que la function autoriser_dist est désormais typée « bool », il serait intéressant de tester le type de la valeur de retour juste avant de la retourner (afin de ne pas retourner null).
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.