Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#226 01-05-2010 01:17:44

shane
Membre

Re : Color Of Groups 1.0

Merci beaucoup, tes trop fort fanf siffle

Dernière modification par shane (01-05-2010 03:17:30)

Hors ligne

#227 21-05-2010 12:53:18

StevensHacker
Membre

Re : Color Of Groups 1.0

J'ai (et je en suis pas le seul hmm ) rencontré un problème concernant l'ajout de couleur dans "actuellement en ligne", voici une modif à faire pour les personnes ayant le même problème que moi smile

1 : Trouvé (ligne 182)

$result = $db->query('SELECT user_id, ident FROM '.$db->prefix.'online WHERE idle=0 ORDER BY ident', true) or error('Unable to fetch online list', __FILE__, __LINE__, $db->error());

    while ($pun_user_online = $db->fetch_assoc($result))
    {
        if ($pun_user_online['user_id'] > 1)
            $users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'">'.pun_htmlspecialchars($pun_user_online['ident']).'</a>';
        else
            ++$num_guests;


2 : Remplacer par :

$result = $db->query('SELECT username, id, group_id, g_color FROM '.$db->prefix.'users AS u, '.$db->prefix.'groups AS g WHERE last_visit >= \''.$todaystamp.'\' and u.group_id = g.g_id ORDER by last_visit DESC') or error('Impossible de retrouver la liste des utilisateurs en ligne aujourd\'hui', __FILE__, __LINE__, $db->error());

    while ($pun_user_online = $db->fetch_assoc($result))
    {
        $colorspan = (!empty($pun_user_online['g_color'])) ? '<span style="color:'.$pun_user_online['g_color'].'; font-weight:bold">' : '';
        $colorspan2 = (!empty($pun_user_online['g_color'])) ? '</span>' : '';
        if ($pun_user_online['id'] > 1)
$users[] = "\n\t\t\t\t".'<b><a href="profile.php?id='. $pun_user_online['id']. '">'.pun_htmlspecialchars($pun_user_online['ident']).$colorspan.$pun_user_online['username'].$colorspan2.'</a></b>';

J'essaye en ce moment d'ajouter de la couleur dans l'index et le viewforum , c'est à dire ou se trouve le dernier post (par section et par topic), changer la couleur de l'auteur, mais je n'y arrive pas.

Vouala mon petit bout de code (trop simpliste) pour l'instant :

1 : Chercher (ligne 109):

// If there is a last_post/last_poster.
    if ($cur_forum['last_post'] != '')
        $last_post = '<a href="viewtopic.php?pid='.$cur_forum['last_post_id'].'#p'.$cur_forum['last_post_id'].'">'.format_time($cur_forum['last_post']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_forum['last_poster']).'</span>';
    
2 : Remplacer par :
// If there is a last_post/last_poster.    
$db->query("SELECT g.g_color FROM ".$db->prefix.'groups');
    
        $colorspan = (!empty($cur_post['g_color'])) ? '<span style="color:'.$cur_post['g_color'].'; font-weight:bold">' : '';
        $colorspan2 = (!empty($cur_post['g_color'])) ? '</span>' : '';
    if ($cur_forum['last_post'] != '')      
        $last_post = '<a href="viewtopic.php?pid='.$cur_forum['last_post_id'].'#p'.$cur_forum['last_post_id'].'">'.format_time($cur_forum['last_post']).'</a> <span class="byuser">'.$lang_common['by'].' '.$colorspan.pun_htmlspecialchars($cur_forum['last_poster']).$colorspan2.'</span>';

Mais ma requête sql semble icomplete vu que rien ne se passe hmm

Quelqu'un aurait une idée?


La perfection s'écrit avec un grand "S" ....

Hors ligne

#228 30-05-2010 19:58:28

StevensHacker
Membre

Re : Color Of Groups 1.0

Petit up x)


La perfection s'écrit avec un grand "S" ....

Hors ligne

#229 30-05-2010 20:39:13

fanf73
Wik-wiki

Re : Color Of Groups 1.0

Elle est plus qu'incomplète, tu récupères toutes les couleurs qui existent sans spécifier l'utilisateur.

Le problème dans le cas présent est que seul le pseudo du dernier posteur est enregistrer dans la table, il faut donc faire deux jointure :
- une pour récupérer le numéro du groupe dans la table users grâce au champ "username"
- une pour récupérer la couleur du groupe dans la table group
En utilisant des jointures externes pour les cas où il n'y a pas encore de messages dans un forum.


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#230 31-05-2010 13:53:09

StevensHacker
Membre

Re : Color Of Groups 1.0

Merci fanf73, j'ai suivi ton conseil, j'me suis même approfondi sur les cours MySQL, et vouala ce que j'ai pour l'instant pour la requete :

$db->query("SELECT users.group_id, groups.g_color FROM".$db->prefix.'users LEFT JOIN'.$db->prefix.'groups ON users.groups_id=groups.g_id');

Cependant, rien ne s'affiche, et je ne vois pas ou est le problème, je continue quand même de chercher wink


La perfection s'écrit avec un grand "S" ....

Hors ligne

#231 31-05-2010 17:30:20

fanf73
Wik-wiki

Re : Color Of Groups 1.0

Pour récupérer les bonnes couleurs tu dois modifier la requête des sélection de topics / forums, afin que la couleur soit l'une des variables retournée en même temps que le nom, l'id, ...


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#232 31-05-2010 17:39:38

StevensHacker
Membre

Re : Color Of Groups 1.0

J'ai (apres de longue recherche un peu partout) ceci :

$db->query("SELECT last_poster,group_id, g_color FROM". $db->prefix.'forums LEFT JOIN'. $db->prefix.'users ON last_poster=username LEFT JOIN'. $db->prefix.'groups ON group_id=g_id');

Je m'approche du but, cependant, la je ne vois pas ce qu'il manque hmm


La perfection s'écrit avec un grand "S" ....

Hors ligne

#233 31-05-2010 20:19:39

fanf73
Wik-wiki

Re : Color Of Groups 1.0

Il manque que tu ne dois pas écrire une nouvelle requête, mais modifier celle qui existe déjà.

Tu as bien avancé donc je vais te donner la solution pour le fichier "index.php". A l'origine la requête de sélection des forums est ainsi

$result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());

