1. IMPORTANT : Nouvelles mesures de sécurité - 2. Règles pour obtenir de l'aide dans les forums de support - 3. Restrictions des droits pour le groupe "Support suspendu"

Il est obligatoire de respecter les Règles de MyBB.fr : Version abrégée ou Version complète pour obtenir du support sur nos forums.

Les membres ayant un site/forum contrevenant aux règles de MyBB.support seront placés dans le groupe "Support suspendu" et ne bénéficieront plus du support du staff. Nous recommandons aux autres membres d'agir de même. Il ne s'agit pas d'un bannissement, le membre retrouvera son statut "normal" dès que sa situation sera conforme aux règles.

Nouveau : un Wiki en français : plus de détails.
Avant de soumettre votre problème, consultez-le, ainsi que la FAQ, sans oublier le moteur de recherche interne.


Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Problème de notification de message privé et de variables de groupes
Mots-clés » problème, notification, message, privé, variables, groupes
19-06-2011, 17:50, (Modification du message : 20-06-2011, 19:41 par Pandiablo.)
#1
Problème de notification de message privé et de variables de groupes
Bonjour,

Il y a peu, moi et un amis avons décidé de lancer un forum tournant sous MyBB 1.6.3,

Nous avons décidé de personnaliser le menu du Header. Après avoir conçu graphiquement l'image du nouveau menu, j'ai codé un bout de php qui normalement, est censé reconnaître si le visiteur est un admin, un modérateur, un membre ou un invité dans le template Header. Dans le but d'afficher une image différente, un invité n'aura pas le bouton "Admin" tout comme un membre n'aura pas le bouton "Modération" par exemple.

Je me suis donc inspiré du code du forum d'un ami sur lequel cela fonctionne très bien, le soucis étant que le forum de cet ami est sous MyBB 1.4.7
Il utilise pour reconnaître le niveau du compte les variables $admin, $modo et $co.
J'aimerais savoir si ces variables existent encore dans la version 1.6, et si elles ont le même nom, car sur mon forum, les variables ne sont soit pas reconnues, soit elles sont vides. N'ayant pas de message d'erreurs, je suppose qu'elles sont vides.

Voici le code en question :
Code PHP :
<div id="menulcda"><img src="images/menulcda<?php if(isset($admin)) echo "admin"; else if(isset($modo)) echo "modo"; else echo $co; ?>.png" NAME="Commandes" USEMAP="#<?php if(isset($admin)) echo "admin"; else if(isset($modo)) echo "modo"; else echo $co; ?>"></div

Les images portent le nom de menulcdaadmin ( pour les admins ), menulcdamodo ( pour les modos ), menulcdaco ( pour les membres ) et menulcdanonco ( pour les invités ). Le tout est en png.

Et donc, lorsque je visite l'index du forum, l'image n'est pas affichée. Chrome m'affiche cependant un petit carré m'indiquant l'emplacement ou se trouverait logiquement l'image, lorsque je veux enregistrer cette image, je vois qu'elle se nomme menulcda.png C'est ainsi que j'en conclus que les variables sont vides.

J'ai bien sûr installé le plugin permettant de placer du code php dans les templates.

Merci d'avance si vous pouvez m'apporter un élément de réponse,
Cordialement,
Pandiablo.


Edit : Mise à jour du titre pour les messages ci-dessous concernant mon second problème.
Répondre
19-06-2011, 18:16,
#2
RE: Problème de variables de groupes
À ma connaissance il n'existe pas de variable "$admin, $modo et $co" dans une installation normale de MyBB.

Par exemple il est possible de savoir si un membre est admin, si la variable $mybb->user['cancp'] est "true".

D'autres variables disponibles sont :
$usergroup['canmodcp'] (modérateur)
$usergroup['cancp'] (admin)
$usergroup['issupermod'] (super modérateur)

Bon codage... Wink

Administrateur de MyBBCodes.com
Cool " Ce n'est pas ce que vous savez qui est important, c'est ce que vous faites ou ne faites pas!"
Obtenez plus de 175 plugins pour MyBB ici...
~~ AUCUNE AIDE Par MP, MAIL OU MSN !!!~~
Répondre
19-06-2011, 18:22, (Modification du message : 19-06-2011, 18:28 par Pandiablo.)
#3
RE: Problème de variables de groupes
Je vous aim...

Merci beaucoup, j'vais de suite essayer ça et avec un peu de malchance, j'reviens vous embêter après Big Grin !

Edit : Je viens de tilter, il n'y a donc aucun moyen de savoir si le visiteur est un membre enregistré ou un invité ?

