MyBB.support, le portail francophone de MyBB

Version complète : Couleur Membre Vs Groupe
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Pages : 1 2
Bonjour,

J'ai créé des groupes sur mon forum myBB avec des couleurs qui s'affiche correctement au pied de page.

Mon problème est que lorsque qu'un membre créé un post, la couleur de son groupe ne répète pas dans le post.

Seriez-vous où je pourrais faire la modification afin que chaque membre garde la couleur de son groupe lorsqu'il post ?

Merci d'avance pour votre aide.

Franck
Bonjour,

Absolument personne serait m'aider ?

Toujours dans l'attente d'une âme charitable
Question fréquemment répondue ici :

Pour les pseudos :
http://mybb.fr/thread-3944-post-21747.html#pid21747

Pour les messages :
http://mybb.fr/thread-4976-post-28018.html#pid28018
Bonjour,

Merci pour votre réponse.

J'ai cherché dans tous les post et toutes les discussions inclus dans votre message, seulement je ne trouve pas la solution a mon problème.

Ci-joint une image de souci rencontré :

[Image: test110.png]

Ce que je souhaiterais, c'est que la couleur de l'utilisateur du groupe soit réutilisée dans la colonne du post " dernier message" ( dans ce cas, la couleur devrait être verte )

Merci d'avance pour votre retour

Franck
Je n'ai strictement rien compris ...
(15-12-2011, 16:20)Ch00s3r a écrit : [ -> ]Je n'ai strictement rien compris ...

- Dans mon exemple, le groupe "Membre Privilégié FFKR" est en vert = OK
- Le membre "test1" est en vert = OK
- A l’intérieur du post créé par le membre, son pseudo est ecrit en vert = OK

- Sur mon image ci-dessus, dans l'index du forum, la colonne "dernier message" ( a droite ), le membre n'a pas sa couleur verte = Non OK

Comment puis-je rappeler la couleur du posteur à cette endroit là ?

En espérant avoir été plus clair.

PS : J'ajoute l'image de ce que j'ai sur mon ancien forum ( forumactif ) et que je souhaiterais avoir sur mon forum actuel ( MyBB )
[Image: test210.png]

Les deux pseudos encadré sont tout deux en vert :s
Ah non je retire ce que j'ai dit (tu avais dit si-dessus) Je ne sais pas comment réparé sa , moi je n'ai pas se problème :s
Cette fonctionnalité d'afficher le nom formaté de l'utilisateur dans la liste des forums tel que vu dans l'ancien forum n'est pas intégrée dans MyBB, j'imagine qu'elle fût obtenue à l'aide d'un plugin ou d'une modification du fichier source "functions_forumlist.php"...
Merci messieurs, même si mon souci ne peut être soldé.

A moins que vous sachiez dans le fichier source "functions_forumlist.php" quoi modifier ?...
Il faudrait remplacer la ligne :
Code PHP :
$lastpost_profilelink build_profile_link($lastpost_data['lastposter'], $lastpost_data['lastposteruid']); 

Par quelque chose comme ceci :
Code PHP :
    global $db;
$query $db->query("
    SELECT u.*
    FROM "
.TABLE_PREFIX."users u
    LEFT JOIN "
.TABLE_PREFIX."usergroups g ON (g.gid=u.usergroup)
    WHERE u.uid = 
$lastpost_data['lastposteruid']
    LIMIT 1
"
);
if (
$lastposter_info $db->fetch_array($query)){
    
$lastpost_username_formatted format_name($lastpost_data['lastposter'], $lastposter_info['usergroup'], $lastposter_info['displaygroup']);
}else{
    
$lastpost_username_formatted $lastpost_data['lastposter'];
}
$lastpost_profilelink build_profile_link($lastpost_username_formatted$lastpost_data['lastposteruid']); 

Je n'ai pas vérifier le code, mais cela devrait fonctionner du premier coup! Wink

P.S. Il faut considérer que ces modifications seront supprimées à la prochaine mise-à-jour du fichier.
Il y a une erreur dans ton code :
Voilà le corrigé

Code PHP :
    global $db;
$query $db->query("
    SELECT u.*
    FROM "
.TABLE_PREFIX."users u
    LEFT JOIN "
.TABLE_PREFIX."usergroups g ON (g.gid=u.usergroup)
    WHERE u.uid = "
.$lastpost_data['lastposteruid']."
    LIMIT 1
"
);
if (
$lastposter_info $db->fetch_array($query)){
    
$lastpost_username_formatted format_name($lastpost_data['lastposter'], $lastposter_info['usergroup'], $lastposter_info['displaygroup']);
}else{
    
$lastpost_username_formatted $lastpost_data['lastposter'];
}
$lastpost_profilelink build_profile_link($lastpost_username_formatted$lastpost_data['lastposteruid']); 

cette erreur se situe à cette ligne :

Code PHP :
WHERE u.uid ".$lastpost_data['lastposteruid']." 

Ta ligne se présente comme ceci :

