Afficher une div aux administrateurs
3 participants
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1 • Partagez
Afficher une div aux administrateurs
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
Re: Afficher une div aux administrateurs
Je me permet d'Up ce sujet.
Re: Afficher une div aux administrateurs
Bonjour, j'ai pas tous compris
Vous avez un élément que vous souhaitez retirer aux membres non admin?
Vous avez un élément que vous souhaitez retirer aux membres non admin?
Re: Afficher une div aux administrateurs
Bonsoir,
On pourrait utiliser quelque choses comme :
Avec ce CSS :
L'élément serait caché de base et serait affiché aux administrateurs seulement.
Ou quelque chose comme ça :
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 .
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 .
Re: Afficher une div aux administrateurs
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 :
Merci encore pour votre aide.
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.
Re: Afficher une div aux administrateurs
Bonjour,
J'aurais besoin de savoir où vous désirez ajouter les liens ?
J'aurais besoin de savoir où vous désirez ajouter les liens ?
Re: Afficher une div aux administrateurs
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>
Re: Afficher une div aux administrateurs
Essayez avec ce code :
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 .
- 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 .
Re: Afficher une div aux administrateurs
Ce code fonctionne parfaitement, mon problème est résolu.
Un grand merci pour le temps accordé et bonne continuation.
Un grand merci pour le temps accordé et bonne continuation.
Sujets similaires
» Code pour afficher un bloc uniquement aux administrateurs
» [Administration] Afficher les anniversaires des membres sans afficher publiquement leur âge
» 2 administrateurs
» Les Administrateurs
» Plus d'administrateurs
» [Administration] Afficher les anniversaires des membres sans afficher publiquement leur âge
» 2 administrateurs
» Les Administrateurs
» Plus d'administrateurs
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum