- Mesajlar
- 736
bu mod forumunuzun ana sayfasında foruma yazılan en son 5 ; mesajı, en çok bakılan mesajı ve en çok mesaj atılan konuyu gösterir. Kurulumu basittir ve hem PHP PLUS Sistemine hemde PHPBB sistemine uygulanabilir. Test edilmiş ve onaylanmıştır
Kod:
########################################################
## Mod İsmi: The last Five and the Five popular (answers/views) on index.php
## Mod Versiyonu: 1.1.0
## Yapımcısı: Andrey Politov aka Sergeant <andypolv>
## Hack Updated to phpBB 2.0.11 Compatibility by: Thoul <thoul>
## Hack Updated based on code created by FB-ke
## Description: Adds small table (3 columns) on the top of the forum index
## with 5 last posts, 5 popular (with maximum answers) and 5
## popular (with maximum views). It helps to provide easy access
## to the last topics and keep on the top interesting topics.
##
## Installation Level: Easy
## Installation Time: 5 Minutes
## Files To Edit: 3 (4 if you have Russian language installed)
## index.php
## templates/subSilver/index_body.tpl
## language/lang_english/lang_main.php
## language/lang_russian/lang_main.php
##
## Included Files: none
##
########################################################
##
## Installation Notes:
##
## Follow the steps below.
##
########################################################
#
#-----[ AÇ ]------------------------------------------
#
index.php
#
#-----[ BUL ]------------------------------------------
#
//
// Okay, let's build the index
//
for($i = 0; $i <total_categories>$v)
{
if( $v['auth_view'] && $v['auth_read'] )
{
$topics_auth_sql .= (( empty($topics_auth_sql) ) ? '': ', ') . $k;
}
}
//
// Okay, let's build the topic recent and popular
//
$active_topics_sql = 'SELECT t.topic_id, t.topic_title, t.topic_replies, t.topic_views, t.topic_last_post_id
FROM ' . TOPICS_TABLE . ' t, ' . FORUMS_TABLE. ' f
WHERE t.forum_id IN (' . $topics_auth_sql . ')
AND f.forum_id = t.forum_id
ORDER BY %1$s DESC
LIMIT 0,5';
$active_topics_sql_a = sprintf($active_topics_sql, 'topic_last_post_id');
$active_topics_sql_b = sprintf($active_topics_sql, 'topic_replies');
$active_topics_sql_c = sprintf($active_topics_sql, 'topic_views');
$recent_row = $popular_row = $viewed_row = array();
if( !$active_topics_a = $db->sql_query($active_topics_sql_a))
{
message_die(GENERAL_ERROR, 'Could not retrieve recent topics', '', __LINE__, __FILE__, $active_topics_sql_a);
}
$recent_row = $db->sql_fetchrowset($active_topics_a);
$db->sql_freeresult($active_topics_a);
if( !$active_topics_b = $db->sql_query($active_topics_sql_b))
{
message_die(GENERAL_ERROR, 'Could not retrieve popular topics', '', __LINE__, __FILE__, $active_topics_sql_b);
}
$popular_row = $db->sql_fetchrowset($active_topics_b);
$db->sql_freeresult($active_topics_b);
if( !$active_topics_c = $db->sql_query($active_topics_sql_c))
{
message_die(GENERAL_ERROR, 'Could not retrieve most viewed topics', '', __LINE__, __FILE__, $active_topics_sql_c);
}
$viewed_row = $db->sql_fetchrowset($active_topics_c);
$db->sql_freeresult($active_topics_c);
$template->assign_vars(array(
'L_TOPICSRECENT' => $lang['TopicsRecent'],
'L_TOPICSPOPULAR' => $lang['TopicsPopular'],
'L_TOPICSPOPULARVIEW' => $lang['TopicsPopularView'])
);
for( $i = 0; $i <5> 40 )
{
$recent_topic_title = substr($recent_topic_title, 0, 40) . '...';
}
if( strlen($popular_topic_title) > 40 )
{
$popular_topic_title = substr($popular_topic_title, 0, 40) . '...';
}
if( strlen($viewed_topic_title) > 40 )
{
$viewed_topic_title = substr($viewed_topic_title, 0, 40) . '...';
}
$recent_post = '<a>' . $recent_topic_title . '</a>';
$popular_post = '<a>' . $popular_topic_title . '</a>';
$popular_total_replies = $popular_row[$i]['topic_replies'];
$viewed_post = '<a>' . $viewed_topic_title . '</a>';
$viewed_total_replies = $viewed_row[$i]['topic_views'];
$template->assign_block_vars('topicrecentpopular', array(
'TOPICSPOPULAR' => $popular_post,
'TOPICSPOPULARC' => $popular_total_replies,
'TOPICSPOPULARVIEW' => $viewed_post,
'TOPICSPOPULARVIEWC' => $viewed_total_replies,
'TOPICSRECENT' => $recent_post)
);
}
//
// Top Topics on Index 1.1.0 - Kod tamamlandı
//------------------------------------------------------------------------
#
#-----[ AÇ ]------------------------------------------
#
(Not hangi temayı kullanıyorsanız o temaya ait TPL dosyalarını açacaksınız.)
templates/subSilver/index_body.tpl
#
#-----[ BUL ]------------------------------------------
#
<table>
<tr>
<th> {L_FORUM} </th>
<th> {L_TOPICS} </th>
<th> {L_POSTS} </th>
<th> {L_LASTPOST} </th>
</tr>
<BEGIN>
#
#-----[ ÖNCESİNE EKLE ]------------------------------------------
#
<Top>
<table>
<tr>
<th> {L_TOPICSRECENT} </th>
<th> {L_TOPICSPOPULAR} </th>
<th> {L_TOPICSPOPULARVIEW} </th>
</tr>
<BEGIN>
<tr>
<td><span>{topicrecentpopular.TOPICSRECENT}</span></td>
<td><span>{topicrecentpopular.TOPICSPOPULAR}</span></td>
<td><span>{topicrecentpopular.TOPICSPOPULARC}</span></td>
<td><span>{topicrecentpopular.TOPICSPOPULARVIEW}</span></td>
<td><span>{topicrecentpopular.TOPICSPOPULARVIEWC}</span></td>
</tr>
<END>
</table>
<Top>
#
#-----[ AÇ ]------------------------------------------
#
(Not; tabii biz burada türkçe dil paketimizin içine giriyoruz)
language/lang_english/lang_main.php
#
#-----[ BUL ]------------------------------------------
#
//
// That's all, Folks!
// -------------------------------------------------
#
#-----[ ÖNCESİNE EKLE ]------------------------------------------
#
//------------------------------------------------------------------------
// Top Topics on Index 1.1.0 - Begin Code Addition
//
$lang['TopicsRecent'] = "Recent Topics";
$lang['TopicsPopular'] = "Popular Topics (by reply)";
$lang['TopicsPopularView'] = "Popular Topics (by view)";
//
// Top Topics on Index 1.1.0 - End Code Addition
//------------------------------------------------------------------------
#
#-----[ TÜM DOSYALARDAKİ DEĞŞİKLİKLERİ KAYDET VE DOSYALARI KAPAT - MOD KURULUMU TAMAMLANMIŞTIR]------------------------------------------
#