[問題] NewRank的顯示問題

phpBB 2 MOD Support
無論是官方或非官方認證之外掛,安裝與使用問題討論。
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

主題已鎖定
星期
星球普通子民
星球普通子民
文章: 1
註冊時間: 2004-12-31 18:22

[問題] NewRank的顯示問題

文章 星期 »

問題外掛:NewRank in View Topic, Profile and Member List
參考連結: http://www.phpbbhacks.com/download/991
使用版本:phpBB 2.0.10
狀況描述:

我在phpbbhacks找到了這個MOD﹐安裝一切順利﹐可是顯示等級的時候卻並不是我所想像的那樣﹐現在雖然有了兩個分開的等級﹐可是要想同時顯示兩個等級的話﹐就必須把兩個頭銜都設為特殊等級。如果一個是特殊等級﹐一個是隨帖數而變換的非特殊等級時﹐就會出現這樣的狀況﹕
1﹑原始等級為特殊等級﹐(由於加了這個MOD)新加的等級為非特殊等級時﹐只顯示非特殊等級﹐而且顯示在原始等級的欄位。
圖檔
2﹑原始等級為非特殊等級﹐新加的等級為特殊等級時﹐只顯示特殊等級﹐這次顯示在新加等級的欄位了。
圖檔

請各位高手幫個忙﹐幫我看看怎樣可以改成特殊等級和非特殊等級同時使用﹐先謝謝了。

下面是這個MOD的內容

代碼: 選擇全部

##############################################################
## MOD Title: New Rank In View Topic And Member List
## MOD Author: Mighty Gorgon < mightygorgon@supereva.it > http://www.mightygorgon.cjb.net
## MOD Description: This mod add a new user rank , the new rank will be showed in each topic and in the memberlist.
## MOD Version: 1.01
## Installation Level: Easy
## Installation Time: 10 minutes
## Files to Edit: viewtopic.php,
##                template/subSilver/viewtopic_body.tpl,
##                memberlist.php,
##                template/subSilver/memberlist_body.tpl,
##                admin/admin_user.php,
##                template/subSilver/admin/user_edit_body.tpl,
##                includes/usercp_viewprofile.php,
##                templates/subSilver/profile_view_body.tpl,
##                language/lang_english/lang_admin.php
## Included Files: A set of rank images.
## Generator: MODEdit by Andareed <and_a_reed@hotmail.com>
########################################################
## This MOD is released under the GPL License.
## Intellectual Property is retained by the MOD Author(s) listed above
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/downloads/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/downloads/
##############################################################
## Author Notes:
## Revision History:
## 
## Version 1.01:
## Added rank images in view profile.
## 
## Version 1.00:
## First stable release.
## 
## Version 0.14:
## Fixed some minor bugs.
## 
## Version 0.13:
## Fixed some bugs.
## 
## Version 0.12:
## Added Admin Panel Support
## Changed level2 into rank2
## 
## Version 0.1:
## First release
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ SQL ]------------------------------------------
#
ALTER TABLE phpbb_users ADD user_rank2 INT(11) AFTER user_rank; 
UPDATE phpbb_users SET user_rank2 = "0";
#
#-----[ OPEN ]------------------------------------------
#
viewtopic.php
#
#-----[ FIND ]------------------------------------------
#
//
// Go ahead and pull all data for this topic
//
$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_from_flag, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, u.user_allow_viewonline, u.user_session_time, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid, t.style_name
#
#-----[ IN-LINE FIND ]------------------------------------------
#
, u.user_rank
#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
, u.user_rank2
#
#-----[ FIND ]------------------------------------------
#
				$poster_rank = $ranksrow[$j]['rank_title'];
				$rank_image = ( $ranksrow[$j]['rank_image'] ) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
			}
		}
	}
#
#-----[ AFTER, ADD ]------------------------------------------
#
	//
	// Rank 2 Begin
	//
	$poster_rank2 = '';
	$rank2_image = '';
	if ( $postrow[$i]['user_id'] == ANONYMOUS )
	{
	}
	else if ( $postrow[$i]['user_rank2'] )
	{
		for($j = 0; $j < count($ranksrow); $j++)
		{
			if ( $postrow[$i]['user_rank2'] == $ranksrow[$j]['rank_id'] && $ranksrow[$j]['rank_special'] )
			{
				$poster_rank2 = $ranksrow[$j]['rank_title'];
				$rank2_image = ( $ranksrow[$j]['rank_image'] ) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $poster_rank2 . '" title="' . $poster_rank2 . '" border="0" /><br />' : '';
			}
		}
	}
	//
	// Rank 2 End
	//
#
#-----[ FIND ]------------------------------------------
#
	'POSTER_RANK' => $poster_rank,
	'RANK_IMAGE' => $rank_image,
#
#-----[ AFTER, ADD ]------------------------------------------
#
	'POSTER_RANK2' => $poster_rank2,
	'RANK2_IMAGE' => $rank2_image,
#
#-----[ OPEN ]------------------------------------------
#
template/subSilver/viewtopic_body.tpl
#
#-----[ FIND ]------------------------------------------
#
	{postrow.RANK_IMAGE}<br /><br />
