Tiens ta réponse me fait penser que j'avais des soucis quand j'avais
développé la fonction de listing des behaviours côté public car je
m'étais aperçu que l'object instancié (côté public) est restreint par
rapport à celui instancié côté admin. Entre la fonction qui permettait
de retrouver la liste des behaviours n'est pas présente côté public.
C'est construit comment cette restriction ?
Le 21 novembre 2011 09:12, Dsls <dsls(a)morefnu.org> a écrit :
> Est-ce qu'un mécanisme particulier pourrait être mis en place
pour
> autoriser tout de même, après utilisation du mécanisme en question, un
> plugin a utiliser une de ces fonctions côté public ? (histoire
> d'éviter une réécriture de code)
Plein de pistes sont envisageables,e le but n'étant pas de restreindre
les possibilités, mais de proposer des objets simples permettant
d'intéragir au niveau public avec un minimum de sécurité. Pour ton
cas, rien n'empêcherait d'implémenter une fonction type "sudo" , qui
fournirait un objet complet pendant un temps donné seulement. Ca
existe déjà dans le core, mais sur un périmètre bien plus restreint.
Pour le cas pratico-pratique, si je prends un futur passage à Twig
comme moteur de templates, on va rendre un objet type dcBlog visible
depuis le moteur. Dans un template on pourra par exemple écrire :
{% set posts = blog.getPosts({'selected': true}) %}
{% for post in posts %}
...
{% endfor %}
L'objet blog en question ne doit pas être une instance du dcBlog
actuel, qui propose trop de fonctions, dont des fonctions qu'on ne
veut absolument pas voir accédées dans le template. Les templates
actuels de dotclear sont tels qu'on est sûrs qu'ils ne compromettront
pas le blog, et il faut conserver cette approche.
D'où la réflexion sur l'utilisation d'un objet intermédiaire, plus
"sécure"...
Comme je le disais, c'est uniquement une réflexion : on peut très bien
toujours instancier un dcBlog actuel quelque part, et proposer un
autre objet forgé de toutes pièces à coté, qui lui appellera les
fonction de $core->blog.
--
Bruno
_______________________________________________
Dev mailing list
Dev(a)list.dotclear.org
http://ml.dotclear.org/listinfo/dev