Afficher une div aux administrateurs

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Afficher une div aux administrateurs

Message par AutentiiK le Jeu 16 Oct 2014 - 0:36

Détails techniques


Version du forum : phpBB2
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Mozilla Firefox

Description du problème

Bonjour,

Il y a quelques temps un membre de cette communauté m'avait fournit un code javascript me permettant d'afficher un lien uniquement visible par les administrateurs.

Je souhaiterais modifier un peu ce code afin qu'il me permette de changer la propriété CSS "display" d'une div à l'aide d'un ID. L'idée étant de conserver l'affichage uniquement pour les admins.

Si cela peut vous être utile, voici le code que j'avais utilisé :

Code:
jQuery(function($){
        if(_userdata.user_level == 1) $('body').append('<a id="administration" href="/admin"></a>');
});

Après quelques recherches je pense que la solution doit être réalisable en combinant la condition "userdata.user_level == 1" avec "document.getElementById" mais je n'ai malheureusement aucune connaissance en javascript. Si vous avez la moindre idée n'hésitez pas =)

Merci d'avoir lu ma demande.


Dernière édition par AutentiiK le Mar 21 Oct 2014 - 20:48, édité 1 fois

AutentiiK
Nouveau membre

Messages : 20
Inscrit(e) le : 26/05/2013

http://forum-rpg-naruto.miraculeux.net/
AutentiiK a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Afficher une div aux administrateurs

Message par AutentiiK le Jeu 16 Oct 2014 - 20:08

Je me permet d'Up ce sujet.

AutentiiK
Nouveau membre

Messages : 20
Inscrit(e) le : 26/05/2013

http://forum-rpg-naruto.miraculeux.net/
AutentiiK a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Afficher une div aux administrateurs

Message par stefou le Lun 20 Oct 2014 - 19:45

Bonjour, j'ai pas tous compris Very Happy
Vous avez un élément que vous souhaitez retirer aux membres non admin?

stefou
*****

Masculin
Messages : 889
Inscrit(e) le : 24/11/2009

http://discussansfrontieres.forumgratuit.fr/forum
stefou a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Afficher une div aux administrateurs

Message par Self le Mar 21 Oct 2014 - 0:33

Bonsoir,

On pourrait utiliser quelque choses comme :
Code:
jQuery(function($){ if(_userdata.user_level == 1) $('.administration').css('display', 'block') });

Avec ce CSS :
Code:
.administration{ display: none; }

L'élément serait caché de base et serait affiché aux administrateurs seulement.

Ou quelque chose comme ça :
Code:
jQuery(function($){ if(_userdata.user_level != 1) $('.administration').remove() });

L'élément serait supprimé si l'utilisateur n'est pas un administrateur.

Mais aucune de ces solutions n'est aussi sécurisée que celle citée dans votre message.
Pour la première quelqu'un qui fouillerait dans le CSS pourrait facilement faire apparaitre l'élément.
Pour la deuxième pour un utilisateur naviguant le Javascript désactivé l'élément ne serait pas supprimé.

Cordialement Smile .

Self
+ Hyperactif +

Masculin
Messages : 3710
Inscrit(e) le : 13/06/2013

Self a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Afficher une div aux administrateurs

Message par AutentiiK le Mar 21 Oct 2014 - 19:40

Bonsoir,

Tout d'abord merci d'avoir prit le temps de vous intéresser à mon problème.
Les solutions proposés correspondent à mon problème, cependant le mot sécurisé a retenu mon attention et j'aimerai donc, sous vos conseils, repartir de ma solution.
J'ai en fait réalisé un menu personnalisé et je souhaiterai ajouter un lien vers une page HTML uniquement visible des admins.
Le problème est que je ne peux pas utiliser le code tel qu'il est posté car j'ai besoin que les liens se situent bien dans les balises <li> et pas dans <body>.
Y a t-il moyen de changer la partie $('body') en y indiquant la classe de ma balise <li> pour insérer à l'intérieur mon lien ?

Rappel de mon code :
Code:
        jQuery(function($){
                if(_userdata.user_level == 1) $('body').append('<a id="administration" href="/admin"></a>');
        });

Merci encore pour votre aide.

AutentiiK
Nouveau membre

Messages : 20
Inscrit(e) le : 26/05/2013

http://forum-rpg-naruto.miraculeux.net/
AutentiiK a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Afficher une div aux administrateurs

Message par Self le Mar 21 Oct 2014 - 19:52

Bonjour,

J'aurais besoin de savoir où vous désirez ajouter les liens ?

Self
+ Hyperactif +

Masculin
Messages : 3710
Inscrit(e) le : 13/06/2013

Self a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Afficher une div aux administrateurs

Message par AutentiiK le Mar 21 Oct 2014 - 19:57

Voici mon code HTML, je vous ai indiqué l'endroit où je souhaiterai placer le lien et en prévision j'y ai appliqué une classe :

Code:
<ul class="nav-top">
[...]
      <!-- BEGIN switch_user_logged_in -->
      <li><a href="/profile?mode=editprofile">Profil</a></li>
      <li><a id="menu-messagerie" href="/privmsg?folder=inbox">Messagerie</a></li>
      <li><a href="/login?logout">Déconnexion</a></li>
      <li><a class="admin-link" href="#">Ici mon lien pour les admins</a></li>
      <!-- END switch_user_logged_in -->
[...]
</ul>

AutentiiK
Nouveau membre

Messages : 20
Inscrit(e) le : 26/05/2013

http://forum-rpg-naruto.miraculeux.net/
AutentiiK a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Afficher une div aux administrateurs

Message par Self le Mar 21 Oct 2014 - 20:33

Essayez avec ce code :
Code:
jQuery(function($){
   if(_userdata.user_level == 1){
      $('body').append('<a id="administration" href="/admin"></a>');
      $('<MONCODEHTML>').prependTo('.nav-top');
      $('<MONCODEHTML>').appendTo('.nav-top');
   }
});

En remplaçant pour chaque ligne <MONCODEHTML> par ce que vous désirez ajouter.
prependTo ajoute le code au début de la liste et appendTo ajoute le code à la fin de la liste Wink .

Self
+ Hyperactif +

Masculin
Messages : 3710
Inscrit(e) le : 13/06/2013

Self a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Afficher une div aux administrateurs

Message par AutentiiK le Mar 21 Oct 2014 - 20:47

Ce code fonctionne parfaitement, mon problème est résolu.

Un grand merci pour le temps accordé et bonne continuation.

AutentiiK
Nouveau membre

Messages : 20
Inscrit(e) le : 26/05/2013

http://forum-rpg-naruto.miraculeux.net/
AutentiiK a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum