FluxBB.fr

Le site des utilisateurs francophones de FluxBB.

Recherche rapide

Par défaut, Le plugin News Generator ne permet pas l'affichage de l'avatar du posteur dans la news. Voilà un moyen de pouvoir vous aussi afficher votre avatar sur votre site, sans installer puntal.

Attaquons donc les modifications:

Fichier AP_News_Generator.php

Cherchez les lignes 66 à 77.

while ($cur_topic = $db->fetch_assoc($result))
    {
        $result2 = $db->query('SELECT posted, poster, message, hide_smilies FROM '.$db->prefix.'posts WHERE topic_id='.$cur_topic['id'].' ORDER BY posted ASC LIMIT 1') or error('Unable to fetch topic list', __FILE__, __LINE__, $db->error());
        $cur_post = $db->fetch_assoc($result2);
 
        $search = array('<news_subject>', '<news_posted>', '<news_poster>', '<news_message>', '<news_comments>');
        $replace = array(pun_htmlspecialchars($cur_topic['subject']), date('Y-m-d H:i', $cur_post['posted']), pun_htmlspecialchars($cur_post['poster']), parse_message($cur_post['message'], $cur_post['hide_smilies']), '<a href="'.$pun_config['o_base_url'].'/viewtopic.php?id='.$cur_topic['id'].'">Comments</a>');
 
        fwrite($fh, str_replace($search, $replace, $news_tpl));
    }
 
    fclose($fh);

Nous allons modifier ce code pour que nous puissions afficher nos avatars:

Fichier Modifié AP_News_Generator.php

Donc de la ligne 66 à 120.

while ($cur_topic = $db->fetch_assoc($result))
    {
        $titre_news = '';
        $date_news = '';
        $auteur_news = '';
        $avatar_auteur = '';
        $message_news = '';
        $news_comments = '';
 
        $result2 = $db->query('SELECT use_avatar, posted, poster, poster_id, message, hide_smilies FROM '.$db->prefix.'posts AS p INNER JOIN '.$db->prefix.'users AS u ON u.id=p.poster_id WHERE topic_id='.$cur_topic['id'].' ORDER BY posted ASC LIMIT 1') or error('Unable to fetch topic list', __FILE__, __LINE__, $db->error());
        $cur_post = $db->fetch_assoc($result2);
 
        if ($pun_config['o_avatars'] == '1' && $cur_post['use_avatar'] == '1')
        {
            if ($img_size = @getimagesize(PUN_ROOT.'img/avatars/'.$cur_post['poster_id'].'.gif'))
                $user_avatar = '<img src="'.$pun_config['o_base_url'].'/img/avatars/'.$cur_post['poster_id'].'.gif" '.$img_size[3].' alt="" />';
            else if ($img_size = @getimagesize(PUN_ROOT.'img/avatars/'.$cur_post['poster_id'].'.jpg'))
                $user_avatar = '<img src="'.$pun_config['o_base_url'].'/img/avatars/'.$cur_post['poster_id'].'.jpg" '.$img_size[3].' alt="" />';
            else if ($img_size = @getimagesize(PUN_ROOT.'img/avatars/'.$cur_post['poster_id'].'.png'))
                $user_avatar = '<img src="'.$pun_config['o_base_url'].'/img/avatars/'.$cur_post['poster_id'].'.png" '.$img_size[3].' alt="" />';
        else
                $user_avatar = '';
        }
        else
            $user_avatar = '';
 
        $titre_news     = pun_htmlspecialchars($cur_topic['subject']);
        $date_news         = date('d-m-Y H:i', $cur_post['posted']);
        $auteur_news     = '<a href="'.$pun_config['o_base_url'].'/profile.php?id='.$cur_post['poster_id'].'">'.$cur_post['poster'].'</a>';
        $avatar_auteur     = $user_avatar;
        $message_news     = parse_message($cur_post['message'], $cur_post['hide_smilies']);
        $news_comments  = '<a href="'.$pun_config['o_base_url'].'/viewtopic.php?id='.$cur_topic['id'].'">Commentaires</a>';
 
        $search = array(
        '<titre_news>',
        '<date_news>',
        '<auteur_news>',
        '<avatar_auteur>',
        '<message_news>',
        '<news_comments>',
);
 
        $replace = array(
            $titre_news,
            $date_news,
            $auteur_news,
            $avatar_auteur,
            $message_news,
            $news_comments,
            );
 
        fwrite($fh, str_replace($search, $replace, $news_tpl));
    }
 
    fclose($fh);

Maintenant, il vous faut modifier le fichier news.tpl joint dans votre archive. Celui-ci vous sert à la mise en page et à l'affichage de vos news. De base il contient ce code:

Fichier news.tpl

<div class="newsbox">
	<h3><news_subject></h3>
	<div class="item">
		<news_message>
		<p class="newsinfo">Posted by <news_poster> on <news_posted> | <news_comments></p>
	</div>
</div>

Nous allons y insérer, la balise <avatar_auteur>. Les balises peuvent être arrangé de la façon dont vous le désirez.

Exemple de news.tpl modifié

<h1><titre_news></h1>
  <div><avatar_auteur></div>
  <div>Posté par <auteur_news><br />
   le <date_news><br />
   <news_comments></div>
 <message_news><br />

Et voilà, vous pouvez maintenant voir vos avatars s'afficher sur votre site. J'espère que cette modification vous sera utile. N'hésitez pas à faire part de vos modifications ou de dire si ceci vous à été utile.

 
fluxbb_1_2/plugin_news_generator_avatar.txt · Dernière modification: 2010/06/26 22:26 (édition externe)