Afficher une ption seulement pour certains joueurs

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Afficher une ption seulement pour certains joueurs

Message par Nikkyzon le Mar 24 Fév 2015 - 8:49

Détails techniques


Version du forum : phpBB3
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Mozilla Firefox
Personnes concernées par le problème : Plusieurs utilisateurs
Lien du forum : http://jacky-forumdetest.meilleurforum.com

Description du problème

Bonjour

J'aimerais savoir s'il existe un code java ou autre qui serait exécutable sur mon forum pour que je puisses afficher quelques informations seulement pour certains joueurs.

Par exemple: Je suis administrateur. Le fondateur écrit le message "il faut bannir X utilisateur" dans annonce globale.

Est-ce qu'il est possible de faire apparaître ce message pour les admins et non pas pour les utilisateurs normaux ? dans annonces globale par exemple.

PS : Je parle d'annonce globale dans PA > Général > Annonces


Merci d'avoir pris le temps de me lire !


Dernière édition par Nikkyzon le Ven 27 Fév 2015 - 16:32, édité 1 fois

Nikkyzon
**

Masculin
Messages : 73
Inscrit(e) le : 04/02/2011

http://forumdetest.meilleurforum.net
Nikkyzon a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Afficher une ption seulement pour certains joueurs

Message par Self le Mar 24 Fév 2015 - 13:46

Bonjour,

Si vous mettez dans votre annonce ceci :
Code:
<span id="admin"></span>

Et que vous placez ce Javascript sur toute les pages :
Code:
jQuery(function($){
   var message = "Vous devez bannir ....";
   if(_userdata.user_level == 1) $('#admin').append(message);
   else $('#fa_ticker_block').remove();
});

Il vous suffira de changer la variable message "Vous devez bannir ...." par "collez un avertissement à ..." par exemple.

Puis si vous désirez placer d'autres annonces que celle pour les administrateurs il faudra supprimer la ligne :
Code:
else $('#fa_ticker_block').remove();

Cordialement Smile !

Self
+ Hyperactif +

Masculin
Messages : 3710
Inscrit(e) le : 13/06/2013

Self a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Afficher une ption seulement pour certains joueurs

Message par Nikkyzon le Mar 24 Fév 2015 - 17:05

Re-bonjour,

Je vous remercie de votre réponse ! Smile

Cependant j'aurais deux ou trois autres questions, svp... ^^

Est-ce que je pourrais connaitre les autres niveaux d'utilisateurs, comme vous avez marqué ceci "if(_userdata.user_level == 1)", je me suis que les utilisateurs ont des niveaux.

Pareil pour les connectés et non-connectés, est-ce que je peux afficher par exemple, le message "vous êtes connecté(e)" pour les connectés et en même temps "vous devez vous connecter" pour les invités ?

Aussi, afficher un message "Merci de bien vouloir vous présenter" pour ceux qui n'ont posté aucun message et "Vous vous êtes déjà présenté" pour ceux qui ont plus 1 message, par exemple ?

Et ENFIN, la même chose pour les groupes. C'est-à-dire que par exmeple, j'affiche le messages "Bannir X membre" pour le groupes Admins et "Fermer X topic" pour les Modos


MERCI D'AVANCE ! Smile

Nikkyzon
**

Masculin
Messages : 73
Inscrit(e) le : 04/02/2011

http://forumdetest.meilleurforum.net
Nikkyzon a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Afficher une ption seulement pour certains joueurs

Message par Self le Mar 24 Fév 2015 - 19:05

Bonjour,

_userdata.user_level est :
  • égal à 1 pour les administrateurs
  • égal à 2 pour les modérateurs
  • égal à 0 pour les invités et inscrits sans groupes


Pour différencier les invités et les inscrits sans groupe on utilisera plutôt _userdata.user_id qui est égal à -1 pour tous les invités et est unique pour chaque membre enregistré.

Pour le nombre de messages on utilisera _userdata.user_posts.

