Cibler un groupe d'utilisateurs pour l'affichage d'un élément
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
Cibler un groupe d'utilisateurs pour l'affichage d'un élément
Détails techniques
Version du forum : phpBB2
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Google Chrome
Personnes concernées par le problème : Tous les utilisateurs
Lien du forum : http://indare-division.forumactif.com/
Description du problème
Bonjour, c'est encore moi *la fille qui savait pas faire du javascript*Sachez tout d'abord que j'ai lu ce sujet : https://forum.forumactif.com/t366873- et que j'ai essayé d'utiliser l'un des codes plus "généraux" présents. Sur mon forum j'essaye d'autoriser uniquement un certain groupe (le numéro 13) à afficher les posts contenus dans des div de class "prof".
Le soucis c'est que le code qui a permis à la personne en question de résoudre son problèmes ne fonctionnera pas chez moi car cela affiche des choses spécifiques alors que je cherche en quelque sorte à créer une balise hide plus "étendue", dans laquelle on pourrait écrire tout et n'importe quoi et pas juste une portion de texte spécifique.
J'ai testé ça :
- Code:
//ON SUPPRIME L AFFICHAGE POUR LES MEMBRES ET LES INVITES
$(function(){if( _userdata["user_level"] == 0)
$(function(){
$(".prof").remove();
})});
//ON DONNE LES DROITS AUX MEMBRES DES GROUPES SUIVANTS
$(function(){if( _userdata["user_level"] == 13)
$(function(){
$(".prof").append();
})});
Mais peu importe le chiffre que je mets, en étant connecté comme simple membre, le texte apparaît bien mais disparaît au bout de quelques secondes. J'ai essayé de mettre un "important" dans la deuxième partie du code mais dans ce cas-là, ça le rend visible à tous mêmes aux invités.
Du coup j'imagine que la solution serait dans ce code :
- Code:
$(function(){
$('body').append('<div class="g" style="display:none;"></div>');
$('.g').load('/g14-les-aventuriers form[action="/g14-les-aventuriers"]', function(){
$('form[action="/g14-les-aventuriers"] a.gen').each(function(){
var id = $(this).attr('href').match(/[0-9]{1,}$/);
if(_userdata.user_id == id){
$('#t_bord a[href="http://fictions.forumgratuit.eu/t205-bibliotheque-des-fanfictions-par-fandom#2705"]').after('<div class="afficherrp"><hr /><span style="font-size:14px;">Aventuriers</span><br /><a href="http://fictions.forumgratuit.eu/t153-les-exiles-faq#2023">FAQ des Exilés</a><br /><a href="http://fictions.forumgratuit.eu/h14-mise-a-jour-feuille-de-personnage">Mise à jour feuille de personnage</a></div>');
}
});
});
});
Dernière édition par IzumiRK le Ven 31 Mar 2017 - 23:37, édité 3 fois
Re: Cibler un groupe d'utilisateurs pour l'affichage d'un élément
Je viens faire un petit up ~
Re: Cibler un groupe d'utilisateurs pour l'affichage d'un élément
Un petit up de plus ~
Re: Cibler un groupe d'utilisateurs pour l'affichage d'un élément
je vais peut être répondre à côté de ton besoin, mais pourquoi n'utilises tu pas la gestion des groupes pour faire ça ?
A - tu crée un groupe d'utilisateur PA>utilisateurs et groupes>groupes>administration des groupes>bouton vert - créer un nouveau groupe
B - tu mets dans ce groupe les membres à qui tu souhaites donner l'accès a tes messages réservés
C - tu crées un forum >PA >général> catégories et forums et dans les permissions, tu décoches tout, sauf pour le groupes que tu as créé.
du coup, seuls les membres de ce groupe pourront voir (et toute autre action que tu auras cochée) ce que tu posteras dans ce forum, et il te suffira d'ajouter ou d'ôter un membre de ce groupe pour lui donner ou retirer la possibilité de lire ces fameux sujets.
A - tu crée un groupe d'utilisateur PA>utilisateurs et groupes>groupes>administration des groupes>bouton vert - créer un nouveau groupe
B - tu mets dans ce groupe les membres à qui tu souhaites donner l'accès a tes messages réservés
C - tu crées un forum >PA >général> catégories et forums et dans les permissions, tu décoches tout, sauf pour le groupes que tu as créé.
du coup, seuls les membres de ce groupe pourront voir (et toute autre action que tu auras cochée) ce que tu posteras dans ce forum, et il te suffira d'ajouter ou d'ôter un membre de ce groupe pour lui donner ou retirer la possibilité de lire ces fameux sujets.
Re: Cibler un groupe d'utilisateurs pour l'affichage d'un élément
Parce que ce n'est pas un forum précis qui est concerné. C'est certains messages qui peuvent être postés n'importe où. C'est bien pour ça que je veux que le groupe puisse lire une balise précise et pas un sous-forum.
Re: Cibler un groupe d'utilisateurs pour l'affichage d'un élément
finalement, j'avais raison@stra a écrit:je vais peut être répondre à côté de ton besoin,
Re: Cibler un groupe d'utilisateurs pour l'affichage d'un élément
Bonjour IzumiRK,
J'ai inversé le mode d'affichage.
Pour éviter que le texte apparaisse à tous si erreur de javascript, par défaut le texte n'est pas affiché. Le javascript évalue si le membre est un admin, un modo ou un membre du groupe 13, dans l'affirmative le texte est affiché.
Remplacer votre code par ceci
Ajouter à votre CSS
Ajouter ce javascript
J'ai inversé le mode d'affichage.
Pour éviter que le texte apparaisse à tous si erreur de javascript, par défaut le texte n'est pas affiché. Le javascript évalue si le membre est un admin, un modo ou un membre du groupe 13, dans l'affirmative le texte est affiché.
Remplacer votre code par ceci
Ajouter à votre CSS
- Code:
.prof.masquer, div.grp {display:none; }
Ajouter ce javascript
- Code:
$(function(){
if( _userdata["user_level"] != 0) {
$(".prof").removeClass("masquer"); // affichage pour admin & modo
return
}
var trouver = false;
if (_userdata["user_id"] < 0) { // invité
$(".prof").remove();
} else { // membre
$('body').append('<div class="grp"></div>');
$('div.grp').load('/g13- form[action^="/g13-"]', function(){
var nb = $('form[action^="/g13-"] a.gen').length;
var i = 0;
$('form[action^="/g13-"] a.gen').each(function(){
var id = $(this).attr('href').match(/[0-9]{1,}$/);
if(_userdata["user_id"] == id){
trouver = true;
}
if (nb == ++i) {
if (trouver) {
$(".prof").removeClass("masquer");
} else {
$(".prof").remove();
}
$('.grp').remove();
}
});
});
}
});
Re: Cibler un groupe d'utilisateurs pour l'affichage d'un élément
Merci beaucoup c'est nickel. Et je comprends mieux pourquoi j'y arrivais pas moi même du coup ^^
*Un jour j'arrêterais de poster ici pour demander de l'aide avec le javascript*
*Un jour j'arrêterais de poster ici pour demander de l'aide avec le javascript*
Sujets similaires
» Cibler un élément parent
» Cibler un groupe avec l'identifiant du groupe
» Elément CSS pour TOUTE la barre de navigation image phpbb2
» Création groupe spéciale ou ajout groupe membre pour gerer l'affichage lien et image
» autorisation pour un membre d'un groupe d'avoi mp groupe
» Cibler un groupe avec l'identifiant du groupe
» Elément CSS pour TOUTE la barre de navigation image phpbb2
» Création groupe spéciale ou ajout groupe membre pour gerer l'affichage lien et image
» autorisation pour un membre d'un groupe d'avoi mp groupe
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