Il faut la remplacer par

$result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster, g_color FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') LEFT JOIN '.$db->prefix.'users As u ON f.last_poster = u.username LEFT JOIN '.$db->prefix.'group AS g ON group_id = g_id WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());

et tu récupère la valeur de la couleur pour chaque forum dans la variable $cur_forum['g_color']

P.S. : je n'ai pas pu tester alors n'hésite pas s'il y a une erreur wink


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#234 31-05-2010 20:51:07

StevensHacker
Membre

Re : Color Of Groups 1.0

Merci beaucoup pour tout smile

Je viens de tester, et j'ai une erreur suite a ce code :

Error: Unable to fetch category/forum list.

Dernière modification par StevensHacker (31-05-2010 20:51:22)


La perfection s'écrit avec un grand "S" ....

Hors ligne

#235 31-05-2010 21:34:40

fanf73
Wik-wiki

Re : Color Of Groups 1.0

J'ai oublié un "s" au nom de la table, ainsi que l'alias de la table plus loin :

$result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster,, g_color FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') LEFT JOIN '.$db->prefix.'users As u ON f.last_poster = u.username LEFT JOIN '.$db->prefix.'groups AS g ON u.group_id = g_id WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());

Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#236 31-05-2010 21:47:18

StevensHacker
Membre

Re : Color Of Groups 1.0

J'avais corrigé (j'ai oublié de precisé roll ).

Mais j'ai pas vu pour l'alias smile

Merci énormément, ca marche niquel, je vais l'adapter à mon viewforum et mon showrecent smile

EDIT : J'ai enfin reussi ^^, pour le viewforum, le mod showrecent, et adapté au mod sous forum x)

