1 頁 (共 1 頁)

[問題]虛擬形象如何整合進BCP的區塊中

發表於 : 2005-12-17 08:21
bsmouse
問題外掛:這個沒有參考連結
參考連結:無
使用版本:2.0.18
網站位置:http://bsmouse.yi.org
狀況描述:
我安裝好face外掛後,一切功能大致正常,只是當我啟動虛擬形象後,原來在BCP的
會員資料區塊中的頭像就不見了 :-o
我嘗試過用修改blog顯示虛擬形象的方式去修改BCP中個人資料區塊後端的程式
(system_users.php),解決sql錯誤的問題後,他還是無法顯示出虛擬形象\r
不知道有沒有人這樣搭配使用修改成功的呢??能否提供點建議看看我該怎麼\r
改??

發表於 : 2005-12-17 14:04
心靈捕手
以下的修改, 提供您參考:
#
#-----[ OPEN ]-----
#
includes/usercp_register.php

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

代碼: 選擇全部

			case USER_AVATAR_GALLERY:
				$avatar_img = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $user_avatar . '" alt="" />' : '';
				break;
#
#-----[ AFTER, ADD ]-----
#

代碼: 選擇全部

		case USER_AVATAR_FACE:
				//###### begin 虛擬形象 #####
				if ($userdata[user_gender]<=0)
				{
					$poster_avatar="";
					//虛擬形象\r
					$userface = "";
					//虛擬形象\r
				} 
				else if ($userdata[user_gender]==1)
				{
					$tempequip = '0-0-0-0-0-0-0-0-init-init-0-init-0-init-init-0-0-0-init-0-0-0-0-0-0-0';  //男性的初始值	
					$sex = "m";	
					$upid = "init";
				}
				else if ($userdata[user_gender]==2) 
				{
					$tempequip = '0-0-0-0-0-0-0-0-initf-initf-0-initf-0-initf-initf-0-0-0-initf-0-0-0-0-0-0-0'; //女性的初始值		
					$sex = "f";	
					$upid = "initf";
				}
				$userwearip = '400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400';//商品的過期屬性\r
				$cookiearray = split('-', $tempequip);
				$weararray = split('-', $userwearip);
				$sql="SELECT * FROM week9_userdata where userid = ".$user_id." and dafaultuse = '1' and (face_fitherd = '$sex' or face_fitherd = 't')";
				if( !($facecookie = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, 'Could not query week9_userdata', '', __LINE__, __FILE__, $sql);
				}
				while ($usercaifu = $db->sql_fetchrow($facecookie))
				{	
					$tempi = $usercaifu[classid];
					$cookiearray[$tempi] = $usercaifu[facepicid];
					$face_weardate = floor($usercaifu[face_wear] - (time() - $usercaifu[buydata])/8640);
					if ($face_weardate <= 0)
					{
						$db->sql_query("UPDATE week9_userdata SET dafaultuse = '3' WHERE userid=".$user_id." and facepicid = '$usercaifu[facepicid]' and classid= '$usercaifu[classid]' and dafaultuse='1'");
						if($usercaifu[classid] == 8||$usercaifu[classid]==9||$usercaifu[classid]==11||$usercaifu[classid]==13||$usercaifu[classid]==14||$usercaifu[classid]==18)
						{
							$userupid = $upid;
						}
						else
						{
							$userupid = "0";
						}
						$weararray[$tempi] = $userupid;
					}
					else
					{
						$weararray[$tempi] = $face_weardate;
					}
				}
				$db->sql_freeresult($facecookie);
				$userface = implode("-", $cookiearray);
				$userwear = implode("-", $weararray);
				$avatar_img = "
					<!-- 虛擬形象?#125;始-->
					<DIV id=Show
						  style=\"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 140px; PADDING-TOP: 0px; POSITION: relative; TOP: 0px; HEIGHT: 226px\"></DIV>
					
					<SCRIPT language=JavaScript>
					var currface = \"$userface\";
					var currwear = \"$userwear\";
					start_face(0);
					</SCRIPT>
					<!-- 虛擬形象結束-->
					";
				//###### end 虛擬形象 #####
				break;
#
#-----[ OPEN ]-----
#
templates/YOUR_THEME/profile_add_body.tpl

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

代碼: 選擇全部

