Il est parfois nécessaire d'exécuter du code JavaScript en fonction de l'utilisateur courant. Par exemple peut être souhaitez-vous afficher un élément de votre design si un utilisateur est du Staff.

Pour cela il existe plusieurs méthodes. Le code proposé dans chaque méthode doit être placé sur toutes les pages de votre forum.

1ère méthode : détection à partir de l'identifiant de l'utilisateur

Sur Forumactif, chaque utilisateur possède un identifiant unique (un nombre entier positif), qui est repérable facilement dans la barre d'adresse de votre navigateur lorsque vous visitez le profil publique de cet utilisateur.

Ainsi, vous pouvez constituer une liste d'identifiants pour lequel vous souhaitez que du code soit exécuté :

Code:

$(() => {
  const staff_list = [1, 2, 175971, 3];
  if (typeof _userdata["user_id"] !== "undefined" && staff_list.indexOf(_userdata["user_id"]) !== -1){
    console.log("ici le code lorsqu'il s'agit d'un utilisateur du staff");
  } else {
    console.log("ici le code lorsqu'il s'agit d'un utilisateur classique");
  }
});


2nd méthode : détection à partir du nom d'utilisateur

Même chose mais avec des noms d'utilisateurs précis au lieu des identifiants :

A noter que l'identifiant est plus fiable que le nom d'utilisateur pour déterminer le profil.

Code:

$(() => {
  const staff_list = ['Test', 'Admin'];
  if (typeof _userdata["username"] !== "undefined" && staff_list.indexOf(_userdata["username"]) !== -1){
    console.log("ici le code lorsqu'il s'agit d'un utilisateur du staff");
  } else {
    console.log("ici le code lorsqu'il s'agit d'un utilisateur classique");
  }
});



3ème méthode : détection dynamique et automatique

L'inconvénient des solutions précédentes est qu'il faut mettre à jour la liste à chaque fois qu'un nouveau membre rejoint ou quitte le staff.

Si les membres considérés comme Staff sont toujours dans des groupes spécifiques bien identifiés, une solution plus élaborée est de récupérer la liste des membres du staff dynamiquement selon les groupes en jeu, puis de comparer avec l'identifiant de l'utilisateur courant. Avec un système de mise en cache bien entendu, pour économiser les ressources FA. Pour avoir accès à cette méthode inscrivez vous sur notre forum !