Accueil du site > Le Geek Lab > SPIP et ses boutons d’administration

SPIP et ses boutons d’administration

Masquer les boutons d’administration pour un auteur donné ?

jeudi 17 septembre 2009, par Loiseau2nuit

Et hop ! Ca valait bien un petit billet, à la gloire du Grand Chef [1] DenisB, qui vient de me dépatouiller à l’instant sur l’IRC de SPIP.

La problématique était simple : je souhaite donner à un rédacteur un accès temporaire sur un site SPIP encore en travaux. Le site est donc fermé au public et sa visite n’est rendue possible que par le biais d’un jeu d’identifiant (plugin En travaux 2 pour ceux que ça intéresse)

Seulement voila, même s’il doit par la suite, s’occuper intégralement de la gestion du site, je n’ai pas très envie de prendre le risque que mon rédacteur, à qui je n’ai pas eu le temps de montrer les "basics" de la gestion de site sous SPIP, fasse une fausse manip dans l’espace d’administration pendant que je m’attache à terminer son site dans les temps. D’où l’idée de masquer les petits boutons d’administration qui apparaissent en haut à droite de chaque site en SPIP dès que vous êtes connecté sous statut rédacteur/adminsitrateur.

Alors ça me direz vous, c’est facile. Un coup de Google vous renverra certainement vers la doc de SPIP dans laquelle on vous dira de mettre la ligne

$flag_preserver = true;

au sein d’un fichier mes_options.php, à créer si besoin dans le répertoire /config de la racine de SPIP.

Le tour pourrait être joué, mais moi j’en ai besoin de ces boutons pour bosser, d’autant que je l’ai un peu agrémenté cette barre de boutons, pour m’y rajouter des options raccourcies. Alors comment trouver le compromis ?

Filtrer sur l’id de l’auteur. Et là, ca se corse...

Vous connaissez mes compétences en php, je me suis pourtant bien creusé mais sans succès. J’ai donc appelé à l’aide sur l’IRC de SPIP, et Super Denis a volé à mon secours :-)

A la technique...

Le gros du problème dans mes tests étaient que, chronologiquement parlant, à ce stade de la demande de connexion, on ne peut pas encore jouer sur la valeur attribuée à la session du visiteur (j’ai bien dit celle du visiteur). EXIT donc les grandes idées avec #SESSION telles celles que j’avais cru lumineuses, ou autre bidouillages à base de ['id_auteur'] et/ou ['visiteur_session'] là il fallait jouer sur les cookies du navigateur, et c’est précisément ce que ce script fait.

Pour le reste du décryptage, j’avoue que je n’ai pas encore tout à fait terminé de comprendre :-)

Note : cela n’empèche aucunement la personne en question d’accéder à l’espace privé de SPIP seulement pour ce faire, elle doit du coup saisir manuellement son URL, ce qui n’est pas chose facile lorsque l’on ne la connait pas encore.

Espérant que cette astuce vous aura dépanné autant que moi. Profitez bien et pensez à passer vous aussi remercier DenisB sur l’IRC Spip ;-)

Notes

[1] et je sais que cette appelation lui fera plaisir :-P

Vos commentaires

  • Le 6 janvier 2011 à 14:14, par Lolo

    Bonjour,

    pour ma part je cherche à ajouter un bouton supplémentaire à la barre d’outils dans la partie privé de SPIP et j’ai cru en lisant votre article que vous aviez une solution pour cela.

  • Le 7 janvier 2011 à 22:19, par Loiseau2nuit

    Euh... tout dépend... si vous m’expliquez ce que vous cherchez à faire précisément peut être que je pourrais vous aider ?

    Un bouton ? Quel bouton ? Où ? ...

Répondre à cet article

modération à priori

Attention, votre message n'apparaîtra qu'après avoir été relu et approuvé.

Qui êtes-vous ?
Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Suivre les commentaires : RSS 2.0 | Atom