<table border="0" cellpadding="3" cellspacing="1" width="100%" class="forumline">
#
#-----[ BEFFORE, ADD ]-----
# ps. 若找不到上述代碼, 則可以將下列代碼放在最頂端\r

代碼: 選擇全部

<script language="JavaScript" src="face_js.js"></script>
#
#-----[ SAVE & CLOSE ]-----
#
#EoM

發表於 : 2005-12-17 22:41
bsmouse
心靈大大....我參照你說的改了!!
可是...在個人資料區塊中還是無法顯示虛擬形象??
另外...請教一下,我修改該區塊後端程式-system_users.php之後,我卻找不到該插
入<script language="JavaScript" src="face_js.js"></script>的頁面,到底該\r
插入在哪個頁面的開始位置呢??
會有這個問題就是因為我看face外掛的安裝說明中,幾乎每個php檔的修改都會對
應修改一支tpl的檔案,但是BCP的區塊用的php程式的對應tpl檔我卻找不到,我看您\r
的首頁好像也有裝BCP雖然不知道是不是我用的那個bcp但是看起來差不多,您的
頁面好像就可以顯示虛擬形象的樣子,我附上我修改後的system_users.php給您\r
參考好了!!

代碼: 選擇全部

<?
/***************************************************************************
*                             system_user.php
*                           -------------------
*   begin                : Friday, Jan 3, 2003
*   copyright            : (C) CRLin
*   url                  : http://web.dhjh.tcc.edu.tw/~gzqbyr/Hestia/
*
****************************************************************************/

/***************************************************************************
*	WARNING: This script free for non-commercial uses.
****************************************************************************/

/***************************************************************************
*	You may not change or alter any portion of this comment or credits
*	of supporting developers from this source code or any supporting
*	source code which is considered copyrighted (c) material of the
*	original comment or credit authors.
****************************************************************************/
if ( !defined('IN_PHPBB') )
{
	die("Hacking attempt");
}

if( $userdata['session_logged_in'] )
{
	//
	// Avatar On Index MOD
	//
	
	$avatar_bcp_img = '';
	if ( $userdata['user_avatar_type'] && $userdata['user_allowavatar'] )
	{
		switch( $userdata['user_avatar_type'] )
		{
			case USER_AVATAR_UPLOAD:
				$avatar_bcp_img = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $userdata['user_avatar'] . '" alt="" border="0" />' : '';
				break;
			case USER_AVATAR_REMOTE:
				$avatar_bcp_img = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $userdata['user_avatar'] . '" alt="" border="0" />' : '';
				break;
			case USER_AVATAR_GALLERY:
				$avatar_bcp_img = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $userdata['user_avatar'] . '" alt="" border="0" />' : '';
				break;
	 	 	case USER_AVATAR_FACE:
				$profiledata2 = get_userdata($userdata['user_id']);
				//###### begin 虛擬形象 #####
				if ($profiledata2[user_gender]<=0)
				{
					$poster_avatar="";
					//虛擬形象\r
					$userface = "";
					//虛擬形象\r
				} 
				else if ($profiledata2[user_gender]==1)
				{
					$tempequip = '0-0-0-0-0-0-0-0-init-init-0-init-0-init-init-0-0-0-init-0-0-0-0-0-0-0';  //男性的初始值	
					$sex = "m";	
					$upid = "init";
				}
				else if ($profiledata2[user_gender]==2) 
				{
					$tempequip = '0-0-0-0-0-0-0-0-initf-initf-0-initf-0-initf-initf-0-0-0-initf-0-0-0-0-0-0-0'; //女性的初始值		
					$sex = "f";	
					$upid = "initf";
				}
				$userwearip = '400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400';//商品的過期屬性\r
				$cookiearray = split('-', $tempequip);
				$weararray = split('-', $userwearip);
				$sql="SELECT * FROM week9_userdata where userid = ".$profiledata2['user_id']." and dafaultuse = '1' and (face_fitherd = '$sex' or face_fitherd = 't')";
				if( !($facecookie = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, 'Could not query week9_userdata', '', __LINE__, __FILE__, $sql);
				}
				while ($usercaifu = $db->sql_fetchrow($facecookie))
				{	
					$tempi = $usercaifu[classid];
					$cookiearray[$tempi] = $usercaifu[facepicid];
					$face_weardate = floor($usercaifu[face_wear] - (time() - $usercaifu[buydata])/8640);
					if ($face_weardate <= 0)
					{
						$db->sql_query("UPDATE week9_userdata SET dafaultuse = '3' WHERE userid=".$profiledata2['user_id']." and facepicid = '$usercaifu[facepicid]' and classid= '$usercaifu[classid]' and dafaultuse='1'");
						if($usercaifu[classid] == 8||$usercaifu[classid]==9||$usercaifu[classid]==11||$usercaifu[classid]==13||$usercaifu[classid]==14||$usercaifu[classid]==18)
						{
							$userupid = $upid;
						}
						else
						{
							$userupid = "0";
						}
						$weararray[$tempi] = $userupid;
					}
					else
					{
						$weararray[$tempi] = $face_weardate;
					}
				}
				$db->sql_freeresult($facecookie);
				$userface = implode("-", $cookiearray);
				$userwear = implode("-", $weararray);
				$avatar_img = "
					<!-- 虛擬形象?#125;始-->
					<DIV id=Show
						  style=\"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 140px; PADDING-TOP: 0px; POSITION: relative; TOP: 0px; HEIGHT: 226px\"></DIV>
					
					<SCRIPT language=JavaScript>
					var currface = \"$userface\";
					var currwear = \"$userwear\";
					start_face(0);
					</SCRIPT>
					<!-- 虛擬形象結束-->
					";
				//###### end 虛擬形象 #####
				break;

		}
	}
	//
	// END: Avatar On Index MOD
	//
	$bcp_content =	"<div align=\"center\"><br />" . $avatar_bcp_img ."<br><br>";
	$bcp_content .= '<center><span style="filter: glow(color=blue,strength=3); height:13px; color:lightgreen; padding:3px; font-size : 13px"><b>' . $userdata['username'] .'</b></span><br>';
	$profiledata1 = get_userdata($userdata['user_id']); 

  $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); 
  } 

  $ranksrow1 = array(); 
  while ( $row = $db->sql_fetchrow($result) ) 
  { 
  	$ranksrow1[] = $row; 
  } 
  $db->sql_freeresult($result); 
