Last Popular Topics5 Index

phpBB 大部分皆是由竹貓星球提供資料!
頭像
懸壺子
系統管理員
系統管理員
主題中的帖子: 2
文章: 33489
註冊時間: 2001-10-05 , 10:10
個人狀態: 道骨學習佛心..^^..
貼心留言: 氣候不穩
性別: 公仔
來自: 黃金故鄉
聯繫:

Last Popular Topics5 Index

未閱讀文章 懸壺子 »

LastPopularTopics5Index(Top Topics on Index)

http://phpbb-tw.net/phpbb/viewtopic.php?t=43962

download--> http://www.phpbbhacks.com/download/1238

代碼: 選擇全部

########################################################
## Mod Title:    The last Five and the Five popular (answers/views) on index.php
## Mod Version:  1.1.0
## Author:       Andrey Politov aka Sergeant < andypolv@mail.ru >
##   Hack Updated to phpBB 2.0.11 Compatibility by: Thoul <thoul@users.sourceforge.net>
##   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 
##
######################################################## 
##
## Before Adding This hack To Your Forum, 
## You Should Back Up All Files Related To This hack
##
######################################################## 
##
## Installation Notes: 
## 
## Follow the steps below. 
##
######################################################## 


#
#-----[ OPEN ]------------------------------------------
#
index.php

#
#-----[ FIND ]------------------------------------------
#

	//
	// Okay, let's build the index
	//
	for($i = 0; $i < $total_categories; $i++)
	{
		$cat_id = $category_rows[$i]['cat_id'];


#
#-----[ BEFORE, ADD ]------------------------------------------
#

//------------------------------------------------------------------------
// Top Topics on Index 1.1.0 - Begin Code Addition
//
	$template->assign_vars(array(
		'L_TOPICSRECENT' => $lang['TopicsRecent'],
		'L_TOPICSPOPULAR' => $lang['TopicsPopular'],
		'L_TOPICSPOPULARVIEW' => $lang['TopicsPopularView'])
	);

	// Get forum auth information to insure privacy of hidden topics
	$topics_auth = auth(AUTH_ALL, AUTH_LIST_ALL, $userdata);
	$topics_auth_sql = '';
	foreach($topics_auth as $k=>$v)
	{
		if( $v['auth_view'] && $v['auth_read'] )
		{
			$topics_auth_sql .= (( empty($topics_auth_sql) ) ? '': ', ') . $k;
		}
	}

	if( empty($topics_auth_sql) )
	{
		$template->assign_block_vars('topicrecentpopular', array(
			'TOPICSPOPULAR' => $lang['No_Posts'],
			'TOPICSPOPULARVIEW' => $lang['No_Posts'],
			'TOPICSRECENT' => $lang['No_Posts']
		));
	}
	else
	{
		//
		// 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,10';
		$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);

		for( $i = 0; $i < 10; $i++ )
		{
			$recent_topic_title = $recent_row[$i]['topic_title'];
			$popular_topic_title = $popular_row[$i]['topic_title'];
			$viewed_topic_title = $viewed_row[$i]['topic_title'];

			if( strlen($recent_topic_title) > 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 href="viewtopic.php?' . POST_TOPIC_URL . '=' . $recent_row[$i]['topic_id'] . '" title="' . $recent_row[$i]['topic_title'] . '">' . $recent_topic_title . '</a>';
			$popular_post = '<a href="viewtopic.php?' . POST_TOPIC_URL . '=' . $popular_row[$i]['topic_id'] . '" title="' . $popular_row[$i]['topic_title'] . '">' . $popular_topic_title . '</a>';
			$popular_total_replies = $popular_row[$i]['topic_replies'];
			$viewed_post = '<a href="viewtopic.php?' . POST_TOPIC_URL . '=' . $viewed_row[$i]['topic_id'] . '" title="' . $viewed_row[$i]['topic_title'] . '">' . $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 - End Code Addition
//------------------------------------------------------------------------

#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/index_body.tpl


#
#-----[ FIND ]------------------------------------------
#

<table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline">
  <tr> 
	<th colspan="2" class="thCornerL" height="25" nowrap="nowrap">&nbsp;{L_FORUM}&nbsp;</th>
	<th width="50" class="thTop" nowrap="nowrap">&nbsp;{L_TOPICS}&nbsp;</th>
	<th width="50" class="thTop" nowrap="nowrap">&nbsp;{L_POSTS}&nbsp;</th>
	<th class="thCornerR" nowrap="nowrap">&nbsp;{L_LASTPOST}&nbsp;</th>
  </tr>
  <!-- BEGIN catrow -->

#
#-----[ BEFORE, ADD ]------------------------------------------
#

<!-- Top Topics on Index 1.1.0 - Begin Code Addition -->
<table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline">
  <tr> 
	<th width="25%" class="thTop" nowrap="nowrap">&nbsp;{L_TOPICSRECENT}&nbsp;</th>
	<th width="38%" colspan="2" class="thTop" nowrap="nowrap">&nbsp;{L_TOPICSPOPULAR}&nbsp;</th>
	<th width="37%" colspan="2" class="thTop" nowrap="nowrap">&nbsp;{L_TOPICSPOPULARVIEW}&nbsp;</th>
  </tr>
  <!-- BEGIN topicrecentpopular -->
  <tr> 
	<td width="29%" class="row2" align="left" valign="middle"><span class="gensmall">{topicrecentpopular.TOPICSRECENT}</span></td>
	<td width="31%" class="row2" align="left" valign="middle"><span class="gensmall">{topicrecentpopular.TOPICSPOPULAR}</span></td>
	<td width="6%" class="row2" align="center" valign="middle"><span class="gensmall">{topicrecentpopular.TOPICSPOPULARC}</span></td>
	<td width="29%" class="row2" align="left" valign="middle"><span class="gensmall">{topicrecentpopular.TOPICSPOPULARVIEW}</span></td>
	<td width="6%" class="row2" align="center" valign="middle"><span class="gensmall">{topicrecentpopular.TOPICSPOPULARVIEWC}</span></td>
  </tr>
  <!-- END topicrecentpopular -->
</table>
<!-- Top Topics on Index 1.1.0 - End Code Addition -->


#
#-----[ OPEN ]------------------------------------------
#
language/lang_english/lang_main.php


#
#-----[ FIND ]------------------------------------------
#

//
// That's all, Folks!
// -------------------------------------------------


#
#-----[ BEFORE, ADD ]------------------------------------------
#

//------------------------------------------------------------------------
// 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
//------------------------------------------------------------------------


#
頭像
懸壺子
系統管理員
系統管理員
主題中的帖子: 2
文章: 33489
註冊時間: 2001-10-05 , 10:10
個人狀態: 道骨學習佛心..^^..
貼心留言: 氣候不穩
性別: 公仔
來自: 黃金故鄉
聯繫:

Re: Last Popular Topics5 Index

未閱讀文章 懸壺子 »

lang_main.php

代碼: 選擇全部

//------------------------------------------------------------------------
// Top Topics on Index 1.1.0 - Begin Code Addition
//
$lang['TopicsRecent'] = "十二大最新回覆";
$lang['TopicsPopular'] = "十二大最多回覆 (回覆數)";
$lang['TopicsPopularView'] = "十二大最多點閱 (點閱數)";
//
// Top Topics on Index 1.1.0 - End Code Addition
//------------------------------------------------------------------------ 

代碼: 選擇全部

index.php
裡面5改成12

代碼: 選擇全部

.
.
.
LIMIT 0,12';
..
.
.

.
for( $i = 0; $i < 12; $i++ )
版面鎖定 主題已鎖定

回到「phpBB2」