Membres connectés récemment
[AwesomeBB] Afficher le bouton nouveau selon les permissions
3 participants
Page 1 sur 1 • Partagez
- Version du forum :AwesomeBB
- Templates modifiés :oui
- Navigateur :Autre
Bonsoir,
Je voudrais savoir s'il y aurait moyen que ce script pour supprimer le bouton nouveau pouvait agir seulement pour les membres et non pas pour les membres d'un groupe.
Merci d'avance ^^
Je voudrais savoir s'il y aurait moyen que ce script pour supprimer le bouton nouveau pouvait agir seulement pour les membres et non pas pour les membres d'un groupe.
- Code:
$(function(){
if (_userdata["user_level"] !=1)
$(function(){
if($('a.nav[href^="/f13-"]').length)
{
$('a[href$="mode=newtopic"]').remove();
};
})});
Merci d'avance ^^
En supposant que le code que tu as fourni fonctionne, celui-ci devrait faire l'affaire
On crée un tableau (Array) avec l'id de tous les membres devant voir le bouton. Ici j'ai mis le fondateur donc 1, puis 2, 3, 5, 7, 11, et 13. Ce qui doit rappeler des souvenirs aux plus jeunes si on enlève le 1.
Ensuite on recherche la présence de l'id du membre en cours dans le tableau et le résultat sera la position de l'id dans le tableau
Position 0 pour le fondateur
Position 1 pour /u2
Position 2 pour /u3
Position 3 pour /u5
Position 4 pour /u7
Position 5 pour /u11
Position 6 pour /u13
Et -1 si le membre n'y figure pas.
Si la condition est remplie, on exécute le script et on vire le bouton.
Sinon, le bouton reste.
Edité : Comme je n'ai pas de fofo awesomeBB, je viens de tester sur une autre version et c'est fonctionnel. Et au vu du code utilisé, ça marchera sur n'importe quelle version tant que le fil d'Ariane n'est pas trop modifié.
- Code:
$(function(){
if($.inArray(_userdata["user_id"], [1, 2, 3, 5, 7, 11, 13])==-1)
$(function(){
if($('a.nav[href^="/f13-"]').length)
{
$('a[href$="mode=newtopic"]').remove();
};
})});
if($.inArray(_userdata["user_id"], [1, 2, 3, 5, 7, 11, 13])==-1)
On crée un tableau (Array) avec l'id de tous les membres devant voir le bouton. Ici j'ai mis le fondateur donc 1, puis 2, 3, 5, 7, 11, et 13. Ce qui doit rappeler des souvenirs aux plus jeunes si on enlève le 1.
Ensuite on recherche la présence de l'id du membre en cours dans le tableau et le résultat sera la position de l'id dans le tableau
Position 0 pour le fondateur
Position 1 pour /u2
Position 2 pour /u3
Position 3 pour /u5
Position 4 pour /u7
Position 5 pour /u11
Position 6 pour /u13
Et -1 si le membre n'y figure pas.
Si la condition est remplie, on exécute le script et on vire le bouton.
Sinon, le bouton reste.
Edité : Comme je n'ai pas de fofo awesomeBB, je viens de tester sur une autre version et c'est fonctionnel. Et au vu du code utilisé, ça marchera sur n'importe quelle version tant que le fil d'Ariane n'est pas trop modifié.
Merci, ça fonctionne et pour enchaîner ce code plusieurs fois de suite avec des catégories différentes et des membres différents je peux faire comment ?
- Code:
$(function(){
if($.inArray(_userdata["user_id"], [1])==-1)
$(function(){
if($('a.nav[href^="/f13-"]').length)
{
$('a[href$="mode=newtopic"]').remove();
};
})});
$(function(){
if($.inArray(_userdata["user_id"], [1])==-1)
$(function(){
if($('a.nav[href^="/24-"]').length)
{
$('a[href$="mode=newtopic"]').remove();
};
})});
$(function(){
if($.inArray(_userdata["user_id"], [1, 14)==-1)
$(function(){
if($('a.nav[href^="/f17-"]').length)
{
$('a[href$="mode=newtopic"]').remove();
};
})});
$(function(){
if($.inArray(_userdata["user_id"], [1, 26])==-1)
$(function(){
if($('a.nav[href^="/f14-"]').length)
{
$('a[href$="mode=newtopic"]').remove();
};
})});
Bah il me semble que comme tu as fait ça devrait fonctionner ? Ce n'est pas le cas ?
Après c'est certain qu'on pourrait supprimer un appel à function() sur chaque portion donc au moins deux lignes gagnées mais n'étant pas très douée en fusions de scripts je préfères m'abstenir sinon suis plutôt du genre à partir de deux scripts fonctionnels pour aboutir à un script bon pour la poubelle.
Peut-être que @Milouze14 pourra te proposer plus propre, mais moi je passe mon tour.
Edité :
Je viens de voir que pour tes deux premiers fofos, la condition est la même, là aussi ya de la place à gagner et surtout comme le tableau ne compte qu'un membre, l'ancienne formule est plus pertinente même si on peut effectivement comparer l'id avec un tableau à une seule entrée.
Après c'est certain qu'on pourrait supprimer un appel à function() sur chaque portion donc au moins deux lignes gagnées mais n'étant pas très douée en fusions de scripts je préfères m'abstenir sinon suis plutôt du genre à partir de deux scripts fonctionnels pour aboutir à un script bon pour la poubelle.
Peut-être que @Milouze14 pourra te proposer plus propre, mais moi je passe mon tour.
Edité :
Je viens de voir que pour tes deux premiers fofos, la condition est la même, là aussi ya de la place à gagner et surtout comme le tableau ne compte qu'un membre, l'ancienne formule est plus pertinente même si on peut effectivement comparer l'id avec un tableau à une seule entrée.
Hello Hélène et Mathis,
alors pour être plus simple mais le script est un peu plus lourd mais plus explicite.
Voici un exemple:
Rappel, le fondateur a toujours l'id 1.
On va créer une variable pour chaque forum :
On va créer des variables pour les membres
Ensuite in faut comprendre le fonctionnement des conditions:
Admettons que tu veuilles que le membre ayant l'id 14 (variable:pseudo14)" ne puisse
pas voir le bouton nouveau sur le forum 24 (variable:fofo24).
La condition sera alors pour ce forum:
Admettons que tu ne veuilles pas que ce même membre ne puisse pas voir le forum 17(variable:fofo17)
La condition ne sera plus:
Si le membre ayant l'id 26 (variable:pseudo26) ne doit pas voir le forum 24
Cette condition:
Deviendra alors:
J'ai simplifié le script avec d’abréger ceci:
En créant une variable:
Modules/HTML&JAVASCRIPT/Gestion des codes Javascript/Créer un nouveau Javascript
Mets un titre explicite.
Coches sur les sous-forums et sur les sujets.
Déposes ceci:
Penses a cliquer sur le bouton
Avec cette base de script,le membre portant l'id 14 ne pourra voir le bouton "Nouveau"
sur le forum 24.
Si tu désires mettre d'autres conditions, il n'y a de soucis mais il faut quelles soient cohérentes.
Si tu as des difficultés pour les mettre en œuvre, merci de donner les pseudos qui ne doivent pas avoir de droit sur tels et tels forums.
alors pour être plus simple mais le script est un peu plus lourd mais plus explicite.
Voici un exemple:
Rappel, le fondateur a toujours l'id 1.
On va créer une variable pour chaque forum :
- Code:
var fofo13=$('a.nav[href^="/f13-"]').length;
var fofo14=$('a.nav[href^="/f14-"]').length;
var fofo17=$('a.nav[href^="/f17-"]').length;
var fofo24=$('a.nav[href^="/f24-"]').length;
On va créer des variables pour les membres
- Code:
//MEMBRE AYANT L ID 14
var pseudo14=_userdata["user_id"] ==14;
- Code:
//MEMBRE AYANT L ID 26
var pseudo26=_userdata["user_id"] ==26;
Ensuite in faut comprendre le fonctionnement des conditions:
Admettons que tu veuilles que le membre ayant l'id 14 (variable:pseudo14)" ne puisse
pas voir le bouton nouveau sur le forum 24 (variable:fofo24).
La condition sera alors pour ce forum:
- Code:
if(pseudo14&&fofo24)
{
$('a[href$="mode=newtopic"]').remove();
}
Admettons que tu ne veuilles pas que ce même membre ne puisse pas voir le forum 17(variable:fofo17)
La condition ne sera plus:
- Code:
if(pseudo14&&fofo24)
{
$('a[href$="mode=newtopic"]').remove();
}
- Code:
if(pseudo14&&fofo24&&fofo17)
{
$('a[href$="mode=newtopic"]').remove();
}
Si le membre ayant l'id 26 (variable:pseudo26) ne doit pas voir le forum 24
Cette condition:
- Code:
if(pseudo14&&fofo24)
{
$('a[href$="mode=newtopic"]').remove();
}
Deviendra alors:
- Code:
if(pseudo14&&pseudo26&&fofo24)
{
$('a[href$="mode=newtopic"]').remove();
}
J'ai simplifié le script avec d’abréger ceci:
- Code:
$('a[href$="mode=newtopic"]').remove();
En créant une variable:
- Code:
var nouveau=$('a[href$="mode=newtopic"]');
Modules/HTML&JAVASCRIPT/Gestion des codes Javascript/Créer un nouveau Javascript
Mets un titre explicite.
Coches sur les sous-forums et sur les sujets.
Déposes ceci:
- Code:
$(function(){
var nouveau=$('a[href$="mode=newtopic"]');
//MEMBRE AYANT L ID 14
var pseudo14=_userdata["user_id"] ==14;
//MEMBRE AYANT L ID 26
var pseudo26=_userdata["user_id"] ==26;
var fofo13=$('a.nav[href^="/f13-"]').length;
var fofo14=$('a.nav[href^="/f14-"]').length;
var fofo17=$('a.nav[href^="/f17-"]').length;
var fofo24=$('a.nav[href^="/f24-"]').length;
if(pseudo14&&fofo24){nouveau.remove();}
});
Penses a cliquer sur le bouton
Avec cette base de script,le membre portant l'id 14 ne pourra voir le bouton "Nouveau"
sur le forum 24.
Si tu désires mettre d'autres conditions, il n'y a de soucis mais il faut quelles soient cohérentes.
Si tu as des difficultés pour les mettre en œuvre, merci de donner les pseudos qui ne doivent pas avoir de droit sur tels et tels forums.
Merci Milouze c'est vraiment super gentil mais dans ton message tu dis ceci :
Je pense que tu as pris ma demande à l'envers ou alors c'est moi qui ne comrpend pas le script :/
- Code:
Admettons que tu veuilles que le membre ayant l'id 14 (variable:pseudo14)" ne puisse
pas voir le bouton nouveau sur le forum 24 (variable:fofo24).
Je pense que tu as pris ma demande à l'envers ou alors c'est moi qui ne comrpend pas le script :/
Neptunia a écrit:C'est ce qu'on appelle dans le jargon moderne "Nous la faire à l'envers"
C'est pas faux .
Hello Mathis,
hum,il n'y a pas d'erreur ici:
Sous-catégorie : f17-
Membres autorisés = U1, U5 et U14
Sous-catégorie : f17-
Membres autorisés = U1, U5 et U26
Ce qui revient a dire:
forum f17 on autorise U1 U5 U14 et U26
alors ce script devrait fonctionner:
- Code:
$(function(){
var nouveau=$('a[href$="mode=newtopic"]');
//MEMBRE AYANT L ID 1
var un=_userdata["user_id"] ==1;
//MEMBRE AYANT L ID 5
var deux=_userdata["user_id"] ==5;
//MEMBRE AYANT L ID 14
var trois=_userdata["user_id"] ==14;
//MEMBRE AYANT L ID 26
var quatre=_userdata["user_id"] ==26;
var fofo13=$('a.nav[href^="/f13-"]').length;
var fofo14=$('a.nav[href^="/f14-"]').length;
var fofo17=$('a.nav[href^="/f17-"]').length;
var fofo24=$('a.nav[href^="/f24-"]').length;
if(!un&&!deux&&fofo13&&fofo24){nouveau.remove();}
if(!un&&!deux&&!trois&&!quatre&&fofo17){nouveau.remove();}
});
Hello
Si ton sujet est résolu, merci de suivre la procédure suivante:
Un tag précédent ton premier message et un autre au dessus de la réponse rapide est présent.
Il te suffira de cliquer sur l'un d'entre eux.
Si ton sujet est résolu, merci de suivre la procédure suivante:
Un tag précédent ton premier message et un autre au dessus de la réponse rapide est présent.
Il te suffira de cliquer sur l'un d'entre eux.
Sujets similaires
» [MODERNBB] Supprimer le bouton nouveau pour les membres n'ayant pas les permissions
» [AWESOMEBB] Bouton répondre non opérationnel
» [AwesomeBB] Afficher un bouton de navigation sur le premier et le dernier message
» [AWESOMEBB]Afficher la majeure partie des variables avec un bouton sur l'éditeur
» [PHPBB3] Personnaliser nouveau bouton J'aime
» [AWESOMEBB] Bouton répondre non opérationnel
» [AwesomeBB] Afficher un bouton de navigation sur le premier et le dernier message
» [AWESOMEBB]Afficher la majeure partie des variables avec un bouton sur l'éditeur
» [PHPBB3] Personnaliser nouveau bouton J'aime
Créer un compte ou se connecter pour répondre
Vous devez être membre pour répondre.
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum