Masquer certains boutons de modération en fonction du groupe
4 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 2 • Partagez
Page 1 sur 2 • 1, 2
Masquer certains boutons de modération en fonction du groupe
Bonjour,
Je ne m'y connais pas du tout en Javascript, donc je poste cette demande...
Est-ce qu'il serait possible de me faire un Javascript (je vois pas comment sinon) qui corresponde à ceci ? :
- Utilisateur modérateur ET [sur un sujet OU panneau de modération OU sous-forum] ?
- Appartient au groupe 99 ?
- Ajouter le CSS (<style>): .maclasse { display:none }
Merci d'avance
Je ne m'y connais pas du tout en Javascript, donc je poste cette demande...
Est-ce qu'il serait possible de me faire un Javascript (je vois pas comment sinon) qui corresponde à ceci ? :
- Utilisateur modérateur ET [sur un sujet OU panneau de modération OU sous-forum] ?
- Appartient au groupe 99 ?
- Ajouter le CSS (<style>): .maclasse { display:none }
Merci d'avance
Re: Masquer certains boutons de modération en fonction du groupe
Oy o/
J'ai justement essayé de retrouver comment faire cette nuit et j'ai rien pu trouver. Je sais qu'un code parfaitement fonctionnel existe, mais qu'il est peu commun i_i
Dans le doute, ça pourrait quand même t'aider: https://forum.forumactif.com/t357257-pseudos-personnalises-en-fonction-du-groupe
J'ai justement essayé de retrouver comment faire cette nuit et j'ai rien pu trouver. Je sais qu'un code parfaitement fonctionnel existe, mais qu'il est peu commun i_i
Dans le doute, ça pourrait quand même t'aider: https://forum.forumactif.com/t357257-pseudos-personnalises-en-fonction-du-groupe
Re: Masquer certains boutons de modération en fonction du groupe
Euh oui et non... je souhaite appliquer du CSS sur complètement autre chose que les noms d'utilisateurs
Sur certains boutons pour être précis
Donc je vois pas... ^^
Sur certains boutons pour être précis
Donc je vois pas... ^^
chattigre
Aidactif
Aidactif
Pour une aide efficace...
Mettez un titre explicite
Communiquez vos personnalisations
Rendez le forum et votre problème directement visible
Si votre problème est résolu, éditez votre premier message et cochez l'icône
Consultez la liste des Questions et réponses fréquentes avant d'ouvrir un sujet si nécessaire
Re: Masquer certains boutons de modération en fonction du groupe
Ah, bah il faut le préciser :b
Pour l'instant, j'ai pu trouver ça: https://forum.forumactif.com/t376273-afficher-une-ption-seulement-pour-certains-joueurs#3175921
Pour l'instant, j'ai pu trouver ça: https://forum.forumactif.com/t376273-afficher-une-ption-seulement-pour-certains-joueurs#3175921
Re: Masquer certains boutons de modération en fonction du groupe
Bonsoir,
Vous l'avez dit vous ne connaissez rien en Javascript, le mieux est donc de dire le résultat que vous voulez un peu plus précisément.
Que voulez vous changer pour certains utilisateurs ?
Est-ce pour des groupes, ou pour des niveau d'utilisateur (un utilisateur peut être modérateur d'un forum sans appartenir à un groupe) ?
Vous l'avez dit vous ne connaissez rien en Javascript, le mieux est donc de dire le résultat que vous voulez un peu plus précisément.
Que voulez vous changer pour certains utilisateurs ?
Est-ce pour des groupes, ou pour des niveau d'utilisateur (un utilisateur peut être modérateur d'un forum sans appartenir à un groupe) ?
Re: Masquer certains boutons de modération en fonction du groupe
Bien, donc je vais détailler
Merci de votre aide.
J'aimerais, si un utilisateur appartient à un groupe x (ce groupe étant modérateur du sous-forum en question), appliquer un style du type :
Merci de votre aide.
J'aimerais, si un utilisateur appartient à un groupe x (ce groupe étant modérateur du sous-forum en question), appliquer un style du type :
- Code:
.btn-delete{
display:none;
}
chattigre
Aidactif
Aidactif
Pour une aide efficace...
Mettez un titre explicite
Communiquez vos personnalisations
Rendez le forum et votre problème directement visible
Si votre problème est résolu, éditez votre premier message et cochez l'icône
Consultez la liste des Questions et réponses fréquentes avant d'ouvrir un sujet si nécessaire
Re: Masquer certains boutons de modération en fonction du groupe
Bonsoir
J'ajoute que, dans l'idée, le code n'agirait que sur les pages sujets, liste des sujets, et panneau de modération...
Merci d'avance
J'ajoute que, dans l'idée, le code n'agirait que sur les pages sujets, liste des sujets, et panneau de modération...
Merci d'avance
chattigre
Aidactif
Aidactif
Pour une aide efficace...
Mettez un titre explicite
Communiquez vos personnalisations
Rendez le forum et votre problème directement visible
Si votre problème est résolu, éditez votre premier message et cochez l'icône
Consultez la liste des Questions et réponses fréquentes avant d'ouvrir un sujet si nécessaire
Re: Masquer certains boutons de modération en fonction du groupe
Bonjour,
Je ne vois personnellement pas de bouton de suppression sur la liste des sujets, mais dans l'idée de le cacher autant le supprimer ? Si vos modérateur connaissent un peu les outils de développement ils pourront toujours ré-afficher ce bouton via leur navigateur et supprimer les sujets si il ne s'agit que de CSS.
Donc dans l'idée on pourrait essayer le code suivant :
Sachant que je ne suis pas bien sur que c'est ce que vous voulez puisque ici on agit sur tout les modérateurs et si j'ai bien compris vous voulez qu'il n'agisse que sur les modérateurs d'un certains forum ?
Je ne vois personnellement pas de bouton de suppression sur la liste des sujets, mais dans l'idée de le cacher autant le supprimer ? Si vos modérateur connaissent un peu les outils de développement ils pourront toujours ré-afficher ce bouton via leur navigateur et supprimer les sujets si il ne s'agit que de CSS.
Donc dans l'idée on pourrait essayer le code suivant :
- Code:
if(document.location.pathname.match(/(\/modcp|\/f[0-9+]|\/t[0-9+])/) && _userdata.user_level == 2){
var btndelete = document.querySelector('input[name="delete"]'), subjectbtn = document.querySelector('.topic-admin a:first-child'), quickmod = document.querySelector('.quickmod-wrap option[value="delete"]');
if(btndelete){btndelete.remove()
}else if(subjectbtn && quickmod){subjectbtn.remove(); quickmod.remove()}
}
Sachant que je ne suis pas bien sur que c'est ce que vous voulez puisque ici on agit sur tout les modérateurs et si j'ai bien compris vous voulez qu'il n'agisse que sur les modérateurs d'un certains forum ?
Re: Masquer certains boutons de modération en fonction du groupe
Bonjour, Attention, cela fait 6 jours que nous n'avons pas de nouvelles concernant votre demande, si vous ne voulez pas voir votre sujet déplacé à la corbeille, merci de poster dans les 24h qui suivent ce message. Si votre sujet est résolu, merci d'éditer votre premier message et de cocher l'icône « résolu » |
Re: Masquer certains boutons de modération en fonction du groupe
Merci beaucoupSelf a écrit:Bonjour,
Je ne vois personnellement pas de bouton de suppression sur la liste des sujets, mais dans l'idée de le cacher autant le supprimer ? Si vos modérateur connaissent un peu les outils de développement ils pourront toujours ré-afficher ce bouton via leur navigateur et supprimer les sujets si il ne s'agit que de CSS.
Donc dans l'idée on pourrait essayer le code suivant :
- Code:
if(document.location.pathname.match(/(\/modcp|\/f[0-9+]|\/t[0-9+])/) && _userdata.user_level == 2){
var btndelete = document.querySelector('input[name="delete"]'), subjectbtn = document.querySelector('.topic-admin a:first-child'), quickmod = document.querySelector('.quickmod-wrap option[value="delete"]');
if(btndelete){btndelete.remove()
}else if(subjectbtn && quickmod){subjectbtn.remove(); quickmod.remove()}
}
Sachant que je ne suis pas bien sur que c'est ce que vous voulez puisque ici on agit sur tout les modérateurs et si j'ai bien compris vous voulez qu'il n'agisse que sur les modérateurs d'un certains forum ?
Mais en effet je souhaite que le code n'agisse que sur les membres d'un certain groupe.
Concernant le bouton sur la liste des sujets, j'en ai ajouté un
Pour faire simple, je vais simplement mettre un display:none sur la classe du bouton Mais si vous pouviez me faire "le squelette" du code, ce serait gentil
Après réflexion, j'aimerais également supprimer les boutons de fusion et division
De sorte qu'il ne reste que "Corbeiller, verrouiller, et déplacer"
Enfin, je rêve surement, mais serait-il possible de faire un code qui supprimerait le droit d'édition autre que sur ses propres messages ?
Si c'est possible, dites-le moi avant de le faire (car je suppose que si c'est possible, c'est complexe ), car nous devons décider si l'on faut le choix d'appliquer quelque chose dans le genre, et si la réponse est finalement non, je ne voudrais pas vous avoir demandé quelque chose qui serait inutilisé
Merci pour votre aide
Re: Masquer certains boutons de modération en fonction du groupe
Bonjour,
ça me parait possible, je me met dessus dès que possible .
ça me parait possible, je me met dessus dès que possible .
Re: Masquer certains boutons de modération en fonction du groupe
Bonjour,
J'ai fait un code commenté à essayer dans la gestion des codes javascript sur toutes les pages (et oui j'ai bien dit essayer, malheureusement je n'ai pas le moyen de le faire pour le moment alors soyez indulgents ) :
Puis il suffit d'ajouter dans votre feuille de style :
Les explications étant déjà dans le code si vous avez des questions n,'hésitez pas !
J'ai fait un code commenté à essayer dans la gestion des codes javascript sur toutes les pages (et oui j'ai bien dit essayer, malheureusement je n'ai pas le moyen de le faire pour le moment alors soyez indulgents ) :
- Code:
if(!sessionStorage.inGroups){ /*SI LA SESSION N'EST PAS DEFINIE*/
$(function(){
$.get('/groups', function(d){ /*ON CHERCHE SI LE MEMBRE EST DANS LE GROUPE /G3*/
var inGroups = $('ul.noList a[href^="/g2"]', d).length;
/*ON DEFINIE DANS LA SESSION SI IL Y EST OUI OU NON*/
if(inGroups == 1){ sessionStorage.setItem('inGroups', 'yes');
}else{ sessionStorage.setItem('inGroups', 'false'); }
});
});
}
var hiddens = ['delete', 'split', 'merge'];
if(document.location.pathname.match(/(\/modcp|\/f[0-9+])/) && sessionStorage.getItem('inGroups') == 'yes'){ /*SI IL Y EST ET QU'ON EST SUR LA PAGE DE MODERATION OU SUR LA LISTE DES SUJETS*/
for(var i = 0; i < hiddens.length; i++){
var mod = document.querySelector('.btn input[name="'+hiddens+'"]');
/*ON TROUVE LES BOUTONS DE MODERATION ET LEUR AJOUTE LA CLASSE HIDDEN*/
if(mod){ mod.classList.add('mHidden'); }
}
}else if(document.location.pathname.match(/\/t[0-9+]/) && sessionStorage.getItem('inGroups') == 'yes'){ /*SINON SI ON EST SUR UN SUJET*/
for(var i = 0; i < hiddens.length; i++){
var quickmod = document.querySelector('.quickmod-wrap option[value="'+hiddens[i]+'"]'), topic = document.querySelectorAll('.topic-admin a');
/*SI ON TROUVE LES OUTILS DE MODERATION*/
if(quickmod){ quickmod.remove(); } /*ON SUPPRIME LES ELEMENTS DE LA MODERATION RAPIDE*/
if(topic){
for(var j = 0; j < topic.length; j++){
/*ET ON AJOUTE LA CLASSE HIDDEN AUX BOUTONS DE MODERATION*/
if(topic[j].href.match(hiddens[i])){ topic[j].classList.add('mHidden') }
}
}
}
/*POUR CHAQUE POSTE*/
var author = document.querySelectorAll('.post-author-name');
for(var i = 0; i < p.length; i++){
/*SI LE NOM EST DIFFERENT DU NOM DE L'UTILISATEUR*/
if(p[i].innerText != _userdata.username){
var p = author[i].closest('.post-wrap');
/*ON SUPPRIME LE BOUTON D'EDITION*/
p.firstElementChild.querySelector('.btn-edit').remove();
}
}
}
Puis il suffit d'ajouter dans votre feuille de style :
- Code:
.mHidden{display: none;}
Les explications étant déjà dans le code si vous avez des questions n,'hésitez pas !
Re: Masquer certains boutons de modération en fonction du groupe
@Self
G3 ? Ou G2 ? Du coup, ça serait plutôt un commentaire sur la deuxième ligne ? (j'apprends le jQuery, m'enveuxpas)
- Code:
$.get('/groups', function(d){ /*ON CHERCHE SI LE MEMBRE EST DANS LE GROUPE /G3*/
var inGroups = $('ul.noList a[href^="/g2"]', d).length;
G3 ? Ou G2 ? Du coup, ça serait plutôt un commentaire sur la deuxième ligne ? (j'apprends le jQuery, m'enveuxpas)
Re: Masquer certains boutons de modération en fonction du groupe
Oui la dans la variable on cible le groupe g2, je me suis tromper dans le commentaire car j'avais mis g3 pour les tests.
Re: Masquer certains boutons de modération en fonction du groupe
Bonjour,
J'ai testé, rien à faire ça ne marche pas ^^
J'ai bien entendu modifié le numéro du groupe pas celui qui correspond chez moi ^^
Mais rien ne change
Si quelqu'un pouvait tester de son coté je serais sûr que ce n'est pas moi qui dfait quelque chose de travers
Merci encore
J'ai testé, rien à faire ça ne marche pas ^^
J'ai bien entendu modifié le numéro du groupe pas celui qui correspond chez moi ^^
Mais rien ne change
Si quelqu'un pouvait tester de son coté je serais sûr que ce n'est pas moi qui dfait quelque chose de travers
Merci encore
chattigre
Aidactif
Aidactif
Pour une aide efficace...
Mettez un titre explicite
Communiquez vos personnalisations
Rendez le forum et votre problème directement visible
Si votre problème est résolu, éditez votre premier message et cochez l'icône
Consultez la liste des Questions et réponses fréquentes avant d'ouvrir un sujet si nécessaire
Re: Masquer certains boutons de modération en fonction du groupe
Non ce n'est pas vous, c'est moi !
J'avais oublié quelques modifications dans le code, j'ai testé comme j'ai pu dans la console en modifiant pour mon forum.
Le code suivant devrait maintenant fonctionner sur votre forum :
J'avais oublié quelques modifications dans le code, j'ai testé comme j'ai pu dans la console en modifiant pour mon forum.
Le code suivant devrait maintenant fonctionner sur votre forum :
- Code:
if(!sessionStorage.inGroups){ /*SI LA SESSION N'EST PAS DEFINIE*/
$(function(){
$.get('/groups', function(d){ /*ON CHERCHE SI LE MEMBRE EST DANS LE GROUPE /G3*/
var inGroups = $('ul.noList a[href^="/g3"]', d).length;
/*ON DEFINIE DANS LA SESSION SI IL Y EST OUI OU NON*/
if(inGroups == 1){ sessionStorage.setItem('inGroups', 'yes');
}else{ sessionStorage.setItem('inGroups', 'false'); }
});
});
}
var hiddens = ['delete', 'split', 'merge'];
if(document.location.pathname.match(/(\/modcp|\/f[0-9+])/) && sessionStorage.getItem('inGroups') == 'yes'){ /*SI IL Y EST ET QU'ON EST SUR LA PAGE DE MODERATION OU SUR LA LISTE DES SUJETS*/
for(var i = 0; i < hiddens.length; i++){
var mod = document.querySelector('.btn[name="'+hiddens[i]+'"]');
/*ON TROUVE LES BOUTONS DE MODERATION ET LEUR AJOUTE LA CLASSE HIDDEN*/
if(mod){ mod.classList.add('mHidden'); }
}
}else if(document.location.pathname.match(/\/t[0-9+]/) && sessionStorage.getItem('inGroups') == 'yes'){ /*SINON SI ON EST SUR UN SUJET*/
for(var i = 0; i < hiddens.length; i++){
var quickmod = document.querySelector('.quickmod-wrap option[value="'+hiddens[i]+'"]'), topic = document.querySelectorAll('.topic-admin a');
/*SI ON TROUVE LES OUTILS DE MODERATION*/
if(quickmod){ quickmod.remove(); } /*ON SUPPRIME LES ELEMENTS DE LA MODERATION RAPIDE*/
if(topic){
for(var j = 0; j < topic.length; j++){
/*ET ON AJOUTE LA CLASSE HIDDEN AUX BOUTONS DE MODERATION*/
if(topic[j].href.match(hiddens[i])){ topic[j].classList.add('mHidden') }
}
}
}
/*POUR CHAQUE POSTE*/
var author = document.querySelectorAll('.post-author-name');
for(var i = 0; i < author.length; i++){
/*SI LE NOM EST DIFFERENT DU NOM DE L'UTILISATEUR*/
if(author[i].innerText != _userdata.username){
var p = author[i].closest('.post-wrap');
/*ON SUPPRIME LE BOUTON D'EDITION*/
p.firstElementChild.querySelector('.btn-edit').remove();
}
}
}
Re: Masquer certains boutons de modération en fonction du groupe
Désolé mais non, ça ne marche toujours pas ^^
Ou alors c'est moi
Le petit bout de CSS à ajouter n'a pas changé, on est d'accord ^^
Ou alors c'est moi
Le petit bout de CSS à ajouter n'a pas changé, on est d'accord ^^
chattigre
Aidactif
Aidactif
Pour une aide efficace...
Mettez un titre explicite
Communiquez vos personnalisations
Rendez le forum et votre problème directement visible
Si votre problème est résolu, éditez votre premier message et cochez l'icône
Consultez la liste des Questions et réponses fréquentes avant d'ouvrir un sujet si nécessaire
Re: Masquer certains boutons de modération en fonction du groupe
Bonjour, évidemment !
Juste une question, il se peut que ça ne marche pas sur la liste des sujets, je ne peux pas savoir quel bouton vous avez ajouté et la classe qu'il a.
Cependant si ça ne fonctionne pas pour le reste mais que ça fonctionne à partir de la console on devrait peut être plutôt faire comme ça :
Juste une question, il se peut que ça ne marche pas sur la liste des sujets, je ne peux pas savoir quel bouton vous avez ajouté et la classe qu'il a.
Cependant si ça ne fonctionne pas pour le reste mais que ça fonctionne à partir de la console on devrait peut être plutôt faire comme ça :
- Code:
$(function(){
if(!sessionStorage.inGroups){ /*SI LA SESSION N'EST PAS DEFINIE*/
$.get('/groups', function(d){ /*ON CHERCHE SI LE MEMBRE EST DANS LE GROUPE /G3*/
var inGroups = $('ul.noList a[href^="/g3"]', d).length;
/*ON DEFINIE DANS LA SESSION SI IL Y EST OUI OU NON*/
if(inGroups == 1){ sessionStorage.setItem('inGroups', 'yes');
}else{ sessionStorage.setItem('inGroups', 'false'); }
});
}
var hiddens = ['delete', 'split', 'merge'];
if(document.location.pathname.match(/(\/modcp|\/f[0-9+])/) && sessionStorage.getItem('inGroups') == 'yes'){ /*SI IL Y EST ET QU'ON EST SUR LA PAGE DE MODERATION OU SUR LA LISTE DES SUJETS*/
for(var i = 0; i < hiddens.length; i++){
var mod = document.querySelector('.btn[name="'+hiddens[i]+'"]');
/*ON TROUVE LES BOUTONS DE MODERATION ET LEUR AJOUTE LA CLASSE HIDDEN*/
if(mod){ mod.classList.add('mHidden'); }
}
}else if(document.location.pathname.match(/\/t[0-9+]/) && sessionStorage.getItem('inGroups') == 'yes'){ /*SINON SI ON EST SUR UN SUJET*/
for(var i = 0; i < hiddens.length; i++){
var quickmod = document.querySelector('.quickmod-wrap option[value="'+hiddens[i]+'"]'), topic = document.querySelectorAll('.topic-admin a');
/*SI ON TROUVE LES OUTILS DE MODERATION*/
if(quickmod){ quickmod.remove(); } /*ON SUPPRIME LES ELEMENTS DE LA MODERATION RAPIDE*/
if(topic){
for(var j = 0; j < topic.length; j++){
/*ET ON AJOUTE LA CLASSE HIDDEN AUX BOUTONS DE MODERATION*/
if(topic[j].href.match(hiddens[i])){ topic[j].classList.add('mHidden') }
}
}
}
/*POUR CHAQUE POSTE*/
var author = document.querySelectorAll('.post-author-name');
for(var i = 0; i < author.length; i++){
/*SI LE NOM EST DIFFERENT DU NOM DE L'UTILISATEUR*/
if(author[i].innerText != _userdata.username){
var p = author[i].closest('.post-wrap');
/*ON SUPPRIME LE BOUTON D'EDITION*/
p.firstElementChild.querySelector('.btn-edit').remove();
}
}
}
});
Re: Masquer certains boutons de modération en fonction du groupe
Re,
Je confirme que rien ne marchait, et que rien ne marche
Pour rappel je suis sous AwesomeBB, je ne sais pas si ça change quelque chose ^^
Pour la liste des sujets, j'ai pas tout compris, mais en fait c'est secondaire, donc si ça peut poser problème, on oublie ^^
Je confirme que rien ne marchait, et que rien ne marche
Pour rappel je suis sous AwesomeBB, je ne sais pas si ça change quelque chose ^^
Pour la liste des sujets, j'ai pas tout compris, mais en fait c'est secondaire, donc si ça peut poser problème, on oublie ^^
chattigre
Aidactif
Aidactif
Pour une aide efficace...
Mettez un titre explicite
Communiquez vos personnalisations
Rendez le forum et votre problème directement visible
Si votre problème est résolu, éditez votre premier message et cochez l'icône
Consultez la liste des Questions et réponses fréquentes avant d'ouvrir un sujet si nécessaire
Re: Masquer certains boutons de modération en fonction du groupe
Bonjour,
Sur votre forum je vois à la place de cette ligne :
ceci :
Le code ne fonctionne donc pas sur le panneau de modération, je suppose.
Pour le reste, j'ai aussi testé sur un forum AwesomeBB, question est-ce que ce groupe a accès à la page /groups dans les permissions spéciales ?
Sur votre forum je vois à la place de cette ligne :
- Code:
var mod = document.querySelector('.btn[name="'+hiddens[i]+'"]');
ceci :
- Code:
var mod = document.querySelector('.btn-[name="'+hiddens[i]+'"]');
Le code ne fonctionne donc pas sur le panneau de modération, je suppose.
Pour le reste, j'ai aussi testé sur un forum AwesomeBB, question est-ce que ce groupe a accès à la page /groups dans les permissions spéciales ?
Re: Masquer certains boutons de modération en fonction du groupe
Effectivement, à croire que je n'avais pas enregistré avec la dernière version ^^
Rien ne marche pour autant, désolé
Je commence à penser à un conflit, mais avec QUEL CODE ?
J'ai donc testé sur un forum vierge : Rien ne marche non plus ^^
Oui, c'est ok pour les permissions
Rien ne marche pour autant, désolé
Je commence à penser à un conflit, mais avec QUEL CODE ?
J'ai donc testé sur un forum vierge : Rien ne marche non plus ^^
Oui, c'est ok pour les permissions
chattigre
Aidactif
Aidactif
Pour une aide efficace...
Mettez un titre explicite
Communiquez vos personnalisations
Rendez le forum et votre problème directement visible
Si votre problème est résolu, éditez votre premier message et cochez l'icône
Consultez la liste des Questions et réponses fréquentes avant d'ouvrir un sujet si nécessaire
Re: Masquer certains boutons de modération en fonction du groupe
Bonjour,
On peut essayer comme ça :
ça fonctionne sur mon forum AwesomeBB, si ça ne fonctionne toujours pas est-ce que votre template viewtopic_body est modifié ? Si oui pourriez vous me le donner s'il vous plait ?
On peut essayer comme ça :
- Code:
$(function(){
if(!sessionStorage.inGroups){ /*SI LA SESSION N'EST PAS DEFINIE*/
$.get('/groups', function(d){ /*ON CHERCHE SI LE MEMBRE EST DANS LE GROUPE /G3*/
var inGroups = $('ul.noList a[href^="/g2"]', d).length;
/*ON DEFINIE DANS LA SESSION SI IL Y EST OUI OU NON*/
if(inGroups == 1){ sessionStorage.setItem('inGroups', 'yes');
}else{ sessionStorage.setItem('inGroups', 'false'); }
});
}
var hiddens = ['delete', 'split', 'merge'];
if(document.location.pathname.match(/(\/modcp|\/f[0-9]+)/) && sessionStorage.getItem('inGroups') == 'yes'){ /*SI IL Y EST ET QU'ON EST SUR LA PAGE DE MODERATION OU SUR LA LISTE DES SUJETS*/
for(var i = 0; i < hiddens.length; i++){
var mod = document.querySelector('.btn[name="'+hiddens[i]+'"]');
/*ON TROUVE LES BOUTONS DE MODERATION ET LEUR AJOUTE LA CLASSE HIDDEN*/
if(mod){ mod.classList.add('mHidden'); }
}
}else if(document.location.pathname.match(/\/t[0-9]+/) && sessionStorage.getItem('inGroups') == 'yes'){ /*SINON SI ON EST SUR UN SUJET*/
for(var i = 0; i < hiddens.length; i++){
var quickmod = document.querySelector('.quickmod-wrap option[value="'+hiddens[i]+'"]'), topic = document.querySelectorAll('.topic-admin a');
/*SI ON TROUVE LES OUTILS DE MODERATION*/
if(quickmod){ quickmod.remove(); } /*ON SUPPRIME LES ELEMENTS DE LA MODERATION RAPIDE*/
if(topic){
for(var j = 0; j < topic.length; j++){
/*ET ON AJOUTE LA CLASSE HIDDEN AUX BOUTONS DE MODERATION*/
if(topic[j].href.match(hiddens[i])){ topic[j].classList.add('mHidden') }
}
}
}
/*POUR CHAQUE POSTE*/
var author = document.querySelectorAll('.post-author-name');
for(var i = 0; i < author.length; i++){
/*SI LE NOM EST DIFFERENT DU NOM DE L'UTILISATEUR*/
if(author[i].innerText != _userdata.username){
var p = author[i].closest('.post-wrap');
/*ON SUPPRIME LE BOUTON D'EDITION*/
p.firstElementChild.querySelector('.btn-edit').remove();
}
}
}
});
ça fonctionne sur mon forum AwesomeBB, si ça ne fonctionne toujours pas est-ce que votre template viewtopic_body est modifié ? Si oui pourriez vous me le donner s'il vous plait ?
Re: Masquer certains boutons de modération en fonction du groupe
Bonjour,
Sur mon forum, le template est effectivement modifié, mais pas sur mon forum de test.
Voici mon template tout de même
J'ai testé sur mon forum principal en forçant les templates par défaut, rien n'y fait.
Pour changer le numéro du groupe, il faut juste le changer ligne 4, on est d'accord ?
C'est normal que ce soit écrit g2 et pas g2- en sachant que l'url de la page c'est /g2-nom-du-groupe ou /g2- ?
Étrange que ça marche chez vous et pas chez moi !
J'ai mis le script sur toutes les pages, donc il ne devrait pas non plus être bloqué par ça !!!!
Sur mon forum, le template est effectivement modifié, mais pas sur mon forum de test.
Voici mon template tout de même
J'ai testé sur mon forum principal en forçant les templates par défaut, rien n'y fait.
Pour changer le numéro du groupe, il faut juste le changer ligne 4, on est d'accord ?
C'est normal que ce soit écrit g2 et pas g2- en sachant que l'url de la page c'est /g2-nom-du-groupe ou /g2- ?
Étrange que ça marche chez vous et pas chez moi !
J'ai mis le script sur toutes les pages, donc il ne devrait pas non plus être bloqué par ça !!!!
chattigre
Aidactif
Aidactif
Pour une aide efficace...
Mettez un titre explicite
Communiquez vos personnalisations
Rendez le forum et votre problème directement visible
Si votre problème est résolu, éditez votre premier message et cochez l'icône
Consultez la liste des Questions et réponses fréquentes avant d'ouvrir un sujet si nécessaire
Re: Masquer certains boutons de modération en fonction du groupe
Bonsoir,
Après mes tests je pense que le problème est que l'on définissait la variable de session si elle n'existait pas déjà et ce même si le membre était déconnecté. Alors comme celle-ci était définie avant la connexion le membre n'appartenait pas au groupe, ça devrait être corrigé avec le code suivant, si toutefois vous vous connectez à un autre compte que votre compte administrateur pour tester dans le même navigateur la variable dira toujours que vous n'appartenez pas au groupe prenant en compte la variable qui a été défini quand vous étiez connecté à votre compte administrateur, pensez donc à faire un (ou plusieurs (on ne sait jamais )) CTRL+F5 une fois connecté à votre compte test.
Après mes tests je pense que le problème est que l'on définissait la variable de session si elle n'existait pas déjà et ce même si le membre était déconnecté. Alors comme celle-ci était définie avant la connexion le membre n'appartenait pas au groupe, ça devrait être corrigé avec le code suivant, si toutefois vous vous connectez à un autre compte que votre compte administrateur pour tester dans le même navigateur la variable dira toujours que vous n'appartenez pas au groupe prenant en compte la variable qui a été défini quand vous étiez connecté à votre compte administrateur, pensez donc à faire un (ou plusieurs (on ne sait jamais )) CTRL+F5 une fois connecté à votre compte test.
- Code:
$(function(){
if(_userdata.session_logged_in == 1 && !sessionStorage.inGroups){ /*SI LA SESSION N'EST PAS DEFINIE*/
$.get('/groups', function(d){ /*ON CHERCHE SI LE MEMBRE EST DANS LE GROUPE /G3*/
var inGroups = $('ul.noList a[href^="/g2"]', d).length;
/*ON DEFINIE DANS LA SESSION SI IL Y EST OUI OU NON*/
if(inGroups == 1){ sessionStorage.setItem('inGroups', 'yes');
}else{ sessionStorage.setItem('inGroups', 'false'); }
});
}
var hiddens = ['delete', 'split', 'merge'];
if(document.location.pathname.match(/(\/modcp|\/f[0-9]+)/) && sessionStorage.getItem('inGroups') == 'yes'){ /*SI IL Y EST ET QU'ON EST SUR LA PAGE DE MODERATION OU SUR LA LISTE DES SUJETS*/
for(var i = 0; i < hiddens.length; i++){
var mod = document.querySelector('.btn[name="'+hiddens[i]+'"]');
/*ON TROUVE LES BOUTONS DE MODERATION ET LEUR AJOUTE LA CLASSE HIDDEN*/
if(mod){ mod.classList.add('mHidden'); }
}
}else if(document.location.pathname.match(/\/t[0-9]+/) && sessionStorage.getItem('inGroups') == 'yes'){ /*SINON SI ON EST SUR UN SUJET*/
for(var i = 0; i < hiddens.length; i++){
var quickmod = document.querySelector('.quickmod-wrap option[value="'+hiddens[i]+'"]'), topic = document.querySelectorAll('.topic-admin a');
/*SI ON TROUVE LES OUTILS DE MODERATION*/
if(quickmod){ quickmod.remove(); } /*ON SUPPRIME LES ELEMENTS DE LA MODERATION RAPIDE*/
if(topic){
for(var j = 0; j < topic.length; j++){
/*ET ON AJOUTE LA CLASSE HIDDEN AUX BOUTONS DE MODERATION*/
if(topic[j].href.match(hiddens[i])){ topic[j].classList.add('mHidden') }
}
}
}
/*POUR CHAQUE POSTE*/
var author = document.querySelectorAll('.post-author-name');
for(var i = 0; i < author.length; i++){
/*SI LE NOM EST DIFFERENT DU NOM DE L'UTILISATEUR*/
if(author[i].innerText != _userdata.username){
var p = author[i].closest('.post-wrap');
/*ON SUPPRIME LE BOUTON D'EDITION*/
p.firstElementChild.querySelector('.btn-edit').remove();
}
}
}
});
Re: Masquer certains boutons de modération en fonction du groupe
Ah ! ça MARCHE !
Merci beaucoup !
Quelques petites choses :
Peut-on faire quelque chose pour supprimer également le bouton d'édition dans le cas d'une navigation sur mobile ?
Peut-on supprimer le lien qui est sur le titre que chaque sujet dans le panneau de modération pour permettre d'aller sur la page de division ?
Est-il normal que le bouton d'édition soit le seul a ne pas être en display : none ?
Tous les autres boutons sont en display : none "simple" il me semble. Est-ce normal ?
Merci pour tout !
Merci beaucoup !
Quelques petites choses :
Peut-on faire quelque chose pour supprimer également le bouton d'édition dans le cas d'une navigation sur mobile ?
Peut-on supprimer le lien qui est sur le titre que chaque sujet dans le panneau de modération pour permettre d'aller sur la page de division ?
Est-il normal que le bouton d'édition soit le seul a ne pas être en display : none ?
Tous les autres boutons sont en display : none "simple" il me semble. Est-ce normal ?
Merci pour tout !
chattigre
Aidactif
Aidactif
Pour une aide efficace...
Mettez un titre explicite
Communiquez vos personnalisations
Rendez le forum et votre problème directement visible
Si votre problème est résolu, éditez votre premier message et cochez l'icône
Consultez la liste des Questions et réponses fréquentes avant d'ouvrir un sujet si nécessaire
Re: Masquer certains boutons de modération en fonction du groupe
Petit UP
chattigre
Aidactif
Aidactif
Pour une aide efficace...
Mettez un titre explicite
Communiquez vos personnalisations
Rendez le forum et votre problème directement visible
Si votre problème est résolu, éditez votre premier message et cochez l'icône
Consultez la liste des Questions et réponses fréquentes avant d'ouvrir un sujet si nécessaire
Re: Masquer certains boutons de modération en fonction du groupe
Peut-on faire quelque chose pour supprimer également le bouton d'édition dans le cas d'une navigation sur mobile ?
Pour cela je vous conseil d'ouvrir plutôt un nouveau sujet, je suis de retour sur FA depuis peu de temps et je n'ai pas pris le temps de regarder tout ce qui est mobile.
En passant par le template modcp_body et en modifiant ce passage :Peut-on supprimer le lien qui est sur le titre que chaque sujet dans le panneau de modération pour permettre d'aller sur la page de division ?
- Code:
<a class="topictitle" href="{topicrow.U_VIEW_TOPIC}">{topicrow.TOPIC_TITLE}</a>
Par ceci :
- Code:
<a class="topictitle" href="/t{topicrow.TOPIC_ID}-">{topicrow.TOPIC_TITLE}</a>
En effet dans le code je le supprime mais on peut le changer par un ajout de la classe mHidden, après comme je vous l'ai dit de toute façon l'ajout de classe ou la suppression ce fait via le code javascript donc si vous voulez changer quelque chose il faudra changer le javascript..Est-il normal que le bouton d'édition soit le seul a ne pas être en display : none ?
Tous les autres boutons sont en display : none "simple" il me semble. Est-ce normal ?
Re: Masquer certains boutons de modération en fonction du groupe
Bonjour,
Merci pour tout !
Je vais commencer par vous répondre... ^^
Ici dans le cas de l'en-tête du post :
Merci pour l'astuce pour le lien du panneau de modération ^^
Au contraire, est-il possible de tout supprimer au lieu d'utiliser des display:none ?
Si c'est compliqué, pas de soucis, on laisse comme ça !
Par contre, dernier problème...
Lorsque je me connecte pour tester avec un compte restreint, les restrictions fonctionnent parfaitement
Problème, si je change de compte, elles restent actives
J'ai testé dans plusieurs sens et sur plusieurs navigateurs et j'en déduis que le JS ne "re-clacule" pas au moment où je change de compte. Combien de temps cela peut-il prendre ? Peut-on faire quelque chose contre ça ?
Car du coup je me retrouve avec un compte admin restreint
J'ai supprimé les cookies, pas mieux, en revanche j'ai désactivé / réactivé le JS et là c'était réglé mais bon...
Petite question : Si j'ai 3 groupes, hiérarchisés G1 > G2 > G3, le groupe restrictif est le 3, j'ai un membre qui est dans les groupes 1 et 3, sera-t-il touché ? Le modérateur du groupe est touché je suppose ?
Merci d'avance
Merci pour tout !
Je vais commencer par vous répondre... ^^
Je parle d'un forum sous AwesomeBB donc qui n'utilise pas la version mobile proposée par Forumactif sur les autres versions mais qui est responsive et qui a donc quelques différences.Pour cela je vous conseil d'ouvrir plutôt un nouveau sujet, je suis de retour sur FA depuis peu de temps et je n'ai pas pris le temps de regarder tout ce qui est mobile.
Ici dans le cas de l'en-tête du post :
- Code:
<h2><i class="material-icons">description</i><img src="https://i.servimg.com/u/f47/20/05/96/58/alire10.png" alt="À lire" class="tooltipstered"><span><a href="/t44-modes-d-emploi-de-moderation#65">Modes d'emploi de modération</a></span></h2><div class="mobile-hide post-buttons"><ul><li class="btn-quote-multi"><span id="post_mq44_65" onclick="togglePostMultiQuote(this);" class="tooltipstered"><i class="material-icons">format_quote</i><i class="material-icons">add</i></span></li><li class="btn-quote"><a href="/post?p=65&mode=quote" class="tooltipstered"><i class="material-icons">format_quote</i></a></li><li class="btn-edit"><a href="/post?p=65&mode=editpost" class="tooltipstered"><i class="material-icons">edit</i></a></li><li class="btn-delete"><a href="/post?p=65&tid=b6f97f458799a1b371855a42203586f0&mode=delete" class="tooltipstered"><i class="material-icons">delete</i></a></li><li class="btn-ip"><a href="/modcp?mode=ip&p=65&t=44&tid=b6f97f458799a1b371855a42203586f0" class="tooltipstered"><i class="material-icons">info</i></a></li></ul></div><div class="mobile-show dropdown post-buttons-mobile"><i class="material-icons">more_horiz</i><ul class="dropdown-box"><li class="btn-quote-multi"><span id="post_mq44_65" onclick="togglePostMultiQuote(this);" class="tooltipstered"><i class="material-icons">format_quote</i><i class="material-icons">add</i></span></li><li class="btn-quote"><a href="/post?p=65&mode=quote" class="tooltipstered"><i class="material-icons">format_quote</i></a></li><li class="btn-edit"><a href="/post?p=65&mode=editpost" class="tooltipstered"><i class="material-icons">edit</i></a></li><li class="btn-delete"><a href="/post?p=65&tid=b6f97f458799a1b371855a42203586f0&mode=delete" class="tooltipstered"><i class="material-icons">delete</i></a></li><li class="btn-ip"><a href="/modcp?mode=ip&p=65&t=44&tid=b6f97f458799a1b371855a42203586f0" class="tooltipstered"><i class="material-icons">info</i></a></li></ul></div>
Merci pour l'astuce pour le lien du panneau de modération ^^
D'accordEn effet dans le code je le supprime mais on peut le changer par un ajout de la classe mHidden, après comme je vous l'ai dit de toute façon l'ajout de classe ou la suppression ce fait via le code javascript donc si vous voulez changer quelque chose il faudra changer le javascript..
Au contraire, est-il possible de tout supprimer au lieu d'utiliser des display:none ?
Si c'est compliqué, pas de soucis, on laisse comme ça !
Par contre, dernier problème...
Lorsque je me connecte pour tester avec un compte restreint, les restrictions fonctionnent parfaitement
Problème, si je change de compte, elles restent actives
J'ai testé dans plusieurs sens et sur plusieurs navigateurs et j'en déduis que le JS ne "re-clacule" pas au moment où je change de compte. Combien de temps cela peut-il prendre ? Peut-on faire quelque chose contre ça ?
Car du coup je me retrouve avec un compte admin restreint
J'ai supprimé les cookies, pas mieux, en revanche j'ai désactivé / réactivé le JS et là c'était réglé mais bon...
Petite question : Si j'ai 3 groupes, hiérarchisés G1 > G2 > G3, le groupe restrictif est le 3, j'ai un membre qui est dans les groupes 1 et 3, sera-t-il touché ? Le modérateur du groupe est touché je suppose ?
Merci d'avance
chattigre
Aidactif
Aidactif
Pour une aide efficace...
Mettez un titre explicite
Communiquez vos personnalisations
Rendez le forum et votre problème directement visible
Si votre problème est résolu, éditez votre premier message et cochez l'icône
Consultez la liste des Questions et réponses fréquentes avant d'ouvrir un sujet si nécessaire
Re: Masquer certains boutons de modération en fonction du groupe
Bonjour, je suis sur mobile actuellement, j'essaie de répondre à votre demande dès que possible.
En attendant pour répondre déjà aux questions, oui c'est possible d'enlever celui pour la navigation sur mobile et oui il est possible de tout supprimer à la place de mettre un display none.
Supprimer les cookies du forum ne sert à rien il faut vider le cache en faisant CTRL+F5 comme dit dans mon précédent message ou fermer et rouvrir votre navigateur étant donné que c'est une variable de session qu'on utilise ici.
Le code agit dès que l'on est dans le groupe en question. Et ne prend donc pas en compte la hiérarchie, chose que l'on peu assez facilement modifier. Pour cela pourriez vous me donner les groupes hiérarchiquement au dessus de celui ci ?
En attendant pour répondre déjà aux questions, oui c'est possible d'enlever celui pour la navigation sur mobile et oui il est possible de tout supprimer à la place de mettre un display none.
Supprimer les cookies du forum ne sert à rien il faut vider le cache en faisant CTRL+F5 comme dit dans mon précédent message ou fermer et rouvrir votre navigateur étant donné que c'est une variable de session qu'on utilise ici.
Le code agit dès que l'on est dans le groupe en question. Et ne prend donc pas en compte la hiérarchie, chose que l'on peu assez facilement modifier. Pour cela pourriez vous me donner les groupes hiérarchiquement au dessus de celui ci ?
Re: Masquer certains boutons de modération en fonction du groupe
Merci
Pour la hiérarchie, c'est PAR-FAIT, ça m'arrange qu'elle ne soit pas prise en compte, justement
Bon, même en vidant le cache c'est capricieux le machin, mais effectivement j'arrive à régler ça ^^
De toute façon je ne devrait avoir le problème qu'une fois de temps en temps en faisant des tests ou une action spéciale
Bon courage et merci encore
Pour la hiérarchie, c'est PAR-FAIT, ça m'arrange qu'elle ne soit pas prise en compte, justement
Bon, même en vidant le cache c'est capricieux le machin, mais effectivement j'arrive à régler ça ^^
De toute façon je ne devrait avoir le problème qu'une fois de temps en temps en faisant des tests ou une action spéciale
Bon courage et merci encore
chattigre
Aidactif
Aidactif
Pour une aide efficace...
Mettez un titre explicite
Communiquez vos personnalisations
Rendez le forum et votre problème directement visible
Si votre problème est résolu, éditez votre premier message et cochez l'icône
Consultez la liste des Questions et réponses fréquentes avant d'ouvrir un sujet si nécessaire
Page 1 sur 2 • 1, 2
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 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum