Yeni Mesajların Konu ve Forumları Renklendirmesi
Tarih: 03.02.2007, 16:57
LeBron'un verdiği kodlar var ama ben çalıştıramadım onları. O yüzden XS temalarından ayıkladığımı buraya aynen yazıyorum. Tabii bunun çalışabilmesi için forumunuzda XS modunun yüklü olması lazım.
Simple Subforum'u olanlarda kendiliğinden çıkacaktır bu. Umarım işinize yarar. Yapamadığınız birşey olursa lütfen sormaktan çekinmeyin.
- Kod: Tümünü seç
Öncelikle index.php'de çıkması için bu değişiklikler..
[ AÇ ]
templates/tema_adın/index_body.tpl
[ SAYFANIN BAŞINA EKLE ]
<?php
/* check for new messages */
$catrow_count = ( isset($this->_tpldata['catrow.']) ) ? sizeof($this->_tpldata['catrow.']) : 0;
for($catrow_i = 0; $catrow_i < $catrow_count; $catrow_i++)
{
$catrow_item = &$this->_tpldata['catrow.'][$catrow_i];
// check for new messages
$new_msg = false;
$forumrow_count = ( isset($catrow_item['forumrow.']) ) ? sizeof($catrow_item['forumrow.']) : 0;
for ($forumrow_i = 0; $forumrow_i < $forumrow_count; $forumrow_i++)
{
$forumrow_item = &$catrow_item['forumrow.'][$forumrow_i];
$new_item = strpos($forumrow_item['FORUM_FOLDER_IMG'], '_new') > 0 ? true : false;
if($new_item)
{
$new_msg = true;
$forumrow_item['XS_NEW'] = '-new';
$forumrow_item['LAST_POST'] = str_replace('icon_latest_reply.gif','icon_newest_reply.gif', $forumrow_item['LAST_POST']);
}
if(strlen($forumrow_item['L_MODERATOR']) && $forumrow_item['L_MODERATOR'] !== ' ')
{
$forumrow_item['L_MODERATOR'] .= ':';
}
}
}
?>
[ BUL ]
<a href="{catrow.forumrow.U_VIEWFORUM}" class="forumlink
[ SATIR İÇİNDE SONRASINA EKLE ] Not: Dikka edin, forumlink'ten sonra " gelmiyor.
<!-- IF catrow.forumrow.TOTAL_UNREAD --> topic-new<!-- ENDIF -->
Şimdi sıra viewforum.php'de..
[ AÇ ]
templates/tema_adın/viewforum_body.tpl
[ SAYFANIN BAŞINA EKLE ]
<?php
$topicrow_count = ( isset($this->_tpldata['topicrow.']) ) ? sizeof($this->_tpldata['topicrow.']) : 0;
$new_posts = false;
// check own posts
global $userdata, $db;
$topic_ids = array();
$user_topics = array();
if ($userdata['user_id'] != ANONYMOUS)
{
for ($topicrow_i = 0; $topicrow_i < $topicrow_count; $topicrow_i++)
{
$topicrow_item = &$this->_tpldata['topicrow.'][$topicrow_i];
$topic_ids[] = $topicrow_item['TOPIC_ID'];
}
if (!empty($topic_ids))
{
// check the posts
$s_topic_ids = implode(', ', $topic_ids);
$sql = "SELECT DISTINCT topic_id FROM " . POSTS_TABLE . "
WHERE topic_id IN ($s_topic_ids)
AND poster_id = " . $userdata['user_id'];
if ( ($result = $db->sql_query($sql)) )
{
while ($row = $db->sql_fetchrow($result))
{
$user_topics[$row['topic_id']] = true;
}
}
}
}
// check for new posts and change folder for own posts
for ($topicrow_i = 0; $topicrow_i < $topicrow_count; $topicrow_i++)
{
$topicrow_item = &$this->_tpldata['topicrow.'][$topicrow_i];
if(strpos($topicrow_item['TOPIC_FOLDER_IMG'], '_new') > 0)
{
$topicrow_item['XS_NEW'] = '-new';
$new_posts = true;
}
else
{
$topicrow_item['XS_NEW'] = '';
}
$user_replied = isset($user_topics[$topicrow_item['TOPIC_ID']]);
if($user_replied)
{
$topicrow_item['TOPIC_FOLDER_IMG'] = str_replace('.gif', '_own.gif', $topicrow_item['TOPIC_FOLDER_IMG']);
}
}
?>
[ BUL ]
Satırın devamında "{topicrow.TOPIC_TITLE}" girdisi var.
<a href="{topicrow.U_VIEW_TOPIC}"
[ DEĞİŞTİR ]
<a href="{topicrow.U_VIEW_TOPIC}{topicrow.XS_NEW}"
Şimdi ise overall_header.tpl dosyamıza scripts.js'yi ekleyeceğiz.
[ AÇ ]
templates/tema_adın/overall_header.tpl
[ BUL ]
<!-- BEGIN switch_enable_pm_popup -->
[ ÖNCESİNE EKLE ] Not: "TEMA_ADIN" kısmının yerine mutlaka kendi temanızın adını yazın.
<script language="javascript" type="text/javascript" src="templates/[b]TEMA_ADIN[/b]/scripts.js"></script>
[ YÜKLE ]
scripts.js --> templates/tema_adın/scripts.js
[ AÇ ]
templates/tema_adın/tema_adın.css
[ BUL ]
a.mainmenu:hover
[ SONRASINA EKLE ] Not: Simple Subforums kurulu olanlar bu bölümü yapmasınlar.
a.topic-new, a.topic-new:visited { color: {T_BODY_HLINK}; }
a.topic-new:hover, a.topic-new:active { color: {T_BODY_LINK}; }
Tüm dosyaları kaydedin ve kapatın.
Simple Subforum'u olanlarda kendiliğinden çıkacaktır bu. Umarım işinize yarar. Yapamadığınız birşey olursa lütfen sormaktan çekinmeyin.