#
#-----[ AFTER, ADD ]------------------------------------------
#
	{postrow.POSTER_RANK2}<br />
	{postrow.RANK2_IMAGE}<br />
#
#-----[ OPEN ]------------------------------------------
#
memberlist.php
#
#-----[ FIND ]------------------------------------------
#
'L_ICQ' => $lang['ICQ'],
#
#-----[ AFTER, ADD ]------------------------------------------
#
'L_USER_RANK' => $lang['Poster_rank'],
#
#-----[ FIND ]------------------------------------------
#
$order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page'];
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
//
// Rank Begin
//
$sql = "SELECT *
	FROM " . RANKS_TABLE . "
	ORDER BY rank_special, rank_min";
if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, "Could not obtain ranks information.", '', __LINE__, __FILE__, $sql);
}
$ranksrow = array();
while ( $row = $db->sql_fetchrow($result) )
{
	$ranksrow[] = $row;
}
$db->sql_freeresult($result);
//
// Rank End
//
#
#-----[ FIND ]------------------------------------------
#
, user_allowavatar
#
#-----[ AFTER, ADD ]------------------------------------------
#
, user_rank , user_rank2
#
#-----[ FIND ]------------------------------------------
#
$posts = ( $row['user_posts'] ) ? $row['user_posts'] : 0;
#
#-----[ AFTER, ADD ]------------------------------------------
#
		//
		// Rank Begin
		// Generate ranks, set them to empty string initially.
		//
		$user_rank = '';
		$rank_image = '';
		if ( $row['user_rank'] )
		{
			for($j = 0; $j < count($ranksrow); $j++)
			{
				if ( $row['user_rank'] == $ranksrow[$j]['rank_id'] && $ranksrow[$j]['rank_special'] )
				{
					$user_rank = $ranksrow[$j]['rank_title'];
					$rank_image = ( $ranksrow[$j]['rank_image'] ) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $user_rank . '" title="' . $user_rank . '" border="0" /><br />' : '';
				}
			}
		}
		else
		{
			for($j = 0; $j < count($ranksrow); $j++)
			{
				if ( $row['user_posts'] >= $ranksrow[$j]['rank_min'] && !$ranksrow[$j]['rank_special'] )
				{
					$user_rank = $ranksrow[$j]['rank_title'];
					$rank_image = ( $ranksrow[$j]['rank_image'] ) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $user_rank . '" title="' . $user_rank . '" border="0" /><br />' : '';
				}
			}
		}
		//
		// Rank End
		//

		//
		// Rank 2 Begin
		// Generate ranks, set them to empty string initially.
		//
		$user_rank2 = '';
		$rank2_image = '';
		if ( $row['user_rank2'] )
		{
			for($j = 0; $j < count($ranksrow); $j++)
			{
				if ( $row['user_rank2'] == $ranksrow[$j]['rank_id'] && $ranksrow[$j]['rank_special'] )
				{
					$user_rank2 = $ranksrow[$j]['rank_title'];
					$rank2_image = ( $ranksrow[$j]['rank_image'] ) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $user_rank2 . '" title="' . $user_rank2 . '" border="0" /><br />' : '';
				}
			}
		}
		//
		// Rank 2 End
		//
#
#-----[ FIND ]------------------------------------------
#
'JOINED' => $joined,
#
#-----[ AFTER, ADD ]------------------------------------------
#
	'USER_RANK' => $user_rank,
	'USER_RANK_IMG' => $rank_image,
	'USER_RANK2' => $user_rank2,
	'USER_RANK2_IMG' => $rank2_image,
#
#-----[ OPEN ]------------------------------------------
#
template/subSilver/memberlist_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<th class="thTop" nowrap="nowrap">{L_USERNAME}</th>
#
#-----[ AFTER, ADD ]------------------------------------------
#
<th class="thTop" nowrap="nowrap">{L_USER_RANK}</th>
#
#-----[ FIND ]------------------------------------------
#
<td class="{memberrow.ROW_CLASS}" align="center"><span class="gen"><a href="{memberrow.U_VIEWPROFILE}" class="gen">{memberrow.USERNAME}</a></span></td>
#
#-----[ AFTER, ADD ]------------------------------------------
#
<td class="{memberrow.ROW_CLASS}" align="center" valign="middle">
			<span class="gensmall">
				{memberrow.USER_RANK}<br />
				{memberrow.USER_RANK_IMG}
				{memberrow.USER_RANK2}<br />
				{memberrow.USER_RANK2_IMG}
			</span>
		</td>
