MyBB.support, le portail francophone de MyBB
[Réglé] Couleur pseudo portail + derniére activité - Version imprimable

+- MyBB.support, le portail francophone de MyBB (https://mybb.fr)
+-- Forum : MyBB.fr (https://mybb.fr/forum-1.html)
+--- Forum : Support (https://mybb.fr/forum-5.html)
+--- Sujet : [Réglé] Couleur pseudo portail + derniére activité (/thread-7951.html)



Couleur pseudo portail + derniére activité - Tealk - 11-03-2023


VERSION_MyBB : 1.8.33
Bonjour a tous !!!

Voici les infos de mon site avant de poser mes questions :

- Version mybb : installation "neuve" en 1.8.33 mais importation de la database du site qui etait auparavent en version MyBB 1.8.29.
- plugins installer : BAM+ (2.0), Usergroup Legend (1.2), Thank You/Like System (3.4.4)
- modif effectuer : modification du fichier "functions_forumlist.php" comme suggérer Içi

Donc, avec la modification effectuer dans le fichier "functions_forumlist.php" ( j'ai utiliser cette methode, et j'ai bien conscience qu'il faudra la répéter a chaque MAJ, parce que les plugins tester ne marcher pas ), j'ai reussi a afficher les couleurs des pseudo sur l'index de mon forum. Mais, lorsque je rentre dans une categorie du forum, la couleur des pseudo ne reste pas et je n'arrive absollument pas a y remedier.

Cela est pareil pour les pseudo dans les annonces du portail et dans les pseudo du "block" "Dernière activité".

Est-ce que quelqu'un aurai une solution a ce probleme d'affichage s'il vous plait ??

J'ai déja essayer les plugins "Colored usernames" et "Styles_usernames" proposer içi mais sans succés.

En vous remerçiant par avance.


RE: Couleur pseudo portail + derniére activité - Saphir - 11-03-2023

Bonjour Tealk,

Je ne vois pas le copyright de MyBB en bas de page de votre forum, et je ne parviens pas à m'y connecter.
Dans tous les cas, comme je l'ai dit à l'époque dans la discussion que vous avez mentionnée, il est lourdement déconseillé de modifier directement les fichiers PHP de MyBB, car outre le fait qu'il faudra répéter la manipulation à chaque mise à jour, cela peut engendrer d'autres problèmes, notamment de sécurité.

Je vous invite à rétablir la mention du droit d'auteur de MyBB dans le pied de page de votre forum et à vous assurer qu'il nous est possible de nous connecter à votre forum afin que nous puissions vous apporter plus d'aide. Un accès administrateur aux templates pourrait également nous être utile afin que nous puissions consulter ceux-ci tels qu'ils ont été modifiés par vous et vos plug-ins.

Si besoin, voici le code de la mention du droit d'auteur de MyBB, normalement présent dans le template "footer" :
Code :
                <!-- MyBB is free software developed and maintained by a volunteer community.
                    It would be much appreciated by the MyBB Group if you left the full copyright and "powered by" notice intact,
                    to show your support for MyBB.  If you choose to remove or modify the copyright below,
                    you may be refused support on the MyBB Community Forums.

                    This is free software, support us and we'll support you. -->
                {$lang->powered_by} <a href="https://mybb.com" target="_blank" rel="noopener">MyBB{$mybbversion}</a>, &copy; 2002-{$copy_year} <a href="https://mybb.com" target="_blank" rel="noopener">MyBB Group</a>.
                <!-- End powered by -->



RE: Couleur pseudo portail + derniére activité - Tealk - 11-03-2023

Merci Saphir pour votre réponse ... Effectivement je m'aperçois qu'il n'y a pas le copyright du footer, je viens de regler le probleme et je tiens a m'en excuser car j'ai reprit depuis peu l'administration de ce forum ( la personne qui le gerer a la base est parti ) ... Pour le compte utilisateur en mode "admin", je vais le verifier et vous l'envoyer par MP.
Merci.


RE: Couleur pseudo portail + derniére activité - Saphir - 12-03-2023

D'une façon similaire à celle que je décris dans ce message : https://mybb.support/thread-6203-post-34897.html#pid34897 vous pouvez essayer (avec le plugin de ZingaBurga http://mybbhacks.zingaburga.com/showthread.php?tid=260 ) :
Code PHP :
<?php
    
// Pour l'auteur des discussions...
    
if(isset($profileLink[$thread['uid']])) {
        
// Si on a déjà généré le lien coloré de cet utilisateur, on le récupère directement.
        
$thread['profilelink'] = $profileLink[$thread['uid']];
    }
    else {
        
// On cherche les informations relatives aux groupes de cet utilisateur.
        
$authorQuery $db->query("SELECT username, usergroup, displaygroup FROM " TABLE_PREFIX "users WHERE uid = '" $thread['uid'] . "'");
        
$authorResponse $db->fetch_array($authorQuery);
        
// On génère le lien coloré et on le garde en mémoire.
        
$thread['profilelink'] = build_profile_link(format_name($authorResponse['username'], $authorResponse['usergroup'], $authorResponse['displaygroup']), $thread['uid']);
        
$profileLink[$thread['uid']] = $thread['profilelink'];
    }

    
// Pour l'auteur du dernier message des discussions :
    
if(isset($profileLink[$lastposteruid])) {
        
// Si on a déjà généré le lien coloré de cet utilisateur, on le récupère directement.
        
$lastposterlink $profileLink[$lastposteruid];
    }
    else {
        
// On cherche les informations relatives aux groupes de cet utilisateur.
        
$lastPosterQuery $db->query("SELECT username, usergroup, displaygroup FROM " TABLE_PREFIX "users WHERE uid = '" $lastposteruid "'");
        
$lastPosterResponse $db->fetch_array($lastPosterQuery);
        
// On génère le lien coloré et on le garde en mémoire.
        
$lastposterlink build_profile_link(format_name($lastPosterResponse['username'], $lastPosterResponse['usergroup'], $lastPosterResponse['displaygroup']), $lastposteruid);
        
$profileLink[$lastposteruid] = $lastposterlink;
    }
?>

Après installation du plugin, le code ci-dessus est à placer en haut du template intitulé "forumdisplay_thread" (pour chaque thème que vous utilisé, le thème par défaut étant apparemment "Test" actuellement, vous pouvez le modifier pour ce thème à l'adresse : https://VOTRESITE/admin/index.php?module=style-templates&action=edit_template&title=forumdisplay_thread&sid=12 ).
Mon MyBB est un peu rouillé et je n'ai pas testé, je vous laisse me dire si cela fonctionne ou si vous obtenez une erreur, que je vous invite à m'indiquer le cas échéant !


RE: Couleur pseudo portail + derniére activité - Tealk - 12-03-2023

Merci Saphir pour votre temps, sa a marcher pour les catégories du forum. Il me reste a chercher/trouver comment faire pour le portail et les dernières actualités.


RE: Couleur pseudo portail + derniére activité - Saphir - 12-03-2023

Pour les dernières actualités, je suppose qu'il s'agit du même bloc que pour les derniers sujets sur le portail. Pour cela, vous pouvez essayer le même code que la deuxième partie de celui que j'ai envoyé :
Code PHP :
<?php
    
// Pour l'auteur du dernier message des discussions :
    
if(isset($profileLink[$lastposteruid])) {
        
// Si on a déjà généré le lien coloré de cet utilisateur, on le récupère directement.
        
$lastposterlink $profileLink[$lastposteruid];
    }
    else {
        
// On cherche les informations relatives aux groupes de cet utilisateur.
        
$lastPosterQuery $db->query("SELECT username, usergroup, displaygroup FROM " TABLE_PREFIX "users WHERE uid = '" $lastposteruid "'");
        
$lastPosterResponse $db->fetch_array($lastPosterQuery);
        
// On génère le lien coloré et on le garde en mémoire.
        
$lastposterlink build_profile_link(format_name($lastPosterResponse['username'], $lastPosterResponse['usergroup'], $lastPosterResponse['displaygroup']), $lastposteruid);
        
$profileLink[$lastposteruid] = $lastposterlink;
    }
?>
dans le template "portal_latestthreads_thread".

Pour les annonces du portail je vois que vous avez déjà trouvé le bon template, "portal_announcement". il faut juste modifier quelques noms de variables :
Code PHP :
<?php
    
// Pour l'auteur des discussions...
    
if(isset($profileLinkCache[$announcement['uid']])) { // $profileLink est renommée $profileLinkCache pour éviter l'ambiguïté avec la variable $profilelink du template.
        // Si on a déjà généré le lien coloré de cet utilisateur, on le récupère directement.
        
$profilelink $profileLinkCache[$announcement['uid']];
    }
    else {
        
// On cherche les informations relatives aux groupes de cet utilisateur.
        
$authorQuery $db->query("SELECT username, usergroup, displaygroup FROM " TABLE_PREFIX "users WHERE uid = '" $announcement['uid'] . "'");
        
$authorResponse $db->fetch_array($authorQuery);
        
// On génère le lien coloré et on le garde en mémoire.
        
$profilelink build_profile_link(format_name($authorResponse['username'], $authorResponse['usergroup'], $authorResponse['displaygroup']), $announcement['uid']);
        
$profileLinkCache[$thread['uid']] = $profilelink;
    }
?>



RE: Couleur pseudo portail + derniére activité - Tealk - 13-03-2023

Effectivement Saphir, je pensais que pour le block "dernière activité" sa serais le meme code mais hélas il ne met pas la couleur et il transforme les pseudos en "visiteur" ... Par contre pour les annonces, oui j'etais pas loin Blush , merci Saphir celui-ci fonctionne Face-wink-2


RE: Couleur pseudo portail + derniére activité - Saphir - 13-03-2023

Voici le code corrigé qui devrait désormais fonctionner pour le bloc des derniers sujets :
Code PHP :
<?php
    
// Pour l'auteur du dernier message des discussions :
    
if(isset($profileLink[$lastposteruid])) {
        
// Si on a déjà généré le lien coloré de cet utilisateur, on le récupère directement.
        
$lastposterlink $profileLink[$lastposteruid];
    }
    else {
        
// On cherche les informations relatives aux groupes de cet utilisateur.
        
$lastPosterQuery $db->query("SELECT username, usergroup, displaygroup FROM " TABLE_PREFIX "users WHERE uid = '" $thread['lastposteruid'] . "'");
        
$lastPosterResponse $db->fetch_array($lastPosterQuery);
        
// On génère le lien coloré et on le garde en mémoire.
        
$lastposterlink build_profile_link(format_name($lastPosterResponse['username'], $lastPosterResponse['usergroup'], $lastPosterResponse['displaygroup']), $thread['lastposteruid']);
        
$profileLink[$lastposteruid] = $lastposterlink;
    }
?>



RE: Couleur pseudo portail + derniére activité - Saphir - 13-03-2023

Oups, nouvelle version, j'avais oublié de modifier la première partie :
Code PHP :
<?php
    
// Pour l'auteur du dernier message des discussions :
    
if(isset($profileLink[$thread['lastposteruid']])) {
        
// Si on a déjà généré le lien coloré de cet utilisateur, on le récupère directement.
        
$lastposterlink $profileLink[$thread['lastposteruid']];
    }
    else {
        
// On cherche les informations relatives aux groupes de cet utilisateur.
        
$lastPosterQuery $db->query("SELECT username, usergroup, displaygroup FROM " TABLE_PREFIX "users WHERE uid = '" $thread['lastposteruid'] . "'");
        
$lastPosterResponse $db->fetch_array($lastPosterQuery);
        
// On génère le lien coloré et on le garde en mémoire.
        
$lastposterlink build_profile_link(format_name($lastPosterResponse['username'], $lastPosterResponse['usergroup'], $lastPosterResponse['displaygroup']), $thread['lastposteruid']);
        
$profileLink[$lastposteruid] = $lastposterlink;
    }
?>



RE: Couleur pseudo portail + derniére activité - Tealk - 13-03-2023

Super, c'est exactement sa ... Merci beaucoup Saphir pour ta rapidité et pour ton temps ... Je passe le topic en régler ... Encore merçi,
Cordiallement.

Edit: ah bah non je peux pas mettre le prefix "régler" lol.


RE: Couleur pseudo portail + derniére activité - Saphir - 13-03-2023

Ceci est un message préformaté et peut ne correspondre qu'en partie à votre requête.

Bonjour Tealk.

Votre requête semble résolue. La discussion a donc été marquée comme étant réglée.

S'il s'agit d'une erreur, répondez à ce message afin que nous annulions le marquage.
Si vous avez de nouveau besoin de nos services, n'hésitez pas à ouvrir une nouvelle discussion dans nos forums de support.

Merci de l'intérêt que vous portez à MyBB !


 Utilitaire de traduction fourni par Regentronique