Le vendredi 02 mars 2018 à 23:35 +0100, spip-zone-commit@rezo.net a
écrit :
Author: tcharlss@bravecassine.com
Date: 2018-03-02 23:35:03 +0100 (Fri, 02 Mar 2018)
New Revision: 109247Modified:
_plugins_/roles_documents/trunk/action/iconifier_logo.php
_plugins_/roles_documents/trunk/action/supprimer_logo.php
_plugins_/roles_documents/trunk/inc/chercher_logo.php
Log:
Refaire fonctionner les boutons d'action pour supprimer un vieux logo
ou le convertir en document. chercher_logo() renvoie maintenant en
priorité un document, donc logo_supprimer() ne retrouvait plus le
vieux logo, et on ne peut pas surcharger la fonction. Donc petit hack
un peu vilain dans chercher_logo() pour savoir si l'appel vient de
logo_supprimer() (et dans ce cas on force la recherche de vieux
logo).
Cool de voir que ça bouge bien du côté de roles_documents ! J'ai
branché logos_roles pour suivre ton travail et tester un peu tout ça,
dans l'idée de laisser la main à roles_documents pour s'occuper de tout
ce qui ne concerne pas les nouveaux types de logos.
Chemin faisant, je me questionne à propos du « petit hack un peu
vilain ». Je comprends que la fonction logo_supprimer ne pourras jamais
voir les logos enregistrés comme documents. Elle devra alors être
dépréciée à terme ?
Je pense que ça serait dommage de sacrifier cette API. L'API actuelle
du core est assez simple et facile à surcharger :
- la fonction inc/chercher_logo pour trouver un logo
- logo_modifier (dans action/editer_logo) pour modifier/créer
- logo_supprimer (dans action/editer_logo) pour supprimer
Je ne vois pas de raison de ne pas réutiliser cette structure. Ces
fonctions devraient s'occuper de tout sans qu'on ait besoin de savoir
ce qui se passe en coulisse (logo historique ou document). Et le reste
du code devrait les utiliser sans se soucier du système de stockage des
logos.
C'est ce qui est fait dans logos_roles, et ça simplifie bien des
choses, en plus de garantir la compatibilité avec les développements
existants.
Mais là, si je veux garder cette cohérence avec la version actuelle de
roles_documents, je suis obligé de surcharger inc/chercher_logo pour
virer ce petit hack, et c'est dommage…
--
bystrano