voici un résumé des differentes etape pour les interessé smile (je rappelle que ces modifications ont pour but d'ajouter la couleur du membre en fonction de son groupe, et que la mod colorgroup est obligatoire happy)

Code trop long supprimé
Vouala pour ceux qui voudrait mettre de la couleur sans avoir installé le mod sousforum

Maintenant voici l'adaptation sur le mod showrecent smile

Code trop long supprimé
Maintenant voici l'adaptation sur le mod  sous forum smile

Code trop long supprimé
Tout marche parfaitement sur mon forum smile

Dernière modification par StevensHacker (01-06-2010 19:42:20)


La perfection s'écrit avec un grand "S" ....

Hors ligne

#237 12-06-2010 22:44:02

cavalier19
Membre

Re : Color Of Groups 1.0

Je viens de tout réinstaller mon forum, ce mod bug encore.

Quand je l'ai installé il fonctionnait bien, après j'ai fais quelques modifications comme afficher les groupes, en ligne aujourd'hui, anniversaire en index, avec toujours les couleurs pour chaque groupe pour chaque mod.

Voila que ça déconne, si je me connecte en tant qu'admin, tous les membres sont en rouges (couleur que j'ai configuré), si je me connecté en tant que membre, je vois tout en noir (couleur que j'ai configuré), mais l'admin devrait rester rouge et pourtant il s'affiche noir ... pareil sur viewtopic, les couleurs des pseudos ne s'affiche plus, il n'y a que dans la liste des membres que ça fonctionne correctement.

Voici les images pour mieux comprendre:

couleurh.jpg
couleur1s.jpg

Si quelqu'un peut m'aider c'est avec plaisir wink

Hors ligne

#238 12-06-2010 23:45:39

fanf73
Wik-wiki

Re : Color Of Groups 1.0

Le plus simple serait de nous donner les lignes de code correspondant à cette partie pour que l'on puisse voir ce qui ne va pas.


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#239 13-06-2010 00:32:25

Mpok
Néo Admin

Re : Color Of Groups 1.0

Il suffit de relire les pages précédentes de ce topic pour s'apercevoir que ce bug existe depuis le début et n'a pas été corrigé...
Cela est (a priori) lié à la gestion de la table online et du "temps mort en ligne".
Ce n'est pas un bug bloquant (il suffit de se déconnecter-reconnecter pour la partie "en ligne aujourd'hui"), et certaines fois, ça marche aussi pour la partie "en ligne".. smile

Hors ligne

#240 13-06-2010 11:38:46

cavalier19
Membre

Re : Color Of Groups 1.0

- Pour répondre à Mpok, je sais que ce bug existe déjà mais c'est assez ennuyant ... j'ai essayé de restaurer ma base de donnée, puis de réinstaller le mod et c'est toujours pareil !
Si je me connecte en tant qu'admin tout est rouge, en tant que membre tout est noir, il n'y a plus la distinction.

- Pour répondre à fanf73, maintenant viewtopic les couleurs marche mais pas dans l'index sauf pour le mod anniversaire les couleurs sont respectées, voici un bout de ma page index, incluant le mod anniversaire avec les couleurs, la légende des groupes:

$result = $db->query('SELECT user_id, ident, color FROM '.$db->prefix.'online WHERE idle=0 ORDER BY ident', true) or error('Unable to fetch online list', __FILE__, __LINE__, $db->error());

    while ($pun_user_online = $db->fetch_assoc($result))
    {
        if ($pun_user_online['user_id'] > 1)
        {
            $colorspan = (!empty($pun_user_online['color'])) ? '<span style="color:'.$pun_user_online['color'].'; font-weight:bold">' : '';
            $colorspan2 = (!empty($pun_user_online['color'])) ? '</span>' : '';
            $users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'">'.$colorspan.pun_htmlspecialchars($pun_user_online['ident']).$colorspan2.'</a>';
        }
        else
            ++$num_guests;
    }

    $num_users = count($users);
    // utilisateurs en ligne aujourd'hui
    $todaystamp = strtotime(date('Y-m-d'));

    $result = $db->query('SELECT username, id, group_id, last_visit, g_color FROM '.$db->prefix.'users AS u, '.$db->prefix.'groups AS g WHERE last_visit >= \''.$todaystamp.'\' and u.group_id = g.g_id ORDER by last_visit DESC') or error('Impossible de retrouver la liste des utilisateurs en ligne aujourd\'hui', __FILE__, __LINE__, $db->error());

    $users_today = array();
    while ($pun_user_online_today = $db->fetch_assoc($result))
        $users_today[] .=  "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online_today['id'].'" title="Dernière visite de '.pun_htmlspecialchars($pun_user_online_today['username']).' : '.format_time($pun_user_online_today['last_visit']).'">'.$colorspan.$pun_user_online_today['username'].$colorspan2.'</a>';
        
    $num_users_today = count($users_today);
    echo "\t\t\t\t".'<dd>'.$lang_index['Users online'].': <strong>'.$num_users.'</strong></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Users today'].': <strong>'.$num_users_today.'</strong></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Guests online'].': <strong>'.$num_guests.'</strong></dd>'."\n\t\t\t".'</dl>'."\n";


    if ($num_users > 0)
        echo "\t\t\t".'<dl id="onlinelist" class= "clearb">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online'].':&nbsp;</strong></dt>'."\t\t\t\t".implode(',</dd> ', $users).'</dd>'."\n\t\t\t".'</dl>'."\n";
    else
        echo "\t\t\t".'<div class="clearer"></div>'."\n";
    // liste utilisateurs en ligne aujourd'hui
    echo "\t\t\t".'<dl id="onlinetodaylist">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online today'].' : </strong></dt>';
                
    if ($num_users_today > 0) 
        echo implode(',</dd> ', $users_today).'</dd>'."\n\t\t\t".'</dl>'."\n";
    else
        echo '<dd><em>'.$lang_index['None'].'</em></dd>'."\n\t\t\t".'</dl>'."\n";

}
else
    echo "\t\t".'</dl>'."\n\t\t\t".'<div class="clearer"></div>'."\n";
    
