Re: API autoriser
David Fredette <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <[email protected]> |
Le 2015-11-24 à 13:56, Fil <[email protected]> a écrit : > > 2015-11-24 19:50 GMT+01:00 David Fredette <[email protected]>: > un appel a la fonction : > > autoriser('modifier', ‘facture', $id_facture) > > N’irait plus a la recherche d’une fonction autoriser_modifier_intranet , mais plutôt, vérifier si facture_modifier fait > > avec un exemple c'est tout de suite plus parlant ;-) > > Justement le code de base de inc/autoriser est prévu pour être extensible de n'importe quelle manière qu'on le souhaite, pas seulement en allant chercher autoriser_modifier_intranet() > > Cette dernière convention (autoriser faire quoi qui…) n'est qu'une des manières d'utiliser autoriser ; si tu regardes le code, il me semble qu'il est assez bien documenté dans les possibiltés d'extension qu'il laisse ouvertes. > > (note bien que ma réponse n'est pas du tout la même que celle de Gilles ;-) Ce qui prouve qu'il y a 100 façons différentes de faire…) Au niveau du code actuel les fonction en place permettent en effet d’aller chercher toutes sortes de fonction… La seule chose qui est une épine a l’heure actuelle, c’est qu’il n’y a pas de possibilité de récupérer un array avec la liste des droits disponible pour un objet … La seule façon actuellement de savoir quels sont toute les possibilité « $faire » pour un article par exemple, c’est soit de les savoir par coeur, ou soit de parcourir tout les fichier *_autorisations.php pour trouver les fonctions autoriser_article_* Je crois qu’on pourrait éviter l’écriture et le chargement de beaucoup de fichier php et de fonctions avec un approche différentes pour lister les droits par objet … Reste que comme mentionné dans le premier courriel, si le core y voit une idée potentiel, mais ne veut pas se dire on va tout changer tout de suite, avec juste un peu d’aider pour être sur qu’au départ mes nomenclature sont bonne (tant au niveau des noms dans les array, que certains nom de fonction pour être sur que ce soit dans l’esprit de SPIP), je peux écrire cela en tant que plugins et a l’usage (essai, exemple plus concret, etc, etc…) peut-être que ça se clafiera…. Je veux juste être sur de partir tout cela et que si jamais ça devient intéressant pour le core, le travail d’intégration soit le plus simple possible… > > -- Fil -- David Fredette