Code PHP :
WHERE u.uid $lastpost_data['lastposteruid'

Ce qui provoque une erreur .

Mais tu dis que ce code disparaitra si on effectue une mise à jour comment régler ce soucis pour ne pas à le faire à chaque mise à jour ?

J'ai testé ce code : (dans le template du forum) code de psyro (désolé je me souviens pas du pseudo exact

Code PHP :
<?php
    $lpq 
$db->query("SELECT username, usergroup, displaygroup FROM " TABLE_PREFIX "users WHERE uid = '" $lastpost_data['lastposteruid'] . "'");
    
$lpf $db->fetch_array('.$lpq.');
    
$lastpost_profilelink build_profile_link(format_name($lpf['username'], $lpf['usergroup'], $lpf['displaygroup']), $lastpost_data['lastposteruid']);
?>

Mais cela provoque une erreur en haut du header et la case est vide

l'erreur est la suivante :

Code PHP :
Parse errorsyntax errorunexpected T_ENCAPSED_AND_WHITESPACEexpecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/lemonded/public_html/inc/functions_forumlist.php(284) : eval()'d code on line 3 

merci de votre partage
Effectivement la dernière variable devait être exclue du texte.
Mais cette modification était destinée pour un remplacement dans le fichier "functions_forumlist.php".

Mais comme mentionné précédemment, si une mise à jour de ce fichier survient, le code devra être intégré de nouveau.

Pour éviter cela il faudra nécessairement utiliser un plugin.

Pour ce qui est de l'erreur dans le code :
Code PHP :
$lpf $db->fetch_array('.$lpq.'); 
devrait être :
Code PHP :
$lpf $db->fetch_array($lpq); 
Je n'ai plus d'erreur mais la couleur du pseudo ne change pas
Bien sur qu'il ne changera pas, le code pour récupérer les informations des deux tables n'est pas le même que dans mon exemple!

Il manque ce code :
Code PHP :
LEFT JOIN ".TABLE_PREFIX."usergroups g ON (g.gid=u.usergroup
ce qui permet de récupérer la valeur de "displaygroup"...
j'ai remis le code et l'erreur est revenu
N'ayant pas une boule de cristal, pour obtenir de l'aide il faudrait bien me montrer le code complet utilisé, ainsi que le texte de l'erreur provoquée...
(15-03-2013, 13:44)exdiogene a écrit : [ -> ]N'ayant pas une boule de cristal, pour obtenir de l'aide il faudrait bien me montrer le code complet utilisé, ainsi que le texte de l'erreur provoquée...

voici le code après modification:
Ce code est placé dans Forum Bit Templates==>forumbit_depth2_forum_lastpost
Au dessus de :

Code PHP :
<span class="smalltext">
<
a href="{$lastpost_link}title="{$full_lastpost_subject}"><strong>{$lastpost_subject}</strong></a>
<
br />{$lastpost_date} {$lastpost_time}<br />{$lang->by} {$lastpost_profilelink}</span

Code PHP :
<?php
    $lpq 
$db->query("SELECT username, usergroup, displaygroup FROM ".TABLE_PREFIX." users LEFT JOIN ".TABLE_PREFIX." usergroups g ON (g.gid=u.usergroup) WHERE uid = "$lastpost_data['lastposteruid']."");
    
$lpf $db->fetch_array($lpq); 
    
$lastpost_profilelink build_profile_link(format_name($lpf['username'], $lpf['usergroup'], $lpf['displaygroup']), $lastpost_data['lastposteruid']);
?>

et voici l'erreur :

Code PHP :
Parse errorsyntax errorunexpected T_ENCAPSED_AND_WHITESPACEexpecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/lemonded/public_html/inc/functions_forumlist.php(284) : eval()'d code on line 3 Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/lemonded/public_html/inc/functions_forumlist.php(284) : eval()'d code on line 3 Parse errorsyntax errorunexpected T_ENCAPSED_AND_WHITESPACEexpecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/lemonded/public_html/inc/functions_forumlist.php(284) : eval()'d code on line 3 Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/lemonded/public_html/inc/functions_forumlist.php(284) : eval()'d code on line 3 


Je vois deux espaces qui ne devraient pas être là, car la variable "TABLE_PREFIX" doit être collé au nom des tables.

Les deux erreurs sont soulignées en rouge :
.TABLE_PREFIX." users
.TABLE_PREFIX." usergroups

La commande devrait être exactement comme celle donnée par moi précédemment hormis l'erreur finale:
Code PHP :
$lpq $db->query("SELECT u.* FROM ".TABLE_PREFIX."users u LEFT JOIN ".TABLE_PREFIX."usergroups g ON (g.gid=u.usergroup) WHERE u.uid = ".$lastpost_data['lastposteruid']." LIMIT 1"
J'ai bien mis le code en corrigeant une erreur (une parenthèse oublié) mais l'erreur persiste

Voici le code mis en place :

Code PHP :
<?php
    $lpq 
$db->query("SELECT u.* FROM ".TABLE_PREFIX."users u LEFT JOIN ".TABLE_PREFIX."usergroups g ON (g.gid=u.usergroup) WHERE u.uid = ".$lastpost_data['lastposteruid']." LIMIT 1"); 
    
$lpf $db->fetch_array($lpq); 
    
$lastpost_profilelink build_profile_link(format_name($lpf['username'], $lpf['usergroup'], $lpf['displaygroup']), $lastpost_data['lastposteruid']);
?>
J'espère que les éditions du fichier "functions_forumlist.php" ne se font pas avec le "bloc note" de Windows!

Car cela pourrait causer ces problèmes...

Sinon, il semble manquer la déclaration de la variable globale $db comme ici :
Code PHP :
global $db

Ce qui est nécessaire pour la bonne opération de la requête à la Base de Données...
Pages : 1 2
 Utilitaire de traduction fourni par Regentronique