Le site des utilisateurs francophones de FluxBB.
Vous n'êtes pas identifié(e).
Pages : 1
Bonsoir,
J'ai voulu regrouper mon système de balises dans balise.php (include/balises.php).
Voici une partie de mon viewforum.php :
<?php
// Retrieve a list of topic IDs, LIMIT is (really) expensive so we only fetch the IDs here then later fetch the remaining data
$result = $db->query('SELECT id FROM '.$db->prefix.'topics WHERE forum_id='.$id.' ORDER BY sticky DESC, '.$sort_by.', id DESC LIMIT '.$start_from.', '.$pun_user['disp_topics']) or error('Unable to fetch topic IDs', __FILE__, __LINE__, $db->error());
// If there are topics in this forum
if ($db->num_rows($result))
{
$topic_ids = array();
for ($i = 0;$cur_topic_id = $db->result($result, $i);$i++)
$topic_ids[] = $cur_topic_id;
if (empty($topic_ids))
error('The topic table and forum table seem to be out of sync!', __FILE__, __LINE__);
// Fetch list of topics to display on this page
if ($pun_user['is_guest'] || $pun_config['o_show_dot'] == '0')
{
// Without "the dot"
$sql = 'SELECT id, poster, subject, description, posted, last_post, last_post_id, last_poster, num_views, num_replies, closed, sticky, moved_to FROM '.$db->prefix.'topics WHERE id IN('.implode(',', $topic_ids).') ORDER BY sticky DESC, '.$sort_by.', id DESC';
}
else
{
// With "the dot"
$sql = 'SELECT p.poster_id AS has_posted, t.id, t.subject, t.description, t.poster, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_views, t.num_replies, t.closed, t.sticky, t.moved_to FROM '.$db->prefix.'topics AS t LEFT JOIN '.$db->prefix.'posts AS p ON t.id=p.topic_id AND p.poster_id='.$pun_user['id'].' WHERE t.id IN('.implode(',', $topic_ids).') GROUP BY t.id'.($db_type == 'pgsql' ? ', t.subject, t.description, t.poster, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_views, t.num_replies, t.closed, t.sticky, t.moved_to, p.poster_id' : '').' ORDER BY t.sticky DESC, t.'.$sort_by.', t.id DESC';
}
if ($pun_user['is_guest'] || $pun_config['o_show_dot'] == '0')
$sql = 'SELECT u.id AS uid, u.group_id, up.id AS up_id, up.group_id AS up_group_id, t.id, t.poster, t.subject, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_views, t.num_replies, t.closed, t.sticky, t.moved_to FROM '.$db->prefix.'topics AS t LEFT JOIN '.$db->prefix.'users AS u ON (t.last_poster=u.username) LEFT JOIN '.$db->prefix.'users AS up ON (t.poster=up.username) WHERE t.forum_id='.$id.' ORDER BY t.sticky DESC, '.(($cur_forum['sort_by'] == '1') ? 't.posted' : 't.last_post').' DESC LIMIT '.$start_from.', '.$pun_user['disp_topics'];
else
{
$sql = str_replace('SELECT', 'SELECT u.id AS uid, u.group_id, up.id AS up_id, up.group_id AS up_group_id, ', $sql);
$sql = str_replace('WHERE', ' LEFT JOIN '.$db->prefix.'users AS u ON (t.last_poster=u.username) LEFT JOIN '.$db->prefix.'users AS up ON (t.poster=up.username) WHERE', $sql);
}
$result = $db->query($sql) or error('Unable to fetch topic list', __FILE__, __LINE__, $db->error());
$topic_count = 0;
while ($cur_topic = $db->fetch_assoc($result))
{
++$topic_count;
$status_text = array();
$item_status = ($topic_count % 2 == 0) ? 'roweven' : 'rowodd';
$icon_type = 'icon';
if ($cur_topic['moved_to'] == null)
$last_post = '<a href="viewtopic.php?pid='.$cur_topic['last_post_id'].'#p'.$cur_topic['last_post_id'].'">'.format_time($cur_topic['last_post']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['last_poster']).'</span>';
else
$last_post = '- - -';
if ($pun_config['o_censoring'] == '1'){
$cur_topic['subject'] = censor_words($cur_topic['subject']);
$cur_topic['description'] = censor_words($cur_topic['description']);}
if ($cur_topic['sticky'] == '1')
{
$item_status .= ' isticky';
$status_text[] = '<span class="stickytext">'.$lang_forum['Sticky'].'</span>';
}
if ($cur_topic['moved_to'] != 0)
{
$subject = '<a href="'.fluxrewrite("topic-", $cur_topic['moved_to'], $cur_topic['subject'], 1, false, false).'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
$status_text[] = '<span class="movedtext">'.$lang_forum['Moved'].'</span>';
$item_status .= ' imoved';
}
else if ($cur_topic['closed'] == '0')
$subject = '<a href="'.fluxrewrite("topic-", $cur_topic['id'], $cur_topic['subject'], 1, false, false).'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
else
{
$subject = '<a href="'.fluxrewrite("topic-", $cur_topic['id'], $cur_topic['subject'], 1, false, false).'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
$status_text[] = '<span class="closedtext">'.$lang_forum['Closed'].'</span>';
$item_status .= ' iclosed';
}
if (!$pun_user['is_guest'] && $cur_topic['last_post'] > $pun_user['last_visit'] && (!isset($tracked_topics['topics'][$cur_topic['id']]) || $tracked_topics['topics'][$cur_topic['id']] < $cur_topic['last_post']) && (!isset($tracked_topics['forums'][$id]) || $tracked_topics['forums'][$id] < $cur_topic['last_post']) && $cur_topic['moved_to'] == null)
{
$item_status .= ' inew';
$icon_type = 'icon icon-new';
$subject = '<strong>'.$subject.'</strong>';
$subject_new_posts = '<span class="newtext">[ <a href="'.fluxrewrite("topic-", $cur_topic['id'], $cur_topic['subject'], null, true, false).'" title="'.$lang_common['New posts info'].'">'.$lang_common['New posts'].'</a> ]</span>';
}
else
$subject_new_posts = null;
if (isset($cur_topic['up_group_id'])) // user
$col_group = colorize_group($cur_topic['poster'], $cur_topic['up_group_id'], $cur_topic['up_id']);
else // guest
$col_group = colorize_group($cur_topic['poster'], PUN_GUEST);
$subject = str_replace('<span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>', '<span class="byuser">'.$lang_common['by'].' '.$col_group.'</span>', $subject);
if ($cur_topic['last_post'] != '')
{
if (isset($cur_topic['group_id'])) // user
$col_group = colorize_group($cur_topic['last_poster'], $cur_topic['group_id'], $cur_topic['uid']);
else // guest
$col_group = colorize_group($cur_topic['last_poster'], PUN_GUEST);
$last_post = str_replace('<span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['last_poster']).'</span>', '<span class="byuser">'.$lang_common['by'].' '.$col_group.'</span>', $last_post);
}
// Insert the status text before the subject
$subject = implode(' ', $status_text).' '.$subject;
// Should we display the dot or not? :)
if (!$pun_user['is_guest'] && $pun_config['o_show_dot'] == '1')
{
if ($cur_topic['has_posted'] == $pun_user['id'])
{
$subject = '<strong class="ipost">· </strong>'.$subject;
$item_status .= ' iposted';
}
}
$num_pages_topic = ceil(($cur_topic['num_replies'] + 1) / $pun_user['disp_posts']);
$icon_type = 'icon';
if ($num_pages_topic > 1)
$subject_multipage = '<span class="pagestext">[ '.paginate_rewrited($num_pages_topic, -1, 'topic-'.$cur_topic['id'].'-'.clean_url($cur_topic['subject'])).' ]</span>';
else
$subject_multipage = null;
// Should we show the "New posts" and/or the multipage links?
if (!empty($subject_new_posts) || !empty($subject_multipage))
{
$subject .= !empty($subject_new_posts) ? ' '.$subject_new_posts : '';
$subject .= !empty($subject_multipage) ? ' '.$subject_multipage : '';
}
require 'include/balise.php';
?>Comme vous pouvez le voir, en fin de code il y a :
require 'include/balise.php'; Sauf que lorsque je met ça, ça me crée un problème d'affichage :

ça me déclare ma barre et ça fait un espace blanc
voici mon balise.php :
<?php
$subject = str_replace('[Annonce]', '<strong><span style="color:#f2c53a">[Annonce]</span></strong>', $subject);
$subject = str_replace('[Réglé]', '<strong><span style="color:#66ff00">[Réglé]</span></strong>', $subject);
$subject = str_replace('[Ouvert]', '<strong><span style="color:#00FF00">[Ouvert]</span></strong>', $subject);
$subject = str_replace('[Fermé]', '<strong><span style="color:#FF0000">[Fermé]</span></strong>', $subject);
$subject = str_replace('[Nouvelle]', '<strong><span style="color:#f2c53a">[Nouvelle]</span></strong>', $subject);
$subject = str_replace('[Information]', '<strong><span style="color:#3e7b63">[Information]</span></strong>', $subject);
$subject = str_replace('[INFORMATION]', '<strong><span style="color:#3e7b63">[Information]</span></strong>', $subject);
$subject = str_replace('[Important]', '<strong><span style="color:#f2883a">[Important]</span></strong>', $subject);
$subject = str_replace('[IMPORTANT]', '<strong><span style="color:#f2883a">[Important]</span></strong>', $subject);
?>où est le problème ?
merci d'avance
Hors ligne
Bonjour,
La solution (éventuelle) ne peut être trouvée qu'en voyant le forum, pas avec une image.
Utiliser l'extension Firebug avec Firefox permet de voir la totalité de la page, avec les CSS et le code HTML et les styles calculés, etc. Une image ne permet de voir que les conséquences, pas la cause.
Mettre les code dans le message ne sert à rien, c'est un problème de mise en page.
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
Bonjour,
Au niveau du code :
<div id="brdmain">
<div class="linkst">
<div class="inbox crumbsplus">
<ul class="crumbs">
<li><a href="index.php">Accueil</a></li>
<li><span>» </span><a href="forum-21-la-brasserie-d-uz-page-1.html"><strong>La Brasserie D'UZ</strong></a></li>
</ul>
<div class="pagepost">
<p class="pagelink conl"><span class="pages-label">Pages : </span><strong class="item1">1</strong> <a href="forum-21-la-brasserie-d-uz-page-2.html">2</a> <a href="forum-21-la-brasserie-d-uz-page-3.html">3</a> <span class="spacer">…</span> <a href="forum-21-la-brasserie-d-uz-page-29.html">29</a> <a href="forum-21-la-brasserie-d-uz-page-2.html">Suivant</a></p>
<p class="postlink conr"><a href="post.php?fid=21">Nouvelle discussion</a></p>
</div>
<div class="clearer"></div>
</div>
</div>
<div id="vf" class="blocktable">
<div class="box">
<div class="inbox">
<table cellspacing="0">
<thead>
<tr>
<th class="tcl" scope="col">Discussion</th>
<th class="tc2" scope="col">Réponses</th>
<th class="tc3" scope="col">Vues</th>
<th class="tcr" scope="col">Dernier message</th>
</tr>
</thead>
<tbody>Merci, je vais tester avec Firebug 
Hors ligne
Toujours rien 
Hors ligne
Bonjour,
Je vais finir par m'énerver :fouet: Il est impossible de corriger un problème de mise en page aux seules vues du code php ou d'une image. URL du forum ?
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
Je comprends, cependant il s'agit d'un site non toléré ici-même (warez).
Le nom si vous voulez regarder : www.Ultim-Zone DOT in.
Cordialement.
Hors ligne
Bonjour,
Déjà, la première et indispensable chose à faire, avant de regarder quels pourraient être les machins qui foutent en l'air la mise en page, est d'obtenir une page sans erreurs et conforme W3C. Or, que peut-on voir sur la page de visualisation d'un forum : 31 erreurs par l'extension HTML Validator et la même chose par le validateur W3C :
Errors found while checking this document as XHTML 1.0 Strict!
Result: 31 Errors, 1 warning(s)
Le lancement du Validateur W3C devrait être la première opération à effectuer lorsqu'il y a un problème, ça permet de voir beaucoup de choses et de corriger facilement et rapidement les problèmes, par exemple :
Byte-Order Mark found in UTF-8 File.
qui suffit, en lui-même, pour mettre le caca dans une mise en page.
Donc, et je ne fais que répéter une évidence :
Avant de s'attaquer à des problèmes de mise en page ou d'apparence, il est impératif que la page soit valide W3C
Et puis, Firebug utilisé (Pas seulement chargé ou survolé :taper: ) montre, pour l'« espace » supplémentaire
<div class="inbox">
               
<table cellspacing="0">Seize entités HTML - qui d'ailleurs n'ont rien à faire dans des pages déclarées utf8 - suffisent à créer un « espace » et qui représentent FEFF ZERO WIDTH NO-BREAK SPACE c'est-à-dire une entête BOM UTF-16 Big Endian.
Si, comme je le répète depuis belle lurette, tu avais lancé la validation W3C, tu aurais pu régler ton problème tout seul.
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
Merci à vous, Otomatic, l'erreur est corrigée.
Pour ce qui est de la validation W3C, au niveau du CSS nous avons une bonne soixantaine d'erreurs dues au CSS3.
Nous allons corriger au fur et à mesure ces erreurs.
Cordialement, et merci encore !
Hors ligne
Pages : 1