// Anniversaire

if ($pun_config['o_users_birthdate'] == '1')
{
    // Fetch users online info and generate strings for output
    $users = array();
    $date = date('n/j/', time());
$result = $db->query('SELECT u.id,username,birthdate,g_color FROM '.$db->prefix.'users AS u LEFT JOIN  '.$db->prefix.'groups  AS g ON u.group_id = g.g_id WHERE birthdate LIKE \''.$date.'%\'') or error('Impossible de retrouver la liste anniversaire', __FILE__, __LINE__, $db->error());
    while ($pun_user_birthdate = $db->fetch_assoc($result))
    {
    if($pun_user_birthdate['g_color'] != NULL)
        $users[] = '<a href="profile.php?id='.$pun_user_birthdate['id'].'"><span style="color: '.$pun_user_birthdate['g_color'].'"><strong>'.pun_htmlspecialchars($pun_user_birthdate['username']).'</strong></span></a> ('.calculAge($pun_user_birthdate['birthdate']).')';
    else
        $users[] = '<a href="profile.php?id='.$pun_user_birthdate['id'].'">'.pun_htmlspecialchars($pun_user_birthdate['username']).'</a> ('.calculAge($pun_user_birthdate['birthdate']).')';
    }
    $num_users = count($users);
    if ($num_users > 0)
        echo "\t\t\t".'<dl id="birthdatelist" class= "clearb">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Birthdate'].': </strong></dt>'."\t\t\t\t".implode(',</dd> ', $users).'</dd>'."\n\t\t\t".'</dl>'."\n";
    else
        echo "\t\t\t".'<div class="clearer"></div>'."\n";
}
else
    echo "\t\t".'</dl>'."\n\t\t\t".'<div class="clearer"></div>'."\n";    
// Légende pour les pseudos
$result = $db->query('SELECT g_id, g_title,g_color FROM '.$db->prefix.'groups WHERE g_color LIKE "#%"', true) or error('Impossible de retrouver la liste des groupes', __FILE__, __LINE__, $db->error());
    echo "\t\t\t".'<dl id="onlinelist" class= "clearb">'."\n\t\t\t\t".'<dt><strong>Légende :</dt>';
    while ($pun_groups = $db->fetch_assoc($result))
    {
    echo " [<a href='userlist.php?show_group=".$pun_groups['g_id']."'><span style='color: ".$pun_groups['g_color']."'>".$pun_groups['g_title']."</span></a>] ";
    }
    echo '</dd>'."\n\t\t\t".'</dl>'."\n";
    echo "\t\t\t".'<div class="clearer"></strong></div>'."\n";

?></div></div></div>