\r
  $poster_rank1 = ''; 
  $rank_image1 = ''; 
  if ( $profiledata1['user_rank'] ) 
  { 
     for($i = 0; $i < count($ranksrow1); $i++) 
     { 
        if ( $profiledata1['user_rank'] == $ranksrow1[$i]['rank_id'] && $ranksrow1[$i]['rank_special'] ) 
        { 
           $poster_rank1 = $ranksrow1[$i]['rank_title']; 
           $rank_image1 = ( $ranksrow1[$i]['rank_image'] ) ? '<img src="' . $ranksrow1[$i]['rank_image'] . '" alt="' . $poster_rank1 . '" title="' . $poster_rank1 . '" border="0" /><br />' : ''; 
        } 
     } 
  } 
  else 
  { 
     for($i = 0; $i < count($ranksrow1); $i++) 
     { 
        if ( $profiledata1['user_posts'] >= $ranksrow1[$i]['rank_min'] && !$ranksrow1[$i]['rank_special'] ) 
        { 
           $poster_rank1 = $ranksrow1[$i]['rank_title']; 
           $rank_image1 = ( $ranksrow1[$i]['rank_image'] ) ? '<img src="' . $ranksrow1[$i]['rank_image'] . '" alt="' . $poster_rank1 . '" title="' . $poster_rank1 . '" border="0" /><br />' : ''; 
        } 
     } 
  } 
  $bcp_content .= $poster_rank1 . '<br>' . $rank_image1 . '<br>'; 
  $bcp_content .= $lang['Total_posts'] . ': ' . $profiledata1['user_posts'] . '<br>'; 
  if (function_exists('get_html_translation_table')) 
  { 
     $u_search_author1 = urlencode(strtr($profiledata1['username'], array_flip(get_html_translation_table(HTML_ENTITIES)))); 
  } 
  else 
  { 
     $u_search_author1 = urlencode(str_replace(array('&', '', '"', '<', '>'), array('&', "'", '"', '<', '>'), $profiledata1['username']));
  } 
  $regdate = create_date($lang['DATE_FORMAT'], $profiledata1['user_regdate'], $board_config['board_timezone']); 
  $bcp_content .= $lang['Joined'] . ': ' . $regdate . '<br>';
	$bcp_content .= '<a href="'.$u_login_logout.'" '.$BCP_CLASS.'>' . $lang['Logout'] . '</a><br>';
	$bcp_content .= '<a href="' . append_sid("profile.$phpEx?mode=editprofile&" . $userdata['user_id']) . '" '.$BCP_CLASS.'>' . $lang['Profile'] . '</a>';
	$bcp_content .= '<br><a href="' . append_sid('privmsg.'.$phpEx.'?folder=inbox') . '" '.$BCP_CLASS.'>' . $l_privmsgs_text . '</a>';
	$bcp_content .= '</div><br>';
	$bcp_content .= '<span ' . $BCP_CLASS . ' align="left">' . sprintf($lang['You_last_visit'], $s_last_visit) . '</span><br>';
	$bcp_content .= '<br><b><span style="filter: height:13px; color:blue; padding:3px; font-size : 13px">' . $bcp_lang['Points'] . ': ' .$profiledata1['user_points'] . '</span></b>'; 
	$bcp_content .= '<br><b><span style="filter: height:13px; color:red; padding:3px; font-size : 13px">' . $bcp_lang['Money'] . ': ' .$profiledata1['user_money'] . '</span></b>'; 
}

