Le site des utilisateurs francophones de FluxBB.
Vous n'êtes pas identifié(e).
Cette astuce est basé sur l'astuce de fanf73 et Fredy qui permettait d'avoir deux niveaux "d'épinglage". cette fois nous allons ajouté un troixieme niveau et Les topics seront placés en "Annonce global, Annonce, Épinglé, et les postes normals"
Une astuce propre...
Footer.php
Chercher ligne 51
if ($cur_topic['sticky'] == '1')
echo "\t\t\t\t".'<dd><span><a href="moderate.php?fid='.$forum_id.'&unstick='.$id.'">'.$lang_common['Unstick topic'].'</a></span></dd>'."\n";
else
echo "\t\t\t\t".'<dd><span><a href="moderate.php?fid='.$forum_id.'&stick='.$id.'">'.$lang_common['Stick topic'].'</a></span></dd>'."\n";
Remplacer par
if ($cur_topic['sticky'] == '1')
{
echo "\t\t\t\t".'<dd><span><a href="moderate.php?fid='.$forum_id.'&announce='.$id.'">'.$lang_common['Announce topic'].'</a></span></dd>'."\n";
echo "\t\t\t\t".'<dd><span><a href="moderate.php?fid='.$forum_id.'&announceg='.$id.'">'.$lang_common['Announce_g topic'].'</a></span></dd>'."\n";
echo "\t\t\t\t".'<dd><span><a href="moderate.php?fid='.$forum_id.'&unstick='.$id.'">'.$lang_common['Unstick topic'].'</a></span></dd>'."\n";
}
else if ($cur_topic['sticky'] == '2')
{
echo "\t\t\t\t".'<dd><span><a href="moderate.php?fid='.$forum_id.'&stick='.$id.'">'.$lang_common['Stick topic'].'</a></span></dd>'."\n";
echo "\t\t\t\t".'<dd><span><a href="moderate.php?fid='.$forum_id.'&announceg='.$id.'">'.$lang_common['Announce_g topic'].'</a></span></dd>'."\n";
echo "\t\t\t\t".'<dd><span><a href="moderate.php?fid='.$forum_id.'&unstick='.$id.'">'.$lang_common['Unstick topic'].'</a></span></dd>'."\n";
}
else if ($cur_topic['sticky'] == '3')
{
echo "\t\t\t\t".'<dd><span><a href="moderate.php?fid='.$forum_id.'&stick='.$id.'">'.$lang_common['Stick topic'].'</a></span></dd>'."\n";
echo "\t\t\t\t".'<dd><span><a href="moderate.php?fid='.$forum_id.'&announce='.$id.'">'.$lang_common['Announce topic'].'</a></span></dd>'."\n";
echo "\t\t\t\t".'<dd><span><a href="moderate.php?fid='.$forum_id.'&unstick='.$id.'">'.$lang_common['Unstick topic'].'</a></span></dd>'."\n";
}
else
{
echo "\t\t\t\t".'<dd><span><a href="moderate.php?fid='.$forum_id.'&stick='.$id.'">'.$lang_common['Stick topic'].'</a></span></dd>'."\n";
echo "\t\t\t\t".'<dd><span><a href="moderate.php?fid='.$forum_id.'&announce='.$id.'">'.$lang_common['Announce topic'].'</a></span></dd>'."\n";
echo "\t\t\t\t".'<dd><span><a href="moderate.php?fid='.$forum_id.'&announceg='.$id.'">'.$lang_common['Announce_g topic'].'</a></span></dd>'."\n";
}
Moderate.php
Chercher
// Stick a topic
else if (isset($_GET['stick']))
{
confirm_referrer('viewtopic.php');
$stick = intval($_GET['stick']);
if ($stick < 1)
message($lang_common['Bad request']);
$db->query('UPDATE '.$db->prefix.'topics SET sticky=\'1\' WHERE id='.$stick.' AND forum_id='.$fid) or error('Unable to stick topic', __FILE__, __LINE__, $db->error());
redirect('viewtopic.php?id='.$stick, $lang_misc['Stick topic redirect']);
}
Ajouter après
// Announce a topic
else if (isset($_GET['announce']))
{
confirm_referrer('viewtopic.php');
$stick = intval($_GET['announce']);
if ($stick < 1)
message($lang_common['Bad request']);
$db->query('UPDATE '.$db->prefix.'topics SET sticky=\'2\' WHERE id='.$stick.' AND forum_id='.$fid) or error('Unable to stick topic', __FILE__, __LINE__, $db->error());
redirect('viewtopic.php?id='.$stick, $lang_misc['Stick topic redirect']);
}
// Announcement global a topic
else if (isset($_GET['announceg']))
{
confirm_referrer('viewtopic.php');
$stick = intval($_GET['announceg']);
if ($stick < 1)
message($lang_common['Bad request']);
$db->query('UPDATE '.$db->prefix.'topics SET sticky=\'3\' WHERE id='.$stick.' AND forum_id='.$fid) or error('Unable to stick topic', __FILE__, __LINE__, $db->error());
redirect('viewtopic.php?id='.$stick, $lang_misc['Stick topic redirect']);
}
Viewforum.php
Chercher
$result = $db->query('SELECT id FROM '.$db->prefix.'topics WHERE forum_id='.$id.'
Ajouter après
OR sticky = 3
Chercher
WHERE t.forum_id='.$id.'
Ajouter après
OR t.sticky = 3
Chercher et Supprimé ce bout de code
<div id="vf" class="blocktable">
<h2><span><?php echo pun_htmlspecialchars($cur_forum['forum_name']) ?></span></h2>
<div class="box">
<div class="inbox">
<table>
<thead>
<tr>
<th class="tcl" scope="col"><?php echo $lang_common['Topic'] ?></th>
<th class="tc2" scope="col"><?php echo $lang_common['Replies'] ?></th>
<?php if ($pun_config['o_topic_views'] == '1'): ?> <th class="tc3" scope="col"><?php echo $lang_forum['Views'] ?></th>
<?php endif; ?> <th class="tcr" scope="col"><?php echo $lang_common['Last post'] ?></th>
</tr>
</thead>
Chercher
$topic_count = 0;
Ajouter après
$cur_category = 0;
$isset_announce = 0;
$cat_annonce = 0;
$cat_normal = 0;
Chercher
while ($cur_topic = $db->fetch_assoc($result))
{
Ajouter après
$category = ($cur_topic['sticky'] == 3) ? '1' : '0';
if ($category != $cur_category || $category == $cur_category)
{
if ($category == $cur_category)
{
if ($isset_announce == 1)
echo '</tbody></table></div></div></div>';
$isset_announce = '0';
}
if ($cat_annonce == 0 && $category != $cur_category || $cat_normal == 0 && $category == $cur_category)
{
?>
<div id="vf<?php echo ($category != $cur_category ? 'announce' : '') ?>" class="blocktable">
<h2><span><?php echo pun_htmlspecialchars($cur_forum['forum_name']) ?></span></h2>
<div class="box">
<div class="inbox">
<table>
<thead>
<tr>
<th class="tcl" scope="col"><?php echo ($category != $cur_category ? $lang_common['Global Announcement'] : $lang_common['Topic']) ?></th>
<th class="tc2" scope="col"><?php echo $lang_common['Replies'] ?></th>
<?php if ($pun_config['o_topic_views'] == '1'): ?>
<th class="tc3" scope="col"><?php echo $lang_forum['Views'] ?></th>
<?php endif; ?>
<th class="tcr" scope="col"><?php echo $lang_common['Last post'] ?></th>
</tr>
</thead>
<tbody>
<?php
if ($cat_annonce == 0 && $category != $cur_category)
$cat_annonce = 1;
if ($cat_normal == 0 && $category == $cur_category)
$cat_normal = 1;
}
if ($category != $cur_category)
$isset_announce = 1;
}
Chercher
if ($cur_topic['sticky'] == '1')
{
$item_status .= ' isticky';
$status_text[] = '<span class="stickytext">'.$lang_forum['Sticky'].'</span>';
}
Ajouter après
if ($cur_topic['sticky'] == '2')
{
$item_status .= ' iannounce';
$status_text[] = '<span class="announceytext">'.$lang_forum['Announce'].'</span>';
}
if ($cur_topic['sticky'] == '3')
{
$status_text[] = '<span class="iannouncetext">'.$lang_common['Global Announcement'].' : </span>';
$item_status .= ' iannounceg';
}
Chercher
<tr class="rowodd inone">
<td class="tcl" colspan="<?php echo $colspan ?>">
<div class="t-icon inone"><div class="nosize"><!-- --></div></div>
<div class="tclcon">
<div>
<strong><?php echo $lang_forum['Empty forum'] ?></strong>
</div>
</div>
</td>
</tr>
Remplacer par
<div id="vf" class="blocktable">
<h2><span><?php echo pun_htmlspecialchars($cur_forum['forum_name']) ?></span></h2>
<div class="box">
<div class="inbox">
<table>
<thead>
<tr>
<th class="tcl" scope="col"><?php echo $lang_common['Topic'] ?></th>
<th class="tc2" scope="col"><?php echo $lang_common['Replies'] ?></th>
<?php if ($pun_config['o_topic_views'] == '1'): ?> <th class="tc3" scope="col"><?php echo $lang_forum['Views'] ?></th>
<?php endif; ?> <th class="tcr" scope="col"><?php echo $lang_common['Last post'] ?></th>
</tr>
</thead>
<tbody>
<tr class="rowodd inone">
<td class="tcl" colspan="<?php echo $colspan ?>">
<div class="t-icon inone"><div class="nosize"><!-- --></div></div>
<div class="tclcon">
<div>
<strong><?php echo $lang_forum['Empty forum'] ?></strong>
</div>
</div>
</td>
</tr>
Edit.php
Chercher
$stick_topic = isset($_POST['stick_topic']) ? '1' : '0';
Remplacer par
$stick_topic = isset($_POST['stick_topic']) && $is_admmod ? ($_POST['stick_topic'] == '1' ? '1' : ($_POST['stick_topic'] == '2' ? '2' : ($_POST['stick_topic'] == '3' ? '3' : '0'))) : '0';
Chercher
$checkboxes = array();
if ($can_edit_subject && $is_admmod)
{
if (isset($_POST['stick_topic']) || $cur_post['sticky'] == '1')
$checkboxes[] = '<label><input type="checkbox" name="stick_topic" value="1" checked="checked" tabindex="'.($cur_index++).'" />'.$lang_common['Stick topic'].'<br /></label>';
else
$checkboxes[] = '<label><input type="checkbox" name="stick_topic" value="1" tabindex="'.($cur_index++).'" />'.$lang_common['Stick topic'].'<br /></label>';
}
Remplacer par
$checkboxes = array();
$checkboxes[] = '<label><input type="radio" name="stick_topic" value="0" '.(isset($_POST['stick_topic']) || $cur_post['sticky'] == '0' ? 'checked="checked"' : '').' tabindex="'.($cur_index++).'" />Normal message<br /></label>';
if ($can_edit_subject && $is_admmod)
{
$checkboxes[] = '<label><input type="radio" name="stick_topic" value="1" '.(isset($_POST['stick_topic']) || $cur_post['sticky'] == '1' ? 'checked="checked"' : '').' tabindex="'.($cur_index++).'" />'.$lang_common['Stick topic'].'<br /></label>';
$checkboxes[] = '<label><input type="radio" name="stick_topic" value="2" '.(isset($_POST['stick_topic']) || $cur_post['sticky'] == '2' ? 'checked="checked"' : '').' tabindex="'.($cur_index++).'" />'.$lang_common['Announcement'].'<br /></label>';
$checkboxes[] = '<label><input type="radio" name="stick_topic" value="3" '.(isset($_POST['stick_topic']) || $cur_post['sticky'] == '3' ? 'checked="checked"' : '').' tabindex="'.($cur_index++).'" />'.$lang_common['Global Announcement'].'<br /></label>';
}
post.php
Chercher
$stick_topic = isset($_POST['stick_topic']) && $is_admmod ? '1' : '0';
Remplacer par
$stick_topic = isset($_POST['stick_topic']) && $is_admmod ? ($_POST['stick_topic'] == '1' ? '1' : ($_POST['stick_topic'] == '2' ? '2' : ($_POST['stick_topic'] == '3' ? '3' : '0'))) : '0';
Chercher
$checkboxes = array();
if ($fid && $is_admmod)
$checkboxes[] = '<label><input type="checkbox" name="stick_topic" value="1" tabindex="'.($cur_index++).'"'.(isset($_POST['stick_topic']) ? ' checked="checked"' : '').' />'.$lang_common['Stick topic'].'<br /></label>';
Remplacer par
$checkboxes = array();
if ($fid && $is_admmod)
{
$checkboxes[] = '<label><input type="radio" name="stick_topic" value="1" tabindex="'.($cur_index++).'"'.(isset($_POST['stick_topic']) ? ' checked="checked"' : '').' />'.$lang_common['Stick topic'].'</label>';
$checkboxes[] = '<label><input type="radio" name="stick_topic" value="2" tabindex="'.($cur_index++).'"'.(isset($_POST['stick_topic']) && $_POST['stick_topic'] == "2" ? ' checked="checked"' : '').' />'.$lang_common['Announcement'].'</label>';
$checkboxes[] = '<label><input type="radio" name="stick_topic" value="3" tabindex="'.($cur_index++).'"'.(isset($_POST['stick_topic']) && $_POST['stick_topic'] == "3" ? ' checked="checked"' : '').' />'.$lang_common['Global Announcement'].'</label>';
}
lang/French/common.php
Chercher
'Stick topic' => 'Épingler la discussion',
Ajouter après
'Announce topic' => 'Annoncer la discussion',
'Announce_g topic' => 'Annoncer globale la discussion',
Chercher
'Sticky' => 'Sticky',
Ajouter après
'Global Announcement' => 'Global Announcement',
style/[Votre style].css
Chercher
.pun #vf td.tcl span.stickytext, .pun #vf td.tcl span.closedtext {
font-size: 1em;
font-weight: bold;
}
Remplacer par
.pun #vf td.tcl span.stickytext, .pun #vf td.tcl span.closedtext, .pun #vf td.tcl span.announcetext, .pun #vfannounce td.tcl span.iannouncetext {
font-size: 1em;
font-weight: bold;
}
Chercher
.pun .blocktable td.tcl span.stickytext {
color: #000;
}
Remplacer par
.pun .blocktable td.tcl span.stickytext, .pun .blocktable td.tcl span.announcetext, .pun .blocktable td.tcl span.iannouncetext {
color: #3399CC;
}
voila
N'hésitez pas si vous avez des remarques ou si vous trouver des bugs
Dernière modification par akira_87 (14-10-2016 00:57:07)
function j_ai_besoin() {
if (ça existe) j'utilise;
if (ça existe mais c'est incomplet) j'améliore et je partage;
if (ça n'existe pas) je développe et je partage;
if (je réclame) exit;
Return "code amélioré" or "developpeur satisfait" or die;}
Hors ligne