Moderniser suivre_invalideur
Suite de medias#4863 (closed) dans lequel marcimat constate qu'« il faudrait des paramètres sous forme d’objet ou de tableau, plutôt qu’une chaine assez étonnante où des fois il y a "id=" dès fois pas… et où on ne sait pas trop quoi mettre. » :
suivre_invalideur n'est plus utilisé par spip mais peut l'être par des plugins (comme cachelab). Actuellement la doc indique un format "id='objet/id_objet'" mais les usages sont disparates et pas toujours conformes :
-
assez souvent (70x) dans les plugin c'est 'id_objet' au lieu de 'objet'
-
parfois l'argument est simplement 1 (avec souvent un commentaire "tout effacer"), parfois c'est 0 mais alors il y a un 2eme argument "true" (qui de toute façon est la valeur par défaut).
-
parfois l'argument contient un commentaire ou une description de la raison de l'invalidation :
suivre_invalideur('centre_image');
suivre_invalideur("id=css_coloriage'");
suivre_invalideur('meta');
suivre_invalideur('noizetier-import-config');
-
parfois actuellement il y a un empilement d'objets :
suivre_invalideur('favori/auteur/'.$row['id_auteur']);
suivre_invalideur("amis/$id_auteur/$id_ami");
suivre_invalideur("alerte/$objet/$id_objet");
suivre_invalideur("id='notation/$objet/$id_objet'");
-
quelques fois, il y a une succession d'appels, qu'on pourrait éventuellement rassembler dans le tableau ou l'objet pour qu'il n'y ait qu'un appel :
include_spip('inc/invalideur');
suivre_invalideur("favori/$objet/$id_objet");
suivre_invalideur("favori/auteur/$id_auteur");
Quel format retenir pour le tableau ou l'objet argument de suivre_invalideur ?
- pour le meilleur fonctionnement des plugins en faisant usage ou susceptibles d'en faire usage
- pour fournir une spec claire à tous les devs afin d'éviter la dispersion fantaisiste des formats utilisés