?>
看看是不是我哪裡有改錯??
另外再請教一個問題,為何我啟用我的虛擬形象後,點選會員列表,在點選其他會員\r
去檢視他的資料,顯示出來的頁面中的頭像卻是我的虛擬形象??如果關閉虛擬形
象,那個位置又會顯示出正確的被檢視會員的設定頭像;但是這樣的狀況下,該頁面\r
中其他欄位的資料又都正確的顯示出被檢視者的資料,是我哪裡改錯嗎?

發表於 : 2005-12-18 08:12
心靈捕手
我應該是誤會您的意思了.

我以為您是單純要在" 個人資料" 的頁面( profile_add_body.tpl) 顯示虛擬形象而已.

建議您:
1. 貼出" BCP" 外掛參考連結( 我沒有安裝).
2. 如果這是後端程式, 那麼您必須找到它對應的 *.tpl 後, 加上 face_js.js
而且依照個人經驗, 還得修改 face_js.js 的相關路徑.
3. 針對您貼出修改後的 system_user.php 提出修正\r
#
#-----[ FIND]-----
#

代碼: 選擇全部

            $avatar_img = "
#
#-----[ REPLACE WITH ]-----
#

代碼: 選擇全部

            $avatar_bcp_img = "
4. 您提到的情況, 我的論壇並沒有出現\r
請貼出您的 include/usercp_viewprofile.php
ps. 將它另存成文字檔後, 再貼出下載路徑即可.

發表於 : 2005-12-18 23:56
bsmouse
恩!!多謝心靈老大你的幫忙!!我在bcp區塊中可以顯示虛擬圖像了!! :mrgreen:
至於另外一個問題,我的usercp_viewprofile.php如下檔:
http://bsmouse.yi.org/phpbb2/usercp_viewprofile.txt

