Bonjour tout le monde,
Je me demandais par le plus grand des hasard s'il éait possible de cacher l'onglet "plugins" de l'interface administrateur à un groupe d'utilisateurs ou même simplement à des utilisateurs (non rassemblé dans un groupe).
J'avais pensé à faire quelque chose ( avec le peu d'expérience que je possède) du genre:
Si (groupe == grp_1) {
menu.plugin= on interdit l'accès, on le cache on le zigouille mais je veux plus le voir
}
Je suis bien consiente que ce n'est pas aussi simple que les trois lignes au dessus (se serait trop facile).
Mais suis je sur la bonne voie? ou alors je me suis totalement égaré (je risque pas grand chose en trois lignes mais tout de même).
Merci d'avance pour vos réponses, conseils, crtiques (n'hésitez pas à dire que je suis totallement perdu si c'est le cas hein)
Cordialement
Tiphaine
Hors ligne
Ah effectivement si je n'explique pas a quoi ceci va servir ça risque d'être compliqué je suis distraite parfois...
Le groupe grp_1 sont des utilisateurs ayant le status d'administrateur et ça doit le rester puisqu'ils gèreront le site:
-Création de nouveaux utilisateurs
- Administration des droits
-Validation des photos en attentes
- Ajouts de catégories / photos
- etc...
Mais je ne veux en aucune cas qu'ils aient accès aux plugins car ils pourraient (je suppose) "détruire" le site.
Mon besoin: donner l'accès au groupe grp_1 à l'interface administrateur avec toutes ses fonctionnalitées SAUF l'accès à l'onglet plugins.
Par exemple mettre un style display: hidden devrait peut être suffir je sais pas trop c'est pourquoi je vous demande conseil.
Je vous remercie en tout cas d'avoir répondu aussi vite.
Cordialement
Tiphaine
Hors ligne
si vous avez quelques connaissances en PHP :
commencez par regarder le code du plugin Skeleton pour comprendre les mécanismes de triggers de Piwigo
il faudrait crééer un plugin perso (avec LocalFilesEditor) contenant un trigger sur "loc_begin_admin", dans ce trigger un "global $user" pour avoir accès à l'utilisateur courant
faire les tests necessaires sur $user
si besoin
$template->block_html_style(null, '#menubar dl:nth-of-type(3) { display:none; }');
(ne pas oublier global $template; bien sur)
bien sur c'est une sécurité très faible, ça n'empêche pas d'accèder aux pages, mais si les admin sont "de confiance" et que vous voulez juste éviter les fausses manipulations, c'est bon
si vous n'y arrivez pas je posterais ce soir un code complet
Hors ligne
Bonjour,
S'ils sont administrateur, les fonctions sur les plugins sont inactive seul les webmaster peux gérer les plugins
Hors ligne
mistic100 a écrit:
Mais ils peuvent modifier les paramètres des plugins
non ?
ils ne peuvent pas utiliser local File editor
Pour les autre cela doit dépendre des plugins
Mais d'une manière thèorique ils ne devraient pas pouvoir
plein de mise à jour en perspective misic100 :-P
Hors ligne
ddtddt a écrit:
Mais d'une manière thèorique ils ne devraient pas pouvoir
oui et non
si on a un module de news, ou un edito sur PWG Stuffs, ou un chargé de commandes qui fait des exports avec User Collections, l'accès doit être possible
mais ça reste un cas très rare les galeries avec plusieurs admins
Hors ligne
Franchement, vous m'avez épaté, je vous remercie en toute sincérité pour vos réponses et je vais faire des tests plus approfondis pour savoir si le status administrateur peut interagir avec les plugins!
Vous êtes drôlement efficaces, rapides, et compréhensifs qui plus est c'est agréable...je vais m'arréter ici pour les éloges jes crois :-)
Je fais mes tests et je reviens vous tenir au courant.
Cordialement
Tiphaine
Hors ligne
Bon me re-voilà, effectivement je n'étais pas allé au bout des choses....honte à moi....
Donc j'ai fait des tests à savoir créer un utilisateur au status admin et j'ai essayé plusieurs solutions afin de saboter de site....(n'ayant pas une imagination débordante j'ai fait de simples tests).
Plusieurs choses en résultes:
-Effectivement impossibilité de sauvegarder les modifications liées au plugin LocalFileEditor comme l'a dit ddtddt.
-Pour les autres plugins (me concernant: Charlie's content, Community et un plugin que je suis en train d'essayer de développer avec d'énormes difficultés): Je vais tenter de faire ce que tu m'as expliqué avec le plugin Skeleton; Mistic.
Cordialement
Tiphaine
Hors ligne
Bon je vais faire ma chieuse, mais finallement je viens de percuter que "nth-of-type" n'est pas compatible avec IE 7-8 seulement à partir de la version 9...hé oui c'est ce compliquer la vie... mais pas le choix.
Je cherche une alternative mais je sens que je suis pas trop loin de la solution dès que j'ai réussi je posterai la solution ça peut éventuellement servir à d'autres.
Cordialement
Tiphaine
Hors ligne
Merci Mistic vous êtes bien courageu(x/se) de prendre du temps pour m'aider et d'ailleur je sens que j'en abuse un peu.... donc voici mes trois lignes de code
add_event_handler('loc_begin_admin', 'Mplug'); function Mplug() { global $template, $user; if ($user['username'] == 'nom_utilisateur'){ //jusque la tout va bien il me retourne le nom de l'utilisateur courant c'est très bien $template->block_footer_script(array(), 'jQuery("#menubar dl:nth-of-type(3)").hide();'); //ici rien ne va plus }; }
j'essaie de comprendre le code dites moi si je me trompe:
On demande pour le 4eme élément du menu (#menu dl) de se cacher grâce à du Jquery.
Et on l'affecte à la variable $template?
Si je suis dans le vrai alors soit IE 7-8 n'en fait qu'a sa tête soit je suis décidement pas douée en développement...et je retournerai faire des cookies!
Avec le code ci-dessus IE me déroule tous les menus ....
Mon plugin est il archi faux? je pensais avoir suivi vos consignes.....
Une dernièe question que signifie: block_footer_script??
Merci pour toute l'aide apportée
Cordialement
Tiphaine
Hors ligne
le code est juste
je précise quand meme que j n'ai rien testé et que je ne sais pas comment l'accordéon va réagir
si IE déroule tout le menu c'est qu'il y a une erreur de javascript
donc, ouvrez Firefox (c'est pas bien de développer sur IE !) et faites Ctrl+Maj+K pour voir la console Javascript
Template::block_footer_script est une méthode qui permet d'ajouter du javascript à la fin de la page HTML
(comme Template::block_html_style ajoute du CSS au début de la page)
Hors ligne
Si le code est juste vous me rassurez! :-)
Je ne développe pas sous IE je regarde juste le rendu à chaque modifications, je développe sous Opéra et la je viens d'installer Firefox, j'ai bien testé mais tout comme Opéra, il ne me trouve pas l'erreur.
Je vais donc chercher par moi même à partir de maintenant puisque le code est juste, il faut que je m'améliore aussi!
Si je ne trouve pas d'où provient l'erreur je pense repasser par ici.
En tout les cas merci pour ces informations très précieuses que vous m'avez fourni tout du long.
Cordialement
Tiphaine
Hors ligne