Cette astuce permet d'avoir deux niveaux “d'épinglage”. Les topics placés en “annonce” seront ainsi positionnés avant ceux qui sont épinglés.
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.'&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.'&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";
}
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']);
}
Viewforum.php
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>';
}
lang/French/common.php
Chercher
'Stick topic' => 'Épingler la discussion',
Ajouter après
'Announce topic' => 'Annoncer la discussion',
lang/French/forum.php
Chercher
'Sticky' => 'Épinglée :',
Ajouter après
'Announce' => 'Annonce :',
Si vous souhaitez en discuter sur le forum : Deux niveaux d'épinglages : Annoncer et Epingler