不過...心靈老大...我bcp區塊中顯示虛擬圖像的問題一解決後,那個檢視其他會員\r
個人資料的頁面的問題變了耶!! :-o
變成只要是在檢視個人資料的頁面不論檢視誰的(即使檢視自己的)都一樣,bcp區塊的虛擬形象就變成一個虛擬圖像大小的空白耶!!
由於我有裝profile guest book,原先bcp的有問題的時候那裡都還可以顯示出有用\r
虛擬形象的頭像,這次把bcp區塊問題一改後,變成跟點入檢視會員資料頁面時,bcp
區塊變回空白一樣,也是劉一個虛擬形象大小的空白,我已經被這個狀況搞昏了!!
:-(
我測試過,在bcp區塊後端的程式中再把您這次提醒我改的變數增加一組進去,但是\r
把$avatar_bcp_img改回$avatar_img,如下:

代碼: 選擇全部

$avatar_img = "
					<!-- 虛擬形象?#125;始-->
					<DIV id=Show
						  style=\"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 140px; PADDING-TOP: 0px; POSITION: relative; TOP: 0px; HEIGHT: 226px\"></DIV>
					
					<SCRIPT language=JavaScript>
					var currface = \"$userface\";
					var currwear = \"$userwear\";
					start_face(0);
					</SCRIPT>
					<!-- 虛擬形象結束-->
					";
				$avatar_bcp_img = "
					<!-- 虛擬形象?#125;始-->
					<DIV id=Show
						  style=\"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 140px; PADDING-TOP: 0px; POSITION: relative; TOP: 0px; HEIGHT: 226px\"></DIV>
\n					
					<SCRIPT language=JavaScript>
					var currface = \"$userface\";
					var currwear = \"$userwear\";
					start_face(0);
					</SCRIPT>
					<!-- 虛擬形象結束-->
					";
檢視個人資料的頁面就變回原來的問題了... :-|
但是這樣改,在首頁的時候bcp個人資料區塊是可以顯示出虛擬形象的!!
還是請心靈老大幫我看看吧!!
如果心靈老大覺得我說得很亂(我自己都這樣覺得!!)請用下面的測試帳號試試看!!
我的網址:http://bsmouse.yi.org/
測試帳號:test
密碼:123456
我已經開啟了這個帳號的虛擬形象供您測試了!!
麻煩囉!! :lol:

發表於 : 2005-12-19 11:53
心靈捕手
老實說, 回答您的問題, 我有點" 瞎子摸象" 的感覺.

因為我根本不曉得究竟甚麼是" BCP"?
也不清楚您上頭貼的 system_users.php 究竟如何運作?

--
剛才拜訪您的論壇,
利用測試帳號登入後, 檢視其他會員資料, 的確通通出現,
測試帳號的虛擬形象;

而利用訪客身分檢視時, 則是無法顯示其他會員的虛擬形象,
同時也出現網頁錯誤.

--
我檢視您的 usercp_viewprofile.php 並無發現異狀.

我猜想:
根本問題, 還是出在 system_users.php 的修改;
或者是您自己有變更 face_js.js 的相關路逕, 而沒有處理好,
導致後台正常, 反而檢視會員資料時出錯.

--
建議您:
貼出" BCP" 外掛參考連結, 方便我安裝測試.

發表於 : 2005-12-19 13:40
bsmouse
心靈老大辛苦了!!很不好意思!!
昨天晚上回文的時候本來就要貼BCP給您...一時給他忘了說!! :-|
補貼給您參考!!
http://bsmouse.yi.org/phpbb2/BCP-100.zip
多謝心靈老大一直不厭其煩的幫我找問題!!小弟真真感激您!! :mrgreen:

發表於 : 2005-12-19 23:48
心靈捕手
這個外掛主要是增設一個入口網站
而可以由後台新增編輯區塊

因為我的論壇已經有使用 ezPortal
所以我將此外掛在測試論壇進行測試

比較麻煩的是我必須先安裝 Face Mod
而安裝 Face Mod 又必須先安裝 Cash Mod 以及 Gender Mod

稍加思考後, 我還是決定" 潦落去"

--
目前在測試論壇發現\r
如果依照您上頭修改 system_user.php 的語法
那麼在檢視會員個人資料時該會員的虛擬形象的確會出現瀏覽者的虛擬形象\r

針對這部份( system_user.php), 以下的修改, 提供您參考:
#
#-----[ FIND ]-----
#

代碼: 選擇全部

           case USER_AVATAR_FACE: 
            $profiledata2 = get_userdata($userdata['user_id']); 
            //###### begin 虛擬形象 ##### 
            if ($profiledata2[user_gender]<=0) 
            { 
               $poster_avatar=""; 
               //虛擬形象 
               $userface = ""; 
               //虛擬形象 
            } 
            else if ($profiledata2[user_gender]==1) 
            { 
               $tempequip = '0-0-0-0-0-0-0-0-init-init-0-init-0-init-init-0-0-0-init-0-0-0-0-0-0-0';  //男性的初始值    
               $sex = "m";    
               $upid = "init"; 
            } 
            else if ($profiledata2[user_gender]==2) 
            { 
               $tempequip = '0-0-0-0-0-0-0-0-initf-initf-0-initf-0-initf-initf-0-0-0-initf-0-0-0-0-0-0-0'; //女性的初始值       
               $sex = "f";    
               $upid = "initf"; 
            } 
            $userwearip = '400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400';//商品的過期屬性 
            $cookiearray = split('-', $tempequip); 
            $weararray = split('-', $userwearip); 
            $sql="SELECT * FROM week9_userdata where userid = ".$profiledata2['user_id']." and dafaultuse = '1' and (face_fitherd = '$sex' or face_fitherd = 't')"; 
            if( !($facecookie = $db->sql_query($sql)) ) 
            { 
               message_die(GENERAL_ERROR, 'Could not query week9_userdata', '', __LINE__, __FILE__, $sql); 
            } 
            while ($usercaifu = $db->sql_fetchrow($facecookie)) 
            {    
               $tempi = $usercaifu[classid]; 
               $cookiearray[$tempi] = $usercaifu[facepicid]; 
               $face_weardate = floor($usercaifu[face_wear] - (time() - $usercaifu[buydata])/8640); 
               if ($face_weardate <= 0) 
               { 
                  $db->sql_query("UPDATE week9_userdata SET dafaultuse = '3' WHERE userid=".$profiledata2['user_id']." and facepicid = '$usercaifu[facepicid]' and classid= '$usercaifu[classid]' and dafaultuse='1'"); 
                  if($usercaifu[classid] == 8||$usercaifu[classid]==9||$usercaifu[classid]==11||$usercaifu[classid]==13||$usercaifu[classid]==14||$usercaifu[classid]==18) 
                  { 
                     $userupid = $upid; 
                  } 
                  else \r
                  { 
                     $userupid = "0"; 
                  } 
                  $weararray[$tempi] = $userupid; 
               } 
               else 
               { 
                  $weararray[$tempi] = $face_weardate; 
               } 
            } 
            $db->sql_freeresult($facecookie); 
            $userface = implode("-", $cookiearray); 
            $userwear = implode("-", $weararray); 
            $avatar_img = " 
               <!-- 虛擬形象?#125;始--> 
               <DIV id=Show 
                    style=\"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 140px; PADDING-TOP: 0px; POSITION: relative; TOP: 0px; HEIGHT: 226px\"></DIV> 
                
               <SCRIPT language=JavaScript> 
               var currface = \"$userface\"; 
               var currwear = \"$userwear\"; 
               start_face(0); 
               </SCRIPT> 
               <!-- 虛擬形象結束--> 
               "; 
            //###### end 虛擬形象 ##### 
            break;
#
#-----[ REPLACE WITH ]-----
#

代碼: 選擇全部

			case USER_AVATAR_FACE:
				//###### begin 虛擬形象 #####
				if ($userdata[user_gender]<=0)
				{
					$poster_avatar="";
					//虛擬形象\r
					$userface = "";
					//虛擬形象\r
				} 
				else if ($userdata[user_gender]==1)
				{
					$tempequip = '0-0-0-0-0-0-0-0-init-init-0-init-0-init-init-0-0-0-init-0-0-0-0-0-0-0';  //男性的初始值	
					$sex = "m";	
					$upid = "init";
				}
				else if ($userdata[user_gender]==2) 
				{
					$tempequip = '0-0-0-0-0-0-0-0-initf-initf-0-initf-0-initf-initf-0-0-0-initf-0-0-0-0-0-0-0'; //女性的初始值		
					$sex = "f";	
					$upid = "initf";
				}
				$userwearip = '400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400';//商品的過期屬性\r
				$cookiearray = split('-', $tempequip);
				$weararray = split('-', $userwearip);
				$sql="SELECT * FROM week9_userdata where userid = ".$userdata['user_id']." and dafaultuse = '1' and (face_fitherd = '$sex' or face_fitherd = 't')";
				if( !($result = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, 'Could not query week9_userdata', '', __LINE__, __FILE__, $sql);
				}
				while ($usercaifu = $db->sql_fetchrow($$result))
				{	
					$tempi = $usercaifu[classid];
					$cookiearray[$tempi] = $usercaifu[facepicid];
					$face_weardate = floor($usercaifu[face_wear] - (time() - $usercaifu[buydata])/8640);
					if ($face_weardate <= 0)
					{
						$db->sql_query("UPDATE week9_userdata SET dafaultuse = '3' WHERE userid=".$userdata['user_id']." and facepicid = '$usercaifu[facepicid]' and classid= '$usercaifu[classid]' and dafaultuse='1'");
						if($usercaifu[classid] == 8||$usercaifu[classid]==9||$usercaifu[classid]==11||$usercaifu[classid]==13||$usercaifu[classid]==14||$usercaifu[classid]==18)
						{
							$userupid = $upid;
						}
						else
						{
							$userupid = "0";
						}
						$weararray[$tempi] = $userupid;
					}
					else
					{
						$weararray[$tempi] = $face_weardate;
					}
				}
				$db->sql_freeresult($result);
				$userface = implode("-", $cookiearray);
				$userwear = implode("-", $weararray);
				$avatar_bcp_img = "
					<!-- 虛擬形象?#125;始-->
					<DIV id=Show
						  style=\"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 140px; PADDING-TOP: 0px; POSITION: relative; TOP: 0px; HEIGHT: 226px\"></DIV>
					
					<SCRIPT language=JavaScript>
					var currface = \"$userface\";
					var currwear = \"$userwear\";
					start_face($face);
					</SCRIPT>
					<!-- 虛擬形象結束-->
					";
				$face++;
				//###### end 虛擬形象 #####
				break;
目前碰到的難題是:
當瀏覽者( 已登入且啟用虛擬形象)在檢視, 同樣有啟用虛擬形象的會員個人資料時,
( 右邊) 個人資料區塊, 瀏覽者的虛擬形象是無法顯示的;

若是檢視, 沒有啟用虛擬形象的會員個人資料時,
則( 右邊) 個人資料區塊, 瀏覽者的虛擬形象便可正常顯示.

--
我猜想:
這部份會不會是 *.js 本身的衝突呢?

--
我個人以為, 就我使用 ezPortal 的經驗,
當進入討論區時, 左右兩邊的區塊就不見了;

但是這個外掛, 卻得自行加以" 隱藏" ,
否則左右兩邊的區塊一直存在著( 老實說, 不太需要) .

--
測試論壇:
http://wang5555.dnsfor.me/test/phpbb2/index.php

測試帳號: goodluck
測試密碼: 12345678

發表於 : 2005-12-20 06:36
心靈捕手
抱歉!
修正上一篇回文取代成一個地方:
#
#-----[ FIND ]-----
#

代碼: 選擇全部

start_face($face);
#
#-----[ REPLACE WITH ]-----
#

代碼: 選擇全部

start_face(0);
ps. 丟一個虛擬形象完整包到" 非官方推薦外掛" 版面.
http://phpbb-tw.net/phpbb/viewtopic.php?p=220735#220735

發表於 : 2005-12-20 10:13
bsmouse
心靈老大您這次的建議我改進去了!!
不過我的狀況跟你剛好相反....有用虛擬形象的才都可以顯示...昏
至於BCP的區塊顯示方式,可以在後台設定他是否要全部頁面都顯示\r
不過...想想您所說的...到還真是沒有一定的必要在每頁都顯示!!
現在改的有點亂了!!等時間多些的時候看看是不是換一套style再把外掛一個個照順序裝上....我這次裝的順序有點亂(cash-face-bank)怕是因為這樣的順序導致的問題!!
不過我對您用的ezPortal倒是很有興趣!!ㄎㄎ...改天抓來玩玩!!^^

發表於 : 2005-12-20 11:06
心靈捕手
bsmouse 寫:心靈老大您這次的建議我改進去了!!
不過我的狀況跟你剛好相反....有用虛擬形象的才都可以顯示...昏
至於BCP的區塊顯示方式,可以在後台設定他是否要全部頁面都顯示\r
不過...想想您所說的...到還真是沒有一定的必要在每頁都顯示!!
現在改的有點亂了!!等時間多些的時候看看是不是換一套style再把外掛一個個照順序裝上....我這次裝的順序有點亂(cash-face-bank)怕是因為這樣的順序導致的問題!!
不過我對您用的ezPortal倒是很有興趣!!ㄎㄎ...改天抓來玩玩!!^^
回頭再去查看您的 usercp_viewprofile.php
發現一個錯誤, 建議修正:
#
#-----[ FIND ]-----
#

代碼: 選擇全部

start_face($face); 

#
#-----[ REPLACE WITH ]-----
#

代碼: 選擇全部

start_face(0); 
如果您要使用原來的語法的話\r
那麼您在底下代碼之前

代碼: 選擇全部

$avatar_img = '';
應該要增加下列代碼:

代碼: 選擇全部

$face=0;

發表於 : 2005-12-20 22:44
bsmouse
心靈老大多謝!!這部份的問題我有找出來!!
後來已經修正了!!多謝您的提醒!! :mrgreen: