Je pense qu'il serait pas mal qu'on renomme l'autorisation suivante dans le plugin tickets :
autoriser_ticket_ecrire_dist
En effet celle-ci utilise le terme ecrire pour "faire" alors que SPIP utilise lui aussi ce terme pour gérer l'accès à l'espace privé...
Du coup quand on a quelque chose comme ça dans son mes_options :
// autoriser le prive uniquement pour les admins
function autoriser_ecrire() {
if ($GLOBALS['visiteur_session']['statut'] != '0minirezo')
return false;
else
return true;
}
On est obligé de faire ceci pour que autoriser_ticket_ecrire_dsit ne soit pas surchargé par la fonction précédente :
// surcharger autoriser_ecrire_ticket_dist sinon autoriser_ecrire passe avant
function autoriser_ticket_ecrire($faire, $type, $id, $qui, $opt) {
include_spip('inc/tickets_autoriser');
return autoriser_ticket_ecrire_dist($faire, $type, $id, $qui, $opt);
}
Car comme c'est indiqué dans inc/autoriser de spip :
// Dans l'ordre on va chercher autoriser_type_faire, autoriser_type,
// autoriser_faire, autoriser_defaut ; puis les memes avec _dist
// Dans l'ordre on va chercher autoriser_type_faire, autoriser_type,
// autoriser_faire, autoriser_defaut ; puis les memes avec _dist
Quelqu'un en avait déjà parlé. C'est évidemment cet ordre là qui n'est pas du tout cohérent.
La logique voudrait qu'on aille chercher à chaque fois la fonction la plus précise et qu'à chaque étape (à chaque fois qu'on remonte à quelque chose de moins précis) on regarde d'abord si ya une fonction sans "dist", puis une fonction avec. Et non pas tout les sans "dist" d'un côté et tous les dist de l'autre !...
+1
je l'avais déjà dit et même fourni un patch.
Pat
RastaPopoulos a écrit :
Le 31/01/2010 23:03, Bruno Bergot a écrit :
// Dans l'ordre on va chercher autoriser_type_faire, autoriser_type,
// autoriser_faire, autoriser_defaut ; puis les memes avec _dist
Quelqu'un en avait déjà parlé. C'est évidemment cet ordre là qui n'est pas du tout cohérent.
La logique voudrait qu'on aille chercher à chaque fois la fonction la plus précise et qu'à chaque étape (à chaque fois qu'on remonte à quelque chose de moins précis) on regarde d'abord si ya une fonction sans "dist", puis une fonction avec. Et non pas tout les sans "dist" d'un côté et tous les dist de l'autre !...
// Dans l'ordre on va chercher autoriser_type_faire, autoriser_type,
// autoriser_faire, autoriser_defaut ; puis les memes avec _dist
Quelqu'un en avait déjà parlé. C'est évidemment cet ordre là qui n'est pas du tout cohérent.
La logique voudrait qu'on aille chercher à chaque fois la fonction la plus précise et qu'à chaque étape (à chaque fois qu'on remonte à quelque chose de moins précis) on regarde d'abord si ya une fonction sans "dist", puis une fonction avec. Et non pas tout les sans "dist" d'un côté et tous les dist de l'autre !...