Skip to content

Appel des filtres : signaler les erreurs de nb d'argument

JLuc a demandé de fusionner gh-3abd0771/170/unknown/refs/pull/170/head vers master

Pour #4717 (closed) : détecter et signaler le mauvais nombre d'argument des appels de filtres. Suite https://git.spip.net/spip/spip/pulls/160 :

  • c'est la phase de compilation qui fait le boulot
  • on gère bien le cas particulier des filtres qui ajoutent $Pile en 1er argument implicite.
  • les filtres d'images ne sont pas traités car ils peuvent bidouiller leurs arguments
  • seul le nombre minimal d'argument est testé, car les fonctions USER peuvent être déclarées sans aucun argument mais appeler func_get_args ; et pour les fonctions compilées php du core ou des librairies, on ne peut préjuger de ce qu'elles font (les fonctions du noyau PHP semblent générer un warning en cas de trop d'argument).
  • une chaine de langue est créée pour le message d'erreur
  • le message d'erreur fait référence au source spip uniquement (un autre choix serait de faire référence à la fonction php, ce qui fait une différence de 1 pour le nb d'arguments et parfois pour le nom de la fonction qui implémente le filtre).
  • Par contre, le processus ne s'interrompt pas et aboutit à l'affichage successif des erreurs de nombre d'argument puis de l'erreur PHP qui donne toutes les infos PHP utiles pour qui les comprend.

Joints :

  • Copie d'écran de ce que ça donne
  • Fichier squelette de test

Rapports de requête de fusion