Dernière modification par cavalier19 (13-06-2010 11:42:54)

Hors ligne

#241 13-06-2010 23:34:42

fanf73
Wik-wiki

Re : Color Of Groups 1.0

Ton code m'a l'air correct, je ne vois pas du tout où il pourrait y avoir une erreur hmm. Ça vient peut-être comme l'a dit Mpok de la gestion de la table online neutral


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#242 13-06-2010 23:36:52

cavalier19
Membre

Re : Color Of Groups 1.0

Je dois effacer manuellement la table online dans ma base de données puis réinstaller le mod ?

Je vois dans cette table: user_id, color, ident, logged et idle.

Dernière modification par cavalier19 (13-06-2010 23:39:08)

Hors ligne

#243 13-06-2010 23:38:25

fanf73
Wik-wiki

Re : Color Of Groups 1.0

Je ne pense pas que ça solutionne ton problème, et je ne connais malheureusement pas de solution qui pourrait le résoudre.


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#244 13-06-2010 23:41:27

cavalier19
Membre

Re : Color Of Groups 1.0

Ok merci c'est bien triste.

Je ne vais quand même pas tout recommencer mon forum à zéro juste pour un mod...

Est ce que si je l'install avec la nouvelle version ça peut changer les choses ?

Merci de ton aide en tout cas c'est bien gentil d'avoir regarder.

Dernière modification par cavalier19 (13-06-2010 23:43:53)

Hors ligne

#245 24-06-2010 21:32:29

Otacon
Membre

Re : Color Of Groups 1.0

Merci tout d'abord j'ai installé cette mod mais pas la couleur sur actuellement en ligne. Comment faire svp?

Hors ligne

#246 24-06-2010 23:29:49

Guims
Membre

Re : Color Of Groups 1.0

Salut,

cavalier19, refaire un forum tout neuf n'est pas plus mal quand c'est ton premier wink et puis ça te prendrais au max une journée,en le faisant bien tranquillement ...


Otacon a écrit :

Merci tout d'abord j'ai installé cette mod mais pas la couleur sur actuellement en ligne. Comment faire svp?

Si mes souvenirs sont bon,lire toutes les pages du topics happy mais rien que dans la première page,un peu plus bas,tu as de quoi faire,après faut navigué sur toute la discutions.

Hors ligne

#247 25-06-2010 02:38:52

Mpok
Néo Admin

Re : Color Of Groups 1.0

@Otacon : si ton forum est "tout neuf" (et même s'il ne l'est pas d'ailleurs, mais avec peu de mods installées), je te conseille fortement de passer en version 1.4. Il y a déjà une adaptation 1.4 de cette mod.

Hors ligne

#248 25-06-2010 12:49:41

Otacon
Membre

Re : Color Of Groups 1.0

Ok Mpok smile et j'ai résolu au passage le souci.

Pour ceux qui ont le problème que j'avais c'était au niveau de functions wink

Hors ligne

#249 26-07-2010 18:13:49

yumat
Membre

Re : Color Of Groups 1.0

Salut les fluxnautes
Je viens d'installer cette mod
Lorsque je veux enregistrer une couleur en admin, groupe, réglages du groupe, je reçois la réponse suivante :

An error was encountered
Error: Unable to update group.

De quelle erreur peut-il s'agir pour que le système soit incapable de mettre à jour le groupe??? (j'ai fait des essais sur plusieurs groupes et j'ai tjrs la même réponse)

Merci

Yumat

Hors ligne

#250 26-07-2010 19:48:09

yumat
Membre

Re : Color Of Groups 1.0

je viens de me rendre compte que dans la table groups, le champ g_color n'a pas été rajouté. En revanche, un champ color a été créé dans la table online.

Où est-ce que je me plante???

Merci

Yumat

Erreur, le champ g_color a bien été créé!!! Mais la question demeure, je ne peux donner ni des couleurs ni un titre aux groupes.

Il semblerait que ce pb ne soit pas lié aux couleurs! Il devait déjà exister avant mais cela ne m'arrange pas

J'annaule cette demande pour poser la question sur l'entraide

Avec toutes mes excuses

Dernière modification par yumat (26-07-2010 20:45:42)

Hors ligne

Pied de page des forums