Edit 2 : C'est bizarre mais, même avec les nouvelles variables, l'image ne s'affiche toujours pas ( pour les admins en tout cas ). Mon code me semble pourtant être juste...
Répondre
19-06-2011, 18:33,
#4
RE: Problème de variables de groupes
Un invité n'aura pas de UID, alors il peut être détecté avec
Code PHP :
if($mybb->user['uid'] != 0){
 
// Membre enregistré
}else{
 
// Invité


Pour les autres il est possible d'utiliser aussi ceci :
Code PHP :
if($mybb->usergroup['canmodcp'] == 1// Modérateur

if($mybb->usergroup['cancp'] == 1// Admin 

Administrateur de MyBBCodes.com
Cool " Ce n'est pas ce que vous savez qui est important, c'est ce que vous faites ou ne faites pas!"
Obtenez plus de 175 plugins pour MyBB ici...
~~ AUCUNE AIDE Par MP, MAIL OU MSN !!!~~
Répondre
19-06-2011, 19:00, (Modification du message : 19-06-2011, 20:00 par Pandiablo.)
#5
RE: Problème de variables de groupes
Problème corrigé merci de votre aide !

C'est vraiment trop classe, oh que j'aime mon forum.

Longue vie à MyBB ! \o/
Le double-post c'est le mal, mais j'ai un second problème et je me voyais encore moins créé deux sujets de demande d'aide à la suite.

J'ai donc installé ma barre de navigation : Barre de navigation "normale"

Et j'aimerais que lorsque que l'on a un nouveau message privé, non lu donc, il y ait cette image qui apparaissent : Barre de navigation avec nouveau mp
Savez vous ce que je dois modifier ? Et surtout où dois-je le changer ?

Encore merci d'avance,
Cordialement,
Pandiablo
Répondre
20-06-2011, 19:39, (Modification du message : 20-06-2011, 21:20 par Pandiablo.)
#6
RE: Problème de variables de groupes et notification de messages privés
J'ai en partit réglé mon soucis, cependant il me reste une dernière zone d'ombre.

Ainsi, même si je vais passer pour le vilain de service, je relance mon sujet à la recherche d'une personne sachant quelle variable contient l'information "Tu as un (ou plusieurs) message(s) privé(s) non lu(s)"

J'ai essayé d'utiliser le champs "unreadpms" de la base de donnée mybb_users qui contient le nombre de message non lus, ca parait pourtant simple mais je ne comprend pas pourquoi la barre de navigation ne réagit pas comme je le souhaite, voici mon code :
Code PHP :
<?php
$mp 
mysql_query('SELECT unreadpms FROM mybb_users WHERE username="$mybb->user[\'username\']"');
?>
<div id="menulcda">
<IMG SRC="images/menulcda
<?php

$text 
'';

if(isset(
$admin))
    {
    
$text 'admin';
    }
else if(isset(
$modo))
    {
    
$text 'modo';
    }
else if(
$co == 'co')
    {
    
$text 'co';
    }
else
    {
    
$text 'nonco';
    }
    
if(
$mp >= && $text != 'nonco')
    {
    
$text .= 'mp';
    }
    
echo 
$text;
    
?>.png" NAME="Menu" ALT="Menu" USEMAP="#<?php if(isset($admin)) echo "admin"; else if(isset($modo)) echo "modo"; else echo $co?>">
</div> 

Peut être il y a t-il une erreur qui m'aurait échappé ?

Edit : Petite précision, les variables $admins $modo et $co ont été définis par mes soins dans les templates du header concerné, ainsi si le compte connecté est admin, la variable $admin est créée, si il est modo c'est $modo et ensuite $co contient "co" ou "nonco" en fonction de s'il s'agit d'un membre (co) ou d'un invité (nonco)

Merci à ceux qui sauront éclairer ma lanterne,
Pandiablo.

Edit2 : Je viens de voir qu'il y avait un autre champ dans la même bdd qui je pense concerne aussi les messages privés : pmnotice, il m'a semble, d'après quelques tests, qu'il était à 1 lorsqu'il n'y avait rien de nouveau et il augmentait s'il y avait des nouveaux messages non lus, mais comme avec le premier champ, la barre de navigation ne réagit pas comme je le souhaite, ne réagit même pas du tout, j'ai beau changé les champs, son comportement reste le même, et je n'arrive pas à expliquer ce phénomène.

Sage comme un orage...
Répondre
21-06-2011, 16:19, (Modification du message : 21-06-2011, 17:46 par Pandiablo.)
#7
RE: Problème de notification de message privé et de variables de groupes
Problème résolu !

J'ai finalement réussi à trouver que la variable qui contenait l'information "nouveau message privé était $mybb->user['pms_unread'], elle est égale à 1 lorsque vous avez des messages non lus et à 0 quand il n'y en a pas.

Si je viens détailler ma trouvaille alors que je suis l'auteur de cette demande d'aide, c'est uniquement pour ceux qui se poseront la question après moi car il est vrai que c'est indiqué nul part.

Pandiablo.

Sage comme un orage...
Répondre




Utilisateur(s) parcourant ce sujet : 1 visiteur(s)

Contact | MyBB.support | Retourner en haut | Retourner au contenu | Version bas-débit (Archivé) | Syndication RSS
 Utilitaire de traduction fourni par Regentronique