#
#-----[ FIND ]------------------------------------------
#
<td class="catbottom" colspan="8" height="28">&nbsp;</td>
#
#-----[ REPLACE WITH ]------------------------------------------
#
// Just add one to colspan value
<td class="catbottom" colspan="9" height="28">&nbsp;</td>
#
#-----[ OPEN ]------------------------------------------
#
admin/admin_user.php
#
#-----[ FIND ]------------------------------------------
#
$user_rank = ( !empty($HTTP_POST_VARS['user_rank']) ) ? intval( $HTTP_POST_VARS['user_rank'] ) : 0;
#
#-----[ AFTER, ADD ]------------------------------------------
#
$user_rank2 = ( !empty($HTTP_POST_VARS['user_rank2']) ) ? intval( $HTTP_POST_VARS['user_rank2'] ) : 0;
#
#-----[ FIND ]------------------------------------------
#
user_active = $user_status
#
#-----[ AFTER, ADD ]------------------------------------------
#
, user_rank2 = $user_rank2
#
#-----[ FIND ]------------------------------------------
#
$s_hidden_fields .= '<input type="hidden" name="user_allowavatar" value="' . $user_allowavatar . '" />';
#
#-----[ AFTER, ADD ]------------------------------------------
#
$s_hidden_fields .= '<input type="hidden" name="user_rank2" value="' . $user_rank2 . '" />';
#
#-----[ FIND ]------------------------------------------
#
			$selected = ( $this_userdata['user_rank'] == $rank_id ) ? ' selected="selected"' : '';
			$rank_select_box .= '<option value="' . $rank_id . '"' . $selected . '>' . $rank . '</option>';
		}
#
#-----[ AFTER, ADD ]------------------------------------------
#
		//
		// Rank 2 Begin
		//
		$sql = "SELECT * FROM " . RANKS_TABLE . "
			WHERE rank_special = 1
			ORDER BY rank_title";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not obtain ranks data', '', __LINE__, __FILE__, $sql);
		}
		$rank2_select_box = '<option value="0">' . $lang['No_assigned_rank'] . '</option>';
		while( $row = $db->sql_fetchrow($result) )
		{
			$rank = $row['rank_title'];
			$rank_id = $row['rank_id'];
			
			$selected = ( $this_userdata['user_rank2'] == $rank_id ) ? ' selected="selected"' : '';
			$rank2_select_box .= '<option value="' . $rank_id . '"' . $selected . '>' . $rank . '</option>';
		}
		//
		// Rank 2 End
		//
#
#-----[ FIND ]------------------------------------------
#
'RANK_SELECT_BOX' => $rank_select_box,
#
#-----[ AFTER, ADD ]------------------------------------------
#
'RANK2_SELECT_BOX' => $rank2_select_box,
#
#-----[ FIND ]------------------------------------------
#
'L_SELECT_RANK' => $lang['Rank_title'],
#
#-----[ AFTER, ADD ]------------------------------------------
#
'L_SELECT_RANK2' => $lang['Rank2_title'],
#
#-----[ OPEN ]------------------------------------------
#
template/subSilver/admin/user_edit_body.tpl
#
#-----[ FIND ]------------------------------------------
#
	<tr>
		<td class="row1"><span class="gen">{L_SELECT_RANK}</span></td>
		<td class="row2"><select name="user_rank">{RANK_SELECT_BOX}</select></td>
	</tr>
#
#-----[ AFTER, ADD ]------------------------------------------
#
	<tr>
		<td class="row1"><span class="gen">{L_SELECT_RANK2}</span></td>
		<td class="row2"><select name="user_rank2">{RANK2_SELECT_BOX}</select></td>
	</tr>
#
#-----[ OPEN ]------------------------------------------
#
includes/usercp_viewprofile.php
#
#-----[ FIND ]------------------------------------------
#
			$rank_image = ( $ranksrow[$i]['rank_image'] ) ? '<img src="' . $ranksrow[$i]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
		}
	}
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
	//
	// Rank 2 Begin
	//
	$poster_rank2 = '';
	$rank2_image = '';
	if ( $profiledata['user_rank2'] )
	{
		for($i = 0; $i < count($ranksrow); $i++)
		{
			if ( $profiledata['user_rank2'] == $ranksrow[$i]['rank_id'] && $ranksrow[$i]['rank_special'] )
			{
				$poster_rank2 = $ranksrow[$i]['rank_title'];
				$rank2_image = ( $ranksrow[$i]['rank_image'] ) ? '<img src="' . $ranksrow[$i]['rank_image'] . '" alt="' . $poster_rank2 . '" title="' . $poster_rank2 . '" border="0" /><br />' : '';
			}
		}
	}
	//
	// Rank 2 End
	//
#
#-----[ FIND ]------------------------------------------
#
	'POSTER_RANK' => $poster_rank,
	'RANK_IMAGE' => $rank_image,

#
#-----[ AFTER, ADD ]------------------------------------------
#
	'POSTER_RANK2' => $poster_rank2,
	'RANK2_IMAGE' => $rank2_image,
#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/profile_view_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<span class="postdetails">{POSTER_RANK}
#
#-----[ AFTER, ADD ]------------------------------------------
#
{RANK_IMAGE}<br />{POSTER_RANK2}<br />{RANK2_IMAGE}
#
#-----[ OPEN ]------------------------------------------
#
language/lang_english/lang_admin.php
#
#-----[ FIND ]------------------------------------------
#
$lang['Rank_title'] = "Rank Title";
#
#-----[ AFTER, ADD ]------------------------------------------
#
$lang['Rank2_title'] = "Rank 2 Title";
#
#-----[ SAVE/CLOSE ALL FILES ]----------------------------------------
#
# EoM
主題已鎖定

回到「外掛問題討論」