Donc pour ce que vous voulez faire on pourrait imaginer créer 3 annonces avec chacune ce contenu :
Code:
<span id="admin"></span>
Code:
<span id="connected">Vous êtes connecté !</span>
Code:
<span id="introduce">Vous êtes déjà présenté.</span>

Et ce Javascript sur toutes les pages :
Code:
jQuery(function($){
   var admin = "Vous devez bannir ....", mod = "Fermez le topic ...";

   if(_userdata.user_level == 1) $('#admin').html(admin);
   else if(_userdata.user_level == 2) $('#admin').html(mod);
   else $('#admin').parent().remove();

   if(_userdata.user_id == -1){ $('#connected').html('Vous devez vous connecter !'); $('#introduce').parent().remove();
   }else { if(_userdata.user_posts == 0) $('#introduce').html('Merci de bien vouloir vous présenter.'); }
});

Self
+ Hyperactif +

Masculin
Messages : 3710
Inscrit(e) le : 13/06/2013

Self a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Afficher une ption seulement pour certains joueurs

Message par Nikkyzon le Mer 25 Fév 2015 - 15:22

Au final, j'ai mis ça :
Code:

jQuery(function($){
  var pres = "Souhaitez la bienvenue aux nouveau arrivants ! :)",
 nonpres = "Inscription obligatoire afin d'accéder à la totalité du forum";
 
  if(_userdata.user_posts >= 1) $('#presentation').append(pres);
  else if(_userdata.user_posts == 0) $('#presentation').append(nonpres);
  else $('#presentation').parent().remove();
});

On peut mettre un message à un groupe entier ?

Nikkyzon
**

Masculin
Messages : 73
Inscrit(e) le : 04/02/2011

http://forumdetest.meilleurforum.net
Nikkyzon a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Afficher une ption seulement pour certains joueurs

Message par Self le Mer 25 Fév 2015 - 17:52

Dans votre code une condition ne sert à rien, j'explique.
La variable _userdata.user_posts est égale à 0 que le visiteur soit enregistré ou non.
Donc la ligne suivante ne sera jamais prise en compte :
Code:
else $('#presentation').parent().remove();

Je peut tenter quelque chose, à quel groupe voulez vous afficher un message ?

Self
+ Hyperactif +

Masculin
Messages : 3710
Inscrit(e) le : 13/06/2013

Self a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Afficher une ption seulement pour certains joueurs

Message par Nikkyzon le Jeu 26 Fév 2015 - 7:20

Je n'ai pas de groupe précis, mais si c'est seulement pour tenter, essayez avec Administrateurs (groupe invisible sur mon forum).

Nikkyzon
**

Masculin
Messages : 73
Inscrit(e) le : 04/02/2011

http://forumdetest.meilleurforum.net
Nikkyzon a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Afficher une ption seulement pour certains joueurs

Message par Self le Jeu 26 Fév 2015 - 13:46

Bonjour,

Une solution simple et qui semble bien fonctionner, c'est d'ajouter encore une fois une annonce avec pour contenu :
Code:
<span class="message"></span>

Puis d'ajouter ce Javascript à la gestion des codes javascript :
Code:
jQuery(function($){
   var isAdmin = false;
   $.get('/groups',function(data){
      if(data.match(/\/g1-administrateurs/)){ isAdmin = true; }
   }).complete(function(){
      if(isAdmin){ $('.message').html('vous êtes administrateur de ce forum.'); }
      else{ $('.message').parent().remove(); }
   });
});

Et comme dans les annonces plusieurs annonces identiques sont générées il serait mieux de mettre des class à la place des id que j'ai mis au début Smile !

Self
+ Hyperactif +

Masculin
Messages : 3710
Inscrit(e) le : 13/06/2013

Self a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Afficher une ption seulement pour certains joueurs

Message par Nikkyzon le Ven 27 Fév 2015 - 16:31

Je vous remercie infiniment pour vos réponses. Mets résolu désormais ! ^^

Nikkyzon
**

Masculin
Messages : 73
Inscrit(e) le : 04/02/2011

http://forumdetest.meilleurforum.net
Nikkyzon a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum