[閒聊]有人看的懂這段code的值是傳回哪嗎?

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

版主: 版主管理群

竹貓忠實會員
竹貓忠實會員
文章: 1058
註冊時間: 2003-05-15 00:30
來自: Game.Hack-遊戲駭客
聯繫:

[閒聊]有人看的懂這段code的值是傳回哪嗎?

文章 »

這是PCP的某個功能,這邊是選擇要顯示什麼項目的選單,但是基本上我不想讓會員更動,所以我把這個選項的功能刪掉。
但是現在問題來了!預設的選項不是我要的,我本想從資料庫下手!但是這段我怎麼看都看不懂,不知道他值是傳回哪,特來請教各位大大。

代碼: 選擇全部

<script language="JavaScript" type="text/javascript">
<!--
	function ref(object)
	{
		if (document.getElementById)
		{
			return document.getElementById(object);
		}
		else if (document.all)
		{
			return eval('document.all.' + object);
		}
		else
		{
			return false;
		}
	}

	function expand(object)
	{
		var object = ref(object);

		if( !object.style )
		{
			return false;
		}
		else
		{
			object.style.display = '';
		}

		if (window.event)
		{
			window.event.cancelBubble = true;
		}
	}

	function contract(object)
	{
		var object = ref(object);

		if( !object.style )
		{
			return false;
		}
		else
		{
			object.style.display = 'none';
		}

		if (window.event)
		{
			window.event.cancelBubble = true;
		}
	}

	function toggle(object, open_close)
	{
		object = ref(object);
		icone = ref(open_close);

		if( !object.style )
		{
			return false;
		}

		if( object.style.display == 'none' )
		{
			object.style.display = '';
			icone.src = "http://myweb.hinet.net/home3/gamehack/images/bbs/gamehackBlack/icon_up_arrow.gif";
		}
		else
		{
			object.style.display = 'none';
			icone.src = "http://myweb.hinet.net/home3/gamehack/images/bbs/gamehackBlack/icon_down_arrow.gif";
		}
	}
	//
	// checkbox selection management
	function check_uncheck_main()
	{
		var all_checked = true;
		for (i = 0; (i < document.post.elements.length) && all_checked; i++)
		{
			if (document.post.elements[i].name == 'user_ids[]')
			{
				all_checked =  document.post.elements[i].checked;
			}
		}
		document.post.all_mark.checked = all_checked;
	}

	function check_uncheck_all()
	{
		for (i = 0; i < document.post.length; i++)
		{
			if (document.post.elements[i].name == 'user_ids[]')
			{
				document.post.elements[i].checked = document.post.all_mark.checked;
			}
		}
	}
//-->
</script>

<table cellpadding="0" cellspacing="10" border="0" width="100%">
<form name="post" action="profile.php" method="post">
<tr>
	<td valign="top" align="center" colspan="2">
		<table cellpadding="4" cellspacing="1" border="0" class="forumline" width="100%">
		<tr>
			<th width="100%" colspan="5"><a href="#" onClick="toggle('fields_display','open_close'); return false;"><img src="http://myweb.hinet.net/home3/gamehack/images/bbs/gamehackBlack/icon_down_arrow.gif" id="open_close" border="0"></a>  好友列表設定選項</th>
		</tr>
		<tbody id="fields_display" style="display:none">
		<tr>
			<td class="row1" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="0"  checked="checked" />
					 好友
				</span>
			</td>
			<td class="row2" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="1"  checked="checked" />
					 Online
				</span>
			</td>
			<td class="row1" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="2"  checked="checked" />
					 會員名稱\r
				</span>
			</td>
			<td class="row2" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="3"  />
					 私人訊息\r
				</span>
			</td>
			<td class="row1" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="4"  />
					 電子郵件信箱
				</span>
			</td>
		</tr>
		<tr>
			<td class="row2" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="5"  />
					 ICQ 號碼\r
				</span>
			</td>
			<td class="row1" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="6"  />
					 AIM Address
				</span>
			</td>
			<td class="row2" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="7"  />
					 雅虎訊息通
				</span>
			</td>
			<td class="row1" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="8"  />
					 MSN Messenger
				</span>
			</td>
			<td class="row2" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="9"  />
					 註冊時間
				</span>
			</td>
		</tr>
		<tr>
			<td class="row1" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="10"  checked="checked" />
					 最後到訪
				</span>
			</td>
			<td class="row2" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="11"  checked="checked" />
					 總發表數\r
				</span>
			</td>
			<td class="row1" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="27"  />
					 等級
				</span>
			</td>
			<td class="row2" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="12"  />
					 時區設定
				</span>
			</td>
			<td class="row1" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="13"  />
					 語系設定
				</span>
			</td>
		</tr>
		<tr>
			<td class="row2" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="14"  />
					 個人網站
				</span>
			</td>
			<td class="row1" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="15"  />
					 真實姓名
				</span>
			</td>
			<td class="row2" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="16"  />
					 性別\r
				</span>
			</td>
			<td class="row1" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="17"  />
					 生日\r
				</span>
			</td>
			<td class="row2" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="18"  />
					 來自\r
				</span>
			</td>
		</tr>
		<tr>
			<td class="row1" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="19"  />
					 職業
				</span>
			</td>
			<td class="row2" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="20"  />
					 興趣\r
				</span>
			</td>
			<td class="row1" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="21"  />
					 最近在玩\r
				</span>
			</td>
			<td class="row2" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="22"  />
					 最近想玩\r
				</span>
			</td>
			<td class="row1" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="23"  />
					 最喜歡的遊戲\r
				</span>
			</td>
		</tr>
		<tr>
			<td class="row2" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="24"  />
					 最期待的遊戲\r
				</span>
			</td>
			<td class="row1" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="25"  />
					 行動電話
				</span>
			</td>
			<td class="row2" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="26"  />
					 PHS
				</span>
			</td>
			<td class="row1" nowrap="nowrap"><span class="gen"> </span></td>
			<td class="row2" nowrap="nowrap"><span class="gen"> </span></td>
		</tr>
		<tr>
			<td class="catBottom" colspan="5" align="center">
				<input type="hidden" name="mode" value="buddy"><input type="hidden" name="u" value="2"><input type="hidden" name="sid" value="745d75c3d7f1026003a73194d575dac5"><input type="hidden" name="sub" value="friend">
				<input type="submit" name="fields_choosen" value="送出" class="mainoption" />
			</td>
		</tr>
		</tbody>
		</table>
	</td>
</tr>
<tr>
	<td align="left" valign="bottom" nowrap="nowrap">
		<span class="gen">
			選擇:<br />
			<select name="filter"><option value="user_my_friend">好友</option><option value="user_online">Online</option><option value="username" selected="selected">會員名稱</option><option value="user_lastvisit">最後到訪 (AAAAMMJJ)</option><option value="user_posts">總發表數</option></select> 
			<select name="comp"><option value="LE">小於</option><option value="EQ">等於</option><option value="NE">不同於</option><option value="GE">大於</option><option value="IN" selected="selected">包含</option><option value="NI">不包含</option></select> 
			<input type="text" class="gen" name="fvalue" size="20" maxlength="255" value="" /> 
			<input type="submit" name="filter_active" value="Go" class="liteoption" />
		</span>
	</td>
</tr>
<tr>
	<td valign="top" align="center" colspan="2">
		<table cellpadding="4" cellspacing="1" border="0" class="forumline" width="100%">
		<tr>
			<th width="1%" align="center"> # </th>
			<th nowrap="nowrap"> 好友 <a href="profile.php?mode=buddy&sub=friend&filter=username&comp=IN&order=user_my_friend&sort=ASC"><img src="http://myweb.hinet.net/home3/gamehack/images/bbs/gamehackBlack/next.gif" border="0" alt="未排列"></a></th>
			<th nowrap="nowrap"> Online <a href="profile.php?mode=buddy&sub=friend&filter=username&comp=IN&order=user_online&sort=ASC"><img src="http://myweb.hinet.net/home3/gamehack/images/bbs/gamehackBlack/next.gif" border="0" alt="未排列"></a></th>
			<th nowrap="nowrap"> 會員名稱 <a href="profile.php?mode=buddy&sub=friend&filter=username&comp=IN&order=username&sort=DESC"><img src="http://myweb.hinet.net/home3/gamehack/images/bbs/gamehackBlack/icon_down_arrow.gif" border="0" alt="依序遞增"></a></th>
			<th nowrap="nowrap"> 最後到訪 <a href="profile.php?mode=buddy&sub=friend&filter=username&comp=IN&order=user_lastvisit&sort=ASC"><img src="http://myweb.hinet.net/home3/gamehack/images/bbs/gamehackBlack/next.gif" border="0" alt="未排列"></a></th>
			<th nowrap="nowrap"> 總發表數 <a href="profile.php?mode=buddy&sub=friend&filter=username&comp=IN&order=user_posts&sort=ASC"><img src="http://myweb.hinet.net/home3/gamehack/images/bbs/gamehackBlack/next.gif" border="0" alt="未排列"></a></th>
			<th nowrap="nowrap"> <input type="checkbox" name="all_mark" value="選擇" onClick="check_uncheck_all();"> </th>
		</tr>
		<tr>
			<td width="1%" align="center" class="row1"><span class="genmed">1</span></td>
			<td class="row1" align="center"><span class="genmed"><a href="profile.php?mode=buddy&sub=friend&b=18&set=vis"><img src="http://myweb.hinet.net/home3/gamehack/images/bbs/gamehackBlack/icon_not_visible.gif" border="0" alt="當您在隱身的時候,這位會員無法見到您在線上或者獲得您在線上的提示"></a></span></td>
			<td class="row1" align="center"><span class="genmed"><img src="http://myweb.hinet.net/home3/gamehack/images/bbs/gamehackBlack/icon_offline.gif" border="0" align="absbottom" alt="Offline" title="Offline"></span></td>
			<td class="row1" align="center"><span class="genmed"><a href="profile.php?mode=viewprofile&u=18" class="usercolor">水藍‧雲銀川</a></span></td>
			<td class="row1" align="center"><span class="genmed">2003.12/29 - 11:49 pm</span></td>
			<td class="row1" align="center"><span class="genmed">1</span></td>
			<td class="row1" align="center"><input type="checkbox" name="user_ids[]" value="18"   onClick="check_uncheck_main();" /></td>
		</tr>
		<tr>
			<td width="1%" align="center" class="row2"><span class="genmed">2</span></td>
			<td class="row2" align="center"><span class="genmed"><a href="profile.php?mode=buddy&sub=friend&b=3&set=inv"><img src="http://myweb.hinet.net/home3/gamehack/images/bbs/gamehackBlack/icon_visible.gif" border="0" alt="對這位會員總是顯示"></a></span></td>
			<td class="row2" align="center"><span class="genmed"><img src="http://myweb.hinet.net/home3/gamehack/images/bbs/gamehackBlack/icon_offline.gif" border="0" align="absbottom" alt="Offline" title="Offline"></span></td>
			<td class="row2" align="center"><span class="genmed"><a href="profile.php?mode=viewprofile&u=3" class="admincolor">遠</a></span></td>
			<td class="row2" align="center"><span class="genmed">2004.01/03 - 02:08 pm</span></td>
			<td class="row2" align="center"><span class="genmed">25</span></td>
			<td class="row2" align="center"><input type="checkbox" name="user_ids[]" value="3"   onClick="check_uncheck_main();" /></td>
		</tr>
		<tr>
			<td class="catBottom" colspan="7" align="left" valign="top" nowrap="nowrap">
				<span class="genmed">
					<input type="text" class="post" name="username" maxlength="50" size="20" /> 
					<input type="submit" name="adduser" value="增加成員" class="mainoption" /> 
					<input type="submit" name="usersubmit" value="尋找會員名稱" class="liteoption" onClick="window.open('search.php?mode=searchuser', '_phpbbsearch', 'HEIGHT=250,resizable=yes,WIDTH=400');return false;" />
					<input type="submit" name="remove" class="liteoption" value="移除選擇">
				</span>
			</td>
		</tr>
		</table>
	</td>
</tr>
<tr>
	<td align="right" valign="bottom" nowrap="nowrap" colspan="2"><span class="nav"><b></b></span></td>
</tr>
</form>
</table>
有事問問題,沒事答問題。
廣告不是這樣打滴!遊戲駭客
mit
星球公民
星球公民
文章: 247
註冊時間: 2003-10-23 18:26
來自: 壞鄰居社區
聯繫:

文章 mit »

你是指會員個人資料的設定嗎?
比如說新訊息發信通知這個選項好了,
例如你想要讓每個會員都不要發信通知,
於是把這個選項從.tpl裡拿掉,
但是卻發現預設是新訊息「有」發信通知... 是這樣嗎?

我記得我改過那個預設的選項,
是改usercp_register.php裡的:

代碼: 選擇全部

	$viewemail = ( isset($HTTP_POST_VARS['viewemail']) ) ? ( ($HTTP_POST_VARS['viewemail']) ? TRUE : 0 ) : 0;
	$allowviewonline = ( isset($HTTP_POST_VARS['hideonline']) ) ? ( ($HTTP_POST_VARS['hideonline']) ? 0 : TRUE ) : TRUE;
	$notifyreply = ( isset($HTTP_POST_VARS['notifyreply']) ) ? ( ($HTTP_POST_VARS['notifyreply']) ? TRUE : 0 ) : 0;
	$notifypm = ( isset($HTTP_POST_VARS['notifypm']) ) ? ( ($HTTP_POST_VARS['notifypm']) ? TRUE : 0 ) : 0;
	$popup_pm = ( isset($HTTP_POST_VARS['popup_pm']) ) ? ( ($HTTP_POST_VARS['popup_pm']) ? TRUE : 0 ) : TRUE;
最後分號;前面的TRUE或0就是預設值。
true的話是「有選」
0的話是「沒有選」

不過我還是要強調我沒裝過pcp完全不知道它改過哪邊,
所以以上僅供參考~ :-o
圖檔
mit
星球公民
星球公民
文章: 247
註冊時間: 2003-10-23 18:26
來自: 壞鄰居社區
聯繫:

文章 mit »

順道一提的是,你提供的那段程式碼只有一堆javascript和下面一些看起來好像是pcp的table,
我想控制選項的預設值的應該跟那段程式碼沒關係吧....
圖檔
竹貓忠實會員
竹貓忠實會員
文章: 1058
註冊時間: 2003-05-15 00:30
來自: Game.Hack-遊戲駭客
聯繫:

文章 »

mit 寫:順道一提的是,你提供的那段程式碼只有一堆javascript和下面一些看起來好像是pcp的table,
我想控制選項的預設值的應該跟那段程式碼沒關係吧....
對阿!我是要知道是傳回哪個資料表格~
不然我怎麼知道要更改哪個資料表格...!
唉...不知道怎麼講耶...MIT大你有MSN嗎?
邊講邊給你看因該會比較好說明問題。
有事問問題,沒事答問題。
廣告不是這樣打滴!遊戲駭客
mit
星球公民
星球公民
文章: 247
註冊時間: 2003-10-23 18:26
來自: 壞鄰居社區
聯繫:

文章 mit »

文 寫:對阿!我是要知道是傳回哪個資料表格~
不然我怎麼知道要更改哪個資料表格...!
唉...不知道怎麼講耶...MIT大你有MSN嗎?
邊講邊給你看因該會比較好說明問題。
呃...不用了啦\r
你還是等等看有沒有知道你問題所在的大大好了~

(歹勢,其實我有難言之隱啊..XD...:oops: )
圖檔
竹貓忠實會員
竹貓忠實會員
文章: 1058
註冊時間: 2003-05-15 00:30
來自: Game.Hack-遊戲駭客
聯繫:

文章 »

mit 寫:
文 寫:對阿!我是要知道是傳回哪個資料表格~
不然我怎麼知道要更改哪個資料表格...!
唉...不知道怎麼講耶...MIT大你有MSN嗎?
邊講邊給你看因該會比較好說明問題。
呃...不用了啦\r
你還是等等看有沒有知道你問題所在的大大好了~

(歹勢,其實我有難言之隱啊..XD...:oops: )
了解^^|| 感謝~
有事問問題,沒事答問題。
廣告不是這樣打滴!遊戲駭客
GeniusKiKi
竹貓忠實會員
竹貓忠實會員
文章: 1086
註冊時間: 2003-10-28 14:50

文章 GeniusKiKi »

節錄某段程式碼\r
<input type="hidden" name="mode" value="buddy">
其中紅色的 hidden 就代表這個選項是隱藏的
如果你要某些東西使用者不能動
你可以考慮把他設成隱藏
然後數值直接設定你想要的值\r
這樣也許會比較快
再也不當爛好人...
好人是小白轉型成大白的墊腳石...
mit
星球公民
星球公民
文章: 247
註冊時間: 2003-10-23 18:26
來自: 壞鄰居社區
聯繫:

文章 mit »

GeniusKiKi 寫:節錄某段程式碼\r
<input type="hidden" name="mode" value="buddy">
其中紅色的 hidden 就代表這個選項是隱藏的
如果你要某些東西使用者不能動
你可以考慮把他設成隱藏
然後數值直接設定你想要的值\r
這樣也許會比較快
偏偏那個預設值不是 文要的啊~
總不能每次有新會員註冊都要親自用SQL幫他改資料吧....

後面的我就不懂了....(逃~(ro06) )
圖檔
竹貓忠實會員
竹貓忠實會員
文章: 1058
註冊時間: 2003-05-15 00:30
來自: Game.Hack-遊戲駭客
聯繫:

文章 »

我再重新敘述一次我的問題好了!例如現在有ABCDE這五個選項
而這五個選項的功能就是!若你選擇ACD,就會顯示ACD這三個類型的內容

現在我的問題是!我不想讓會員能自己設定,我只要會員勾選BCD這三個類型,
我本來想從SQL下手,但我不知道哪個資料表格是紀錄會員的設定值\r
我也重新看過當時安裝PCP時所執行的SQL...但似乎...看不懂~"~
有事問問題,沒事答問題。
廣告不是這樣打滴!遊戲駭客
aiken
竹貓忠實會員
竹貓忠實會員
文章: 1514
註冊時間: 2003-11-09 11:02
來自: 大頭真論壇
聯繫:

文章 aiken »

<input type="hidden" name="mode" value="buddy">
把這邊的預設值改成你要的不行嗎?
竹貓忠實會員
竹貓忠實會員
文章: 1058
註冊時間: 2003-05-15 00:30
來自: Game.Hack-遊戲駭客
聯繫:

文章 »

aiken 寫:<input type="hidden" name="mode" value="buddy">
把這邊的預設值改成你要的不行嗎?
不是不行...重點是他的TPL長這樣子...我根本不知從何下手 :-?

代碼: 選擇全部

<script language="JavaScript" type="text/javascript">
<!--
	function ref(object)
	{
		if (document.getElementById)
		{
			return document.getElementById(object);
		}
		else if (document.all)
		{
			return eval('document.all.' + object);
		}
		else
		{
			return false;
		}
	}

	function expand(object)
	{
		var object = ref(object);
	
		if( !object.style )
		{
			return false;
		}
		else
		{
			object.style.display = '';
		}

		if (window.event)
		{
			window.event.cancelBubble = true;
		}
	}

	function contract(object)
	{
		var object = ref(object);
	
		if( !object.style )
		{
			return false;
		}
		else
		{
			object.style.display = 'none';
		}

		if (window.event)
		{
			window.event.cancelBubble = true;
		}
	}

	function toggle(object, open_close)
	{
		object = ref(object);
		icone = ref(open_close);

		if( !object.style )
		{
			return false;
		}

		if( object.style.display == 'none' )
		{
			object.style.display = '';
			icone.src = "{UP_ARROW}";
		}
		else
		{
			object.style.display = 'none';
			icone.src = "{DOWN_ARROW}";
		}
	}
	//
	// checkbox selection management
	function check_uncheck_main()
	{
		var all_checked = true;
		for (i = 0; (i < document.post.elements.length) && all_checked; i++)
		{
			if (document.post.elements[i].name == 'user_ids[]')
			{
				all_checked =  document.post.elements[i].checked;
			}
		}
		document.post.all_mark.checked = all_checked;
	}

	function check_uncheck_all()
	{
		for (i = 0; i < document.post.length; i++)
		{
			if (document.post.elements[i].name == 'user_ids[]')
			{
				document.post.elements[i].checked = document.post.all_mark.checked;
			}
		}
	}
//-->
</script>

<table cellpadding="0" cellspacing="10" border="0" width="100%">
<form name="post" action="{S_PROFILCP_ACTION}" method="post">
<tr>
	<td valign="top" align="center" colspan="2">
		<table cellpadding="4" cellspacing="1" border="0" class="forumline" width="100%">
		<tr>
			<th width="100%" colspan="{COLSPAN}"><a href="#" onClick="toggle('fields_display','open_close'); return false;"><img src="{DOWN_ARROW}" id="open_close" border="0"></a>  {L_USER_FIELDS}</th>
		</tr>
		<tbody id="fields_display" style="display:none">
		<!-- BEGIN userfields_row -->
		<tr>
			<!-- BEGIN userfields_cell -->
			<td class="{userfields_row.userfields_cell.CLASS}" nowrap="nowrap">
				<span class="genmed">
					<input type="checkbox" name="field_ids[]" value="{userfields_row.userfields_cell.FIELD_ID}" {userfields_row.userfields_cell.CHECKED} />
					 {userfields_row.userfields_cell.FIELDS}
				</span>
			</td>
			<!-- END userfields_cell -->
			<!-- BEGIN userfields_cell_empty -->
			<td class="{userfields_row.userfields_cell_empty.CLASS}" nowrap="nowrap"><span class="gen"> </span></td>
			<!-- END userfields_cell_empty -->
		</tr>
		<!-- END userfields_row -->
		<tr> 
			<td class="catBottom" colspan="{COLSPAN}" align="center">
				{S_HIDDEN_FIELDS} 
				<input type="submit" name="fields_choosen" value="{L_SUBMIT}" class="mainoption" />
			</td>
		</tr>
		</tbody>
		</table>
	</td>
</tr>
<tr>
	<td align="left" valign="bottom" nowrap="nowrap">
		<span class="gen">
			{L_FILTER_FIELDS}:
			{S_FILTER_FIELDS} 
			{S_COMP}  
			<input type="text" class="gen" name="fvalue" size="20" maxlength="255" value="{FILTER}" /> 
			<input type="submit" name="filter_active" value="{L_GO}" class="liteoption" />
		</span>
	</td>
</tr>
<tr>
	<td valign="top" align="center" colspan="2">
		<table cellpadding="4" cellspacing="1" border="0" class="forumline" width="100%">
		<tr>
			<th width="1%" align="center"> # </th>
			<!-- BEGIN header_list -->
			<th nowrap="nowrap"> {header_list.L_FIELD} {header_list.ICON_SORT}</th>
			<!-- END header_list -->
			<!-- BEGIN select -->
			<th nowrap="nowrap"> <input type="checkbox" name="all_mark" value="{L_SELECT}" onClick="check_uncheck_all();"> </th>
			<!-- END select -->
		</tr>
		<!-- BEGIN userrow -->
		<tr>
			<td width="1%" align="center" class="{userrow.CLASS}"><span class="genmed">{userrow.NUMBER}</span></td>
			<!-- BEGIN user_list -->
			<td class="{userrow.CLASS}" align="center"><span class="genmed">{userrow.user_list.FIELD}</span></td>
			<!-- END user_list -->
			<!-- BEGIN select -->
			<td class="{userrow.CLASS}" align="center"><input type="checkbox" name="user_ids[]" value="{userrow.select.USER_ID}" {userrow.select.CHECKED}  onClick="check_uncheck_main();" /></td>
			<!-- END select -->
		</tr>
		<!-- END userrow -->
		<!-- BEGIN select -->
		<tr>
			<td class="catBottom" colspan="{ROW_SPAN}" align="left" valign="top" nowrap="nowrap">
				<span class="genmed">
					<input type="text" class="post" name="username" maxlength="50" size="20" /> 
					<input type="submit" name="adduser" value="{L_ADD_MEMBER}" class="mainoption" /> 
					<input type="submit" name="usersubmit" value="{L_FIND_USERNAME}" class="liteoption" onClick="window.open('{U_SEARCH_USER}', '_phpbbsearch', 'HEIGHT=250,resizable=yes,WIDTH=400');return false;" />
					<input type="submit" name="remove" class="liteoption" value="{L_REMOVE_SELECTED}">
				</span>
			</td>
		</tr>
		<!-- END select -->
		</table>
	</td>
</tr>
<tr>
	<td align="right" valign="bottom" nowrap="nowrap" colspan="2"><span class="nav"><b>{PAGINATION}</b></span></td>
</tr>
</form>
</table>
有事問問題,沒事答問題。
廣告不是這樣打滴!遊戲駭客
aiken
竹貓忠實會員
竹貓忠實會員
文章: 1514
註冊時間: 2003-11-09 11:02
來自: 大頭真論壇
聯繫:

文章 aiken »

傻眼中.......
Martinet
竹貓忠實會員
竹貓忠實會員
文章: 850
註冊時間: 2003-06-09 21:58
聯繫:

文章 Martinet »

(爆)對應的php檔借看一下吧..有時直接找這很難搞到滴~"~||
竹貓忠實會員
竹貓忠實會員
文章: 1058
註冊時間: 2003-05-15 00:30
來自: Game.Hack-遊戲駭客
聯繫:

文章 »

profilcp_buddy.php

代碼: 選擇全部

<?php
/***************************************************************************
 *                            profilcp_buddy.php
 *                            ------------------
 *	begin				: 08/05/2003
 *	copyright			: Ptirhiik
 *	email				: admin@rpgnet-fr.com
 *
 *	version				: 1.1.6 - 22/06/2003
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *
 ***************************************************************************/

if ( !defined('IN_PHPBB') )
{
	die('Hacking attempt');
	exit;
}

if( !empty($setmodules) )
{
	$sub_modules = array();

	$sub_modules['mode'][] = 'friend';
	$sub_modules['shortcut'][] = $lang['profilcp_buddy_friend_shortcut'];
	$sub_modules['page_title'][] = $lang['profilcp_buddy_friend_pagetitle'];

	$sub_modules['mode'][] = 'ignore';
	$sub_modules['shortcut'][] = $lang['profilcp_buddy_ignore_shortcut'];
	$sub_modules['page_title'][] = $lang['profilcp_buddy_ignore_pagetitle'];

	$sub_modules['mode'][] = 'memberlist';
	$sub_modules['shortcut'][] = $lang['profilcp_buddy_list_shortcut'];
	$sub_modules['page_title'][] = $lang['profilcp_buddy_list_pagetitle'];

	$file = basename(__FILE__);
	$module['sort'][] = 70;
	$module['url'][] = $file;

	$module['mode'][] = 'buddy';
	$module['shortcut'][] = $lang['profilcp_buddy_shortcut'];
	$module['page_title'][] = $lang['profilcp_buddy_pagetitle'];
	$module['sub'][] = $sub_modules;

	return;
}

// check access
if ( ($userdata['user_id'] != $view_userdata['user_id']) && (!is_admin($userdata) || ($level_prior[get_user_level($userdata)] <= $level_prior[get_user_level($view_userdata)])) ) return;

// list of column
//--------------------------------------------------------------------------------------------------
//
// $max_option : the lenght of the user field user_list_option designed to get the option selected status
// $user_fields array
//		key = name of the field,
//		leg = legend,
//		ind = index in the user_list_option string
//		class = nature of the class field
//		type = type of the field
//
//  fields added :
//
//  last field pos = 27
//
//--------------------------------------------------------------------------------------------------
$max_option = 50;

$user_fields = array(

	// generic info
	'user_my_friend'	=> array( 'leg' => $lang['Friend'],				'ind' =>  0, 'class' => 'special',		'type' => 'TINYINT' ),
	'user_online'		=> array( 'leg' => $lang['Online'],				'ind' =>  1, 'class' => 'special',		'type' => 'TINYINT' ),
	'username'			=> array( 'leg' => $lang['Username'],			'ind' =>  2, 'class' => 'generic',		'type' => 'VARCHAR' ),

	// messangers
	'user_pm'			=> array( 'leg' => $lang['Private_Message'],	'ind' =>  3, 'class' => 'special',		'type' => 'TINYINT' ),
	'user_email'		=> array( 'leg' => $lang['Email_address'],		'ind' =>  4, 'class' => 'email',		'type' => 'VARCHAR' ),
	'user_icq'			=> array( 'leg' => $lang['ICQ'],				'ind' =>  5, 'class' => 'messangers',	'type' => 'VARCHAR' ),
	'user_aim'			=> array( 'leg' => $lang['AIM'],				'ind' =>  6, 'class' => 'messangers',	'type' => 'VARCHAR' ),
	'user_yim'			=> array( 'leg' => $lang['YIM'],				'ind' =>  7, 'class' => 'messangers',	'type' => 'VARCHAR' ),
	'user_msnm'			=> array( 'leg' => $lang['MSNM'],				'ind' =>  8, 'class' => 'messangers',	'type' => 'VARCHAR' ),

	// online info
	'user_regdate'		=> array( 'leg' => $lang['Joined'],				'ind' =>  9, 'class' => 'viewonline',	'type' => 'MEDIUMINT' ),
	'user_lastvisit'	=> array( 'leg' => $lang['Last_visit'],			'ind' => 10, 'class' => 'viewonline',	'type' => 'MEDIUMINT' ),
	'user_posts'		=> array( 'leg' => $lang['Total_posts'],		'ind' => 11, 'class' => 'viewonline',	'type' => 'MEDIUMINT' ),

	// web info
	'user_rank_title'	=> array( 'leg' => $lang['Poster_rank'],		'ind' => 27, 'class' => 'special',		'type' => 'VARCHAR' ),
	'user_timezone'		=> array( 'leg' => $lang['Timezone'],			'ind' => 12, 'class' => 'webdisplay',	'type' => 'MEDIUMINT' ),
	'user_lang'			=> array( 'leg' => $lang['Board_lang'],			'ind' => 13, 'class' => 'webdisplay',	'type' => 'VARCHAR' ),
	'user_website'		=> array( 'leg' => $lang['Website'],			'ind' => 14, 'class' => 'webdisplay',	'type' => 'VARCHAR' ),

	// real info
	'user_realname'		=> array( 'leg' => $lang['Realname'],			'ind' => 15, 'class' => 'real',			'type' => 'VARCHAR' ),
	'user_gender'		=> array( 'leg' => $lang['Gender'],				'ind' => 16, 'class' => 'real',			'type' => 'TINYINT' ),
	'user_birthday'		=> array( 'leg' => $lang['Birthday'],			'ind' => 17, 'class' => 'real',			'type' => 'VARCHAR' ),
	'user_from'			=> array( 'leg' => $lang['Location'],			'ind' => 18, 'class' => 'real',			'type' => 'VARCHAR' ),
	'user_occ'			=> array( 'leg' => $lang['Occupation'],			'ind' => 19, 'class' => 'real',			'type' => 'VARCHAR' ),
	'user_interests'	=> array( 'leg' => $lang['Interests'],			'ind' => 20, 'class' => 'real',			'type' => 'VARCHAR' ),
	'user_home_phone'	=> array( 'leg' => $lang['Home_phone'],			'ind' => 21, 'class' => 'real',			'type' => 'VARCHAR' ),
	'user_home_fax'		=> array( 'leg' => $lang['Home_fax'],			'ind' => 22, 'class' => 'real',			'type' => 'VARCHAR' ),
	'user_work_phone'	=> array( 'leg' => $lang['Work_phone'],			'ind' => 23, 'class' => 'real',			'type' => 'VARCHAR' ),
	'user_work_fax'		=> array( 'leg' => $lang['Work_fax'],			'ind' => 24, 'class' => 'real',			'type' => 'VARCHAR' ),
	'user_cellular'		=> array( 'leg' => $lang['Cellular'],			'ind' => 25, 'class' => 'real',			'type' => 'VARCHAR' ),
	'user_pager'		=> array( 'leg' => $lang['Pager'],				'ind' => 26, 'class' => 'real',			'type' => 'VARCHAR' ),
);

$operators = array(
	'LE' => $lang['Comp_LE'],
	'EQ' => $lang['Comp_EQ'],
	'NE' => $lang['Comp_NE'],
	'GE' => $lang['Comp_GE'],
	'IN' => $lang['Comp_IN'],
	'NI' => $lang['Comp_NI'],
);


// buddy id
$buddy_id = -1;
if ( isset($HTTP_POST_VARS['b']) || isset($HTTP_GET_VARS['b']) )
{
	$buddy_id = isset($HTTP_POST_VARS['b']) ? intval($HTTP_POST_VARS['b']) : intval($HTTP_GET_VARS['b']);
}

// action
$set = '';
if ( isset($HTTP_POST_VARS['set']) || isset($HTTP_GET_VARS['set']) )
{
	$set = isset($HTTP_POST_VARS['set']) ? $HTTP_POST_VARS['set'] : $HTTP_GET_VARS['set'];
}
if ( !in_array($set, array('inv', 'vis', 'add', 'remove')) || ($buddy_id < 0) ) 
{
	$set = '';
	$buddy_id = -1;
}

// check buddy_id
if ($buddy_id > 0)
{
	$sql = "SELECT * FROM " . USERS_TABLE . " WHERE user_id = $buddy_id";
	if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, "Could not get user information", '', __LINE__, __FILE__, $sql);
	if ( !($userrow = $db->sql_fetchrow($result)) )
	{
		$set = '';
		$buddy_id = -1;
		message_die(GENERAL_ERROR, $lang['No_such_user']);
	}
}

// coming from
$from = '';
$l_from = '';
switch ($HTTP_GET_VARS['from'])
{
	case 'profil' :
		$from = append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$buddy_id");
		$l_from = sprintf( $lang['Click_return_profilcp'], '<a href="' . $from . '">', '</a>' );
		break;
	case 'topic' :
		$topic_id = 0;
		if ( isset($HTTP_GET_VARS[POST_TOPICS_URL]) )
		{
			$from = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=" . intval($HTTP_GET_VARS[POST_TOPICS_URL]));
			$l_from = sprintf( $lang['Click_return_topic'], '<a href="' . $from . '">', '</a>' );
		}
		else if ( isset($HTTP_GET_VARS[POST_POST_URL]) )
		{
			$from = append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . intval($HTTP_GET_VARS[POST_POST_URL]) . "#" . intval($HTTP_GET_VARS[POST_POST_URL]));
			$l_from = sprintf( $lang['Click_return_topic'], '<a href="' . $from . '">', '</a>' );
		}
		break;
	case 'privmsg' :
		$from = append_sid("privmsg.$phpEx?mode=read&" . POST_POST_URL . "=" . intval($HTTP_GET_VARS[POST_POST_URL]));
		$l_from = sprintf( $lang['Click_return_privmsg'], '<a href="' . $from . '">', '</a>' );
		break;
	default:
		$from = '';
		$l_from = '';
		break;
}

// module mode
$friend_list = ($sub=='friend');
$ignore_list = ($sub=='ignore');

// active/disable the always view option
if ( in_array($set, array('vis', 'inv')) )
{
	$buddy_visible = ($set=='vis') ? '1' : '0';
	$sql = "UPDATE " . BUDDYS_TABLE . " SET buddy_visible=$buddy_visible WHERE user_id=$view_user_id and buddy_id=$buddy_id";
	if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, "Could not update buddy information", '', __LINE__, __FILE__, $sql);
}

if ( ($set == 'add') && ($buddy_id > 0) ) $adduser = true;
if ( ($set == 'remove') && ($buddy_id > 0) ) $remove = true;

// remove from list
if ($remove)
{
	$user_ids = ( $set == 'remove' ) ? array($buddy_id) : $HTTP_POST_VARS['user_ids'];
	if ( count($user_ids) > 0 )
	{
		$s_user_ids = implode(', ', $user_ids);
		$sql = "DELETE FROM " . BUDDYS_TABLE . " WHERE user_id = " . $view_userdata['user_id'] . " and buddy_id in ($s_user_ids)";
		if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, "Could not delete buddy list entries", '', __LINE__, __FILE__, $sql);
	}
	$error = false;
	if ( ($set == 'remove') && ($l_from != '') )
	{
		$ret_link = $from;
		$template->assign_vars(array(
			'META' => '<meta http-equiv="refresh" content="3;url=' . $ret_link . '">')
		);
		$message = $lang['Profile_updated'] . '<br /><br />' . $l_from . '<br /><br />';
		message_die(GENERAL_MESSAGE, $message);
	}
}
else if ($adduser)
{
	if ($set != 'add')
	{
		$username = ( isset($HTTP_POST_VARS['username']) ) ? $HTTP_POST_VARS['username'] : '';
		$sql = "SELECT * FROM " . USERS_TABLE . " WHERE LOWER(username) = '" . strtolower(str_replace("\'", "''", $username)) . "'";
		if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, "Could not get user information", '', __LINE__, __FILE__, $sql);
		if ( !($userrow = $db->sql_fetchrow($result)) )
		{
			$error = true;
			$error_msg = $lang['Could_not_add_user'];
		}
	}
	if ( !$error && ($userrow['user_id'] == $view_user_id) )
	{
		$error = true;
		$error_msg = $lang['profilcp_buddy_add_yourself'];
	}
	if ( !$error && ($userrow['user_id'] == ANONYMOUS) )
	{
		$error = true;
		$error_msg = $lang['Could_not_anon_user'];
	}
	// check if exist
	if ( !$error )
	{
		$sql = "SELECT * FROM " . BUDDYS_TABLE . " WHERE user_id = $view_user_id and buddy_id = " . $userrow['user_id'];
		if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, "Could not get buddy information", '', __LINE__, __FILE__, $sql);
		if ( $row = $db->sql_fetchrow($result) )
		{
			$error = true;
			$error_msg = $lang['profilcp_buddy_already'];
		}
	}
	// check if the other ignore this one
	if (!$error && $friend_list)
	{
		$sql = "SELECT * FROM " . BUDDYS_TABLE . " WHERE buddy_id = $view_user_id and user_id = " . $userrow['user_id'] . " and buddy_ignore = 1";
		if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, "Could not get buddy information", '', __LINE__, __FILE__, $sql);
		if ( $row = $db->sql_fetchrow($result) )
		{
			$error = true;
			$error_msg = $lang['profilcp_buddy_ignore'];
		}
	}
	// check users status if ignore list
	if (!$error && ($sub == 'ignore'))
	{
		if ( is_admin($view_userdata) )
		{
			$error = true;
			$error_msg = $lang['profilcp_buddy_you_admin'];
		}
		if ( is_admin($userrow) )
		{
			$error = true;
			$error_msg = $lang['profilcp_buddy_admin'];
		}
	}
	// add it
	if (!$error )
	{
		$sql = "INSERT INTO " . BUDDYS_TABLE . " (user_id, buddy_id, buddy_ignore) VALUES ( $view_user_id, " . $userrow['user_id'] . ", " . ( $friend_list ? 0 : 1 ) . ")";
		if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, "Could not insert buddy information", $lang['Error'], __LINE__, __FILE__, $sql);
	}
	if ($error) message_die(GENERAL_ERROR, $error_msg);

	if ( ($set == 'add') && ($l_from != '') )
	{
		$ret_link = $from;
		$template->assign_vars(array(
			'META' => '<meta http-equiv="refresh" content="3;url=' . $ret_link . '">')
		);
		$message = $lang['Profile_updated'] . '<br /><br />' . $l_from . '<br /><br />';
		message_die(GENERAL_MESSAGE, $message);
	}
}
else
{
	// template file
	$template->set_filenames(array(
		'body' => 'profilcp/buddy_body.tpl')
	);

	// get the parms
	$fields_choosen = isset($HTTP_POST_VARS['fields_choosen']);
	$filter_active = isset($HTTP_POST_VARS['filter_active']);
	$start  = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;
	$order  = ( isset($HTTP_GET_VARS['order']) || isset($HTTP_POST_VARS['order']) ) ? ( isset($HTTP_GET_VARS['order']) ? trim(htmlspecialchars($HTTP_GET_VARS['order'])) : trim(htmlspecialchars($HTTP_POST_VARS['order'])) ) : '';
	$sort   = ( isset($HTTP_GET_VARS['sort'] ) || isset($HTTP_POST_VARS['sort'] ) ) ? ( isset($HTTP_GET_VARS['sort'] ) ? trim(htmlspecialchars($HTTP_GET_VARS['sort'] )) : trim(htmlspecialchars($HTTP_POST_VARS['sort'] )) ) : '';
	$filter = ( isset($HTTP_GET_VARS['filter']) || isset($HTTP_POST_VARS['filter']) ) ? ( isset($HTTP_GET_VARS['filter']) ? trim(htmlspecialchars($HTTP_GET_VARS['filter'])) : trim(htmlspecialchars($HTTP_POST_VARS['filter'])) ) : '';
	$comp	= ( isset($HTTP_GET_VARS['comp'] ) || isset($HTTP_POST_VARS['comp'] ) ) ? ( isset($HTTP_GET_VARS['comp'] ) ? trim(htmlspecialchars($HTTP_GET_VARS['comp'] )) : trim(htmlspecialchars($HTTP_POST_VARS['comp'] )) ) : '';
	$fvalue = ( isset($HTTP_GET_VARS['fvalue'] ) || isset($HTTP_POST_VARS['fvalue'] ) ) ? ( isset($HTTP_GET_VARS['fvalue'] ) ? trim(htmlspecialchars($HTTP_GET_VARS['fvalue'] )) : trim(htmlspecialchars($HTTP_POST_VARS['fvalue'] )) ) : '';

	if ( !isset($user_fields[$order]) ) $order = 'username';
	if ( ($order == '') || !in_array($sort, array('ASC', 'DESC')) ) $sort = '';
	if ( ($order != '') && ($sort == '') ) $sort = 'ASC';

	if ( !isset($user_fields[$filter]) ) $filter = 'username';
	if ( !isset($operators[$comp]) ) $comp = 'IN';

	// get the last list of field of the user
	$update = false;
	if ($view_userdata['user_list_option'] == '') $view_userdata['user_list_option'] = '111000000111000001';
	if ($view_userdata['user_list_option'][2] != '1') $view_userdata['user_list_option'][2] = '1'; // force username
	if ($fields_choosen)
	{
		$field_ids = $HTTP_POST_VARS['field_ids'];
		$view_userdata['user_list_option'] = '';
		for ($i=0; $i < $max_option; $i++) $view_userdata['user_list_option'] .= ( ($i==2) || ( (count($field_ids) > 0) && in_array($i, $field_ids)) ) ? '1' : '0';
		$sql = "UPDATE " . USERS_TABLE . " SET user_list_option = '" .  $view_userdata['user_list_option'] . "' WHERE user_id = " . $view_userdata['user_id'];
		if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, "Could not update user informations", '', __LINE__, __FILE__, $sql);
	}

	// display the select box
	$nb_cell = 5;

	$ordfields = array(); // ordered fields (to display)
	$indfields = array(); // indiced fields (to store)
	while ( list($key, $value) = each($user_fields) )
	{
		$row['field']	= $key;
		$row['leg']		= $value['leg'];
		$row['ind']		= $value['ind'];

		$ordfields[] = $row;
		$indfields[$value['ind']] = $row;
	}

	$count = count($ordfields) - 1;
	$offset = 0;
	$class_base = true;
	for ($j=0; $j <= intval($count / $nb_cell); $j++)
	{
		$class_base = !$class_base;
		$class_offset = $class_base;
		$template->assign_block_vars('userfields_row', array());
		for ($i=0; $i < $nb_cell; $i++)
		{
			$class_offset = !$class_offset;
			$class = ($class_offset) ? "row1" : "row2";
			if ($offset <= $count)
			{
				$template->assign_block_vars('userfields_row.userfields_cell', array(
					'CLASS' => $class,
					'FIELD_ID' => $ordfields[$offset]['ind'],
					'FIELDS' => $ordfields[$offset]['leg'],
					'CHECKED' => (intval($view_userdata['user_list_option'][$ordfields[$offset]['ind']]) ) ? ' checked="checked"' : '',
					)
				);
			}
			else
			{
				$template->assign_block_vars('userfields_row.userfields_cell_empty', array(
					'CLASS' => $class,
					)
				);
			}
			$offset++;
		}
	}

	// get a field_id list of the selected field
	$field_ids = array();
	for ($i=0; $i < $max_option; $i++) if ($view_userdata['user_list_option'][$i]) $field_ids[] = $i;

	// call url
	$call = "profile.$phpEx?mode=buddy&sub=$sub&filter=$filter&comp=$comp";
	if ($fvalue != '') $call .= "&fvalue=$fvalue";

	// filter
	$s_filter = '<select name="filter">';

	// header & sort icons
	for ($i=0; $i < count($field_ids); $i++)
	{
		// sort/order options
		$icon_sort = '';
		$field_name = $indfields[$field_ids[$i]]['field']; 
		$user_fields[$field_name]['sortable'] = false;

		// unsortable fields
		if ( ($field_name != 'user_email') || is_admin($userdata) || !$board_config['board_email_form'] )
		{
			$user_fields[$field_name]['sortable'] = true;
			if ($order != $field_name)
			{
				$icon_sort = '<a href="' . append_sid($call . "&order=$field_name&sort=ASC") . '"><img src="' . $images['next_arrow'] . '" border="0" alt="' . $lang['Sort_none'] . '"></a>';
			}
			else switch ($sort)
			{
				case 'ASC'  : $icon_sort = '<a href="' . append_sid($call . "&order=$field_name&sort=DESC") . '"><img src="' . $images['down_arrow'] . '" border="0" alt="' . $lang['Sort_Ascending'] . '"></a>';break;
				case 'DESC' : $icon_sort = '<a href="' . append_sid($call) . '"><img src="' . $images['up_arrow'] . '" border="0" alt="' . $lang['Sort_Descending'] . '"></a>';break;
				default : $icon_sort = '';break;
			}

			// filter
			$select = ($filter == $indfields[$field_ids[$i]]['field']) ? ' selected="selected"' : '';
			$field_leg = $indfields[$field_ids[$i]]['leg'];

			// date
			if (in_array($field_name, array( 
					'user_lastvisit',
					'user_regdate',
					'user_birthday',
				) ))
			{
				$field_leg .= ' (AAAAMMJJ)';
			}

			// gender
			if (in_array($field_name, array( 
					'user_gender',
				) ))
			{
				$field_leg .= ' (' . UNKNOWN . '=' . $lang['No_gender_specify'] . ', ' . MALE . '=' . $lang['Male'] . ', ' . FEMALE . '=' . $lang['Female'] . ')';
			}
			$s_filter .= '<option value="' . $field_name . '"' . $select . '>' . $field_leg . '</option>';
		}

		// fields
		$template->assign_block_vars('header_list', array(
			'L_FIELD' => $indfields[$field_ids[$i]]['leg'],
			'ICON_SORT' => $icon_sort,
			)
		);
	}
	$s_filter .= '</select>';

	// operand
	$s_comp = '<select name="comp">';
	while ( list($key, $value) = each($operators) )
	{
		$select = ($comp == $key) ? ' selected="selected"' : '';
		$s_comp .= '<option value="' . $key . '"' . $select . '>' . $value . '</option>';
	}
	$s_comp .= '</select>';

	// read the users
	$view_user_id = $view_userdata['user_id'];
	$view_is_admin = is_admin($view_userdata);
	$floor_time = time()-300;

	// get list of field for the group by clause
	$sql_group_by_list = '';

	// get a list of field of the users table
	$sql = "SELECT * FROM " . USERS_TABLE;
	if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, "Could not read user informations", '', __LINE__, __FILE__, $sql);
	$row = $db->sql_fetchrow($result);
	while (list($key, $val) = each($row)) if (!is_numeric($key)) $sql_group_by_list .= (($sql_group_by_list != '') ? ', ' : '') . 'u.' . $key;

	// get user relational status
	$sql_user_my_friend			= "(CASE WHEN i.buddy_ignore = 0 THEN 1 ELSE 0 END)";
	$sql_user_my_ignore			= "(CASE WHEN i.buddy_ignore = 1 THEN 1 ELSE 0 END)";
	$sql_user_my_visible		= "(CASE WHEN i.buddy_visible = 1 THEN 1 ELSE 0 END)";
	
	$sql_user_friend			= "(CASE WHEN b.buddy_ignore = 0 THEN 1 ELSE 0 END)";
	$sql_user_ignore			= "(CASE WHEN b.buddy_ignore = 1 THEN 1 ELSE 0 END)";
	$sql_user_visible			= "(CASE WHEN b.buddy_visible = 1 THEN 1 ELSE 0 END)";

	// get the status of each info
	$sql_online_display			= "(CASE WHEN (u.user_id = $view_user_id) OR ( ($sql_user_my_ignore <> 1) AND (	($sql_user_visible = 1)																		 OR  ( (u.user_allow_viewonline = " . YES	. ") OR ( (u.user_allow_viewonline = " .  FRIEND_ONLY	. ") AND ($sql_user_friend = 1) ) ) ) ) THEN 1 ELSE 0 END)";
	$sql_email_display			= "(CASE WHEN (u.user_id = $view_user_id) OR ( ($sql_user_my_ignore <> 1) AND ( ('" . $view_userdata['user_allow_email']		. "' = '1') AND (u.user_allow_email		= 1) AND ( (u.user_viewemail = " . YES			. ") OR ( (u.user_viewemail = " . FRIEND_ONLY			. ") AND ($sql_user_friend = 1) ) ) ) ) THEN 1 ELSE 0 END)";
	$sql_pm_display				= "(CASE WHEN (u.user_id = $view_user_id) OR ( ($sql_user_my_ignore <> 1) AND ( ('" . $view_userdata['user_allow_pm']			. "' = '1') AND (u.user_allow_pm		= 1) AND ( (u.user_viewpm = " . YES				. ") OR ( (u.user_viewpm = " . FRIEND_ONLY				. ") AND ($sql_user_friend = 1) ) ) ) ) THEN 1 ELSE 0 END)";
	$sql_www_display			= "(CASE WHEN (u.user_id = $view_user_id) OR ( ($sql_user_my_ignore <> 1) AND ( ('" . $view_userdata['user_allow_website']		. "' = '1') AND (u.user_allow_website	= 1) AND ( (u.user_viewwebsite = " . YES		. ") OR ( (u.user_viewwebsite = " . FRIEND_ONLY			. ") AND ($sql_user_friend = 1) ) ) ) ) THEN 1 ELSE 0 END)";
	$sql_messanger_display		= "(CASE WHEN (u.user_id = $view_user_id) OR ( ($sql_user_my_ignore <> 1) AND ( ('" . $view_userdata['user_allow_messanger']	. "' = '1') AND (u.user_allow_messanger	= 1) AND ( (u.user_viewmessanger = " . YES		. ") OR ( (u.user_viewmessanger = " . FRIEND_ONLY		. ") AND ($sql_user_friend = 1) ) ) ) ) THEN 1 ELSE 0 END)";
	$sql_real_display			= "(CASE WHEN (u.user_id = $view_user_id) OR ( ($sql_user_my_ignore <> 1) AND ( ('" . $view_userdata['user_allow_real']			. "' = '1') AND (u.user_allow_real		= 1) AND ( (u.user_viewreal = " . YES			. ") OR ( (u.user_viewreal = " . FRIEND_ONLY			. ") AND ($sql_user_friend = 1) ) ) ) ) THEN 1 ELSE 0 END)";

	// admin looking
	$admin = is_admin($userdata);
	if ($admin)
	{
		$sql_online_display		= '1';
		$sql_email_display		= '1';
		$sql_pm_display			= '1';
		$sql_www_display		= '1';
		$sql_messanger_display	= '1';
		$sql_real_display		= '1';
	}

	// online indicator
	$sql_user_online = "(CASE WHEN (u.user_session_time >= $floor_time) AND ($sql_online_display = 1) THEN 1 ELSE 0 END)";
	$sql_user_pm = $sql_pm_display;

	//
	// Define appropriate SQL
	//
	switch(SQL_LAYER)
	{
		 case 'postgresql':
			$sql_user_rank_id		= "(CASE WHEN u.user_rank = 0 THEN SUBSTRING(MAX( LPAD(nr.rank_min,8,'0') || nr.rank_id), 9) ELSE u.user_rank END)";
			$sql_user_rank_title	= "(CASE WHEN $sql_www_display = 1 THEN ( COALESCE( sr.rank_title, SUBSTRING(MAX(LPAD(nr.rank_min,8,'0') || nr.rank_title), 9) ) ) ELSE '' END)";
			$sql_user_rank_title2	= $sql_user_rank_title;
			$sql_user_my_friend2	= $sql_user_my_friend;

			$sql_group_by_list .= ', b.buddy_visible, b.buddy_ignore, i.buddy_ignore, i.buddy_visible';
			$sql_group_by_list .= ', sr.rank_title';
			break;

		 default:
			$sql_user_rank_id		= "(CASE WHEN (u.user_rank = 0) AND ($sql_www_display = 1) THEN SUBSTRING(MAX(CONCAT(LPAD(nr.rank_min,8,'0'), nr.rank_id)), 9) ELSE u.user_rank END)";
			$sql_user_rank_title	= "(CASE WHEN ($sql_www_display = 1) THEN ( COALESCE(sr.rank_title, SUBSTRING(MAX(CONCAT(LPAD(nr.rank_min,8,'0'), nr.rank_title)), 9)) ) ELSE '' END)";
			$sql_rank_title2		= '';
			$sql_user_my_friend2	= '';

			$sql_group_by_list = 'u.user_id';
			break;
	}

	//
	// fields added (last first) :
	//
	$sql_fields = '';
	@reset($user_fields);
	while ( list($field_name, $field) = each($user_fields) )
	{
		// default value if not allowed
		$def_value = "''";
		switch ($field['type'])
		{
			case 'VARCHAR':
			case 'TEXT':
				$def_value = "''";
				break;
			case 'TINYINT':
			case 'SMALLINT':
			case 'MEDIUMINT':
			case 'INT':
			case 'BIGINT':
				$def_value = "0";
				break;
			default:
				message_die(CRITICAL_ERROR, 'Field type unknown');
				break; 
		}

		// switch field name
		$class_field = '';
		switch ($field['class'])
		{
			case 'generic': break;
			case 'special': break;
			case 'viewonline':	$class_field = $sql_online_display; break;
			case 'email':		$class_field = $sql_email_display; break;
			case 'pm':			$class_field = $sql_pm_display; break;
			case 'webdisplay':	$class_field = $sql_www_display; break;
			case 'messangers':	$class_field = $sql_messanger_display; break;
			case 'real':		$class_field = $sql_real_display;break;
			case 'avatar': break;
			case 'signature': break;
			default:
				message_die(CRITICAL_ERROR, 'Field class unknown');
				break;
		}

		// sql field def
		if ($class_field != '')
		{
			$$field_name = "(CASE WHEN " . $class_field . "=1 THEN u." . $field_name . " ELSE $def_value END)";
			$sql_fields .= ", " . $$field_name . " as " . $field_name . "_virt";
		}
		else
		{
			switch ($field_name)
			{
				case 'user_pm':			$$field_name = "(CASE WHEN " . $sql_pm_display . " = 1 THEN " . $sql_user_pm . " ELSE " . $def_value . " END)";  $sql_fields .= ", " . $$field_name . " as user_pm"; break;
				case 'user_my_friend':	$$field_name = $sql_user_my_friend;		$sql_fields .= ", " . $$field_name . " as user_my_friend"; break;
				case 'user_online':		$$field_name = $sql_user_online;		$sql_fields .= ", " . $$field_name . " as user_online"; break;
				case 'user_rank_title':	$$field_name = $sql_user_rank_title;	$sql_fields .= ", " . $$field_name . " as user_rank_title"; break;
				default: break;
			}
		}
	}

\n	$sql = "SELECT DISTINCT u.*, 

					$sql_online_display			as user_online_display,
					$sql_email_display			as user_email_display,
					$sql_pm_display				as user_pm_display,
					$sql_www_display			as user_www_display,
					$sql_messanger_display		as user_messanger_display,
					$sql_real_display			as user_real_display,

					$sql_user_my_friend			as user_my_friend,
					$sql_user_my_ignore			as user_my_ignore,
					$sql_user_my_visible		as user_my_visible,

					$sql_user_friend			as user_friend,
					$sql_user_ignore			as user_ignore,
					$sql_user_visible			as user_visible

					$sql_fields

				FROM (((("  . USERS_TABLE . " as u
				LEFT JOIN " . BUDDYS_TABLE . " as b ON b.user_id=u.user_id AND b.buddy_id=$view_user_id)
				LEFT JOIN " . BUDDYS_TABLE . " as i ON i.user_id=$view_user_id AND i.buddy_id=u.user_id)
				LEFT JOIN " . RANKS_TABLE . " as sr ON u.user_rank > 0 AND sr.rank_special = 1 AND u.user_rank = sr.rank_id)
				LEFT JOIN " . RANKS_TABLE . " as nr ON u.user_rank = 0 AND nr.rank_special = 0 AND nr.rank_min <= u.user_posts)

				WHERE u.user_id <> " . ANONYMOUS;

	// friend list
	if ($friend_list)
	{
		$sql .= " AND i.buddy_ignore = 0";
	}

	// ignore list
	if ($ignore_list)
	{
		$sql .= " AND i.buddy_ignore = 1";
	}

	// filter
	$sql_having = '';
	if ($fvalue != '')
	{
		$val = $fvalue;
		$t_comp = $comp;
		$t_filter = $filter;

		// date format
		switch ($filter)
		{
			// full datetime
			case 'user_lastvisit':
			case 'user_regdate':
				$t_filter = $$t_filter;
				$val1 = mktime( 0, 0, 1, intval(substr($val, 4, 2)), intval(substr($val, 6, 2)), intval(substr($val, 0, 4)) );
				$val2 = mktime( 23, 59, 59, intval(substr($val, 4, 2)), intval(substr($val, 6, 2)), intval(substr($val, 0, 4)) );
				switch($t_comp)
				{
					case 'EQ': 
					case 'IN': $t_comp = 'RG'; break;
					case 'NE':
					case 'NI': $t_comp = 'NR'; break;
					case 'LE': $val= $val2;
					default: $val=$val1;
				}
				break;
			// date only
			case 'user_birthday':
				$t_filter = $$t_filter;
				$val = intval($val);
				break;
			// new field
			case 'user_pm' :
			case 'user_online' :
				$t_filter = $$t_filter;
				$val = $fvalue;
				break;
			case 'user_my_friend' :
				$t_filter = ($sql_my_friend_2 != '') ? $sql_user_my_friend2 : $t_filter;
				$val = $fvalue;
				break;
			// matched fields
			case 'user_rank_title':
				$t_filter = ($sql_user_rank_title2 != '') ? $sql_user_rank_title2 : 'user_rank_title';
				$val = $fvalue;
				break;
			default:
				if ( !in_array($user_fields[$filter]['class'], array('special', 'generic')) ) $t_filter = $$t_filter;
				if ( $user_fields[$filter]['class'] == 'generic' ) $t_filter = 'u.' . $t_filter;
				$val = $fvalue;
				break;
		}

		// filter on accessible field
		switch ($t_comp)
		{
			case 'RG': $sql_having = " HAVING  $t_filter >= '" . $val1 . "' AND $t_filter <= '" . $val2 . "'"; break;
			case 'NR': $sql_having = " HAVING  ($t_filter < '" . $val1 . "' OR $t_filter > '" . $val2 . "')"; break;
			case 'LE': $sql_having = " HAVING  $t_filter <= '" . $val . "'"; break;
			case 'EQ': $sql_having = " HAVING  $t_filter = '" . $val . "'"; break;
			case 'NE': $sql_having = " HAVING  $t_filter <> '" . $val . "'"; break;
			case 'GE': $sql_having = " HAVING  $t_filter >= '" . $val . "'"; break;
			case 'IN': $sql_having = " HAVING  $t_filter LIKE '%" . $val . "%'"; break;
			case 'NI': $sql_having = " HAVING  $t_filter NOT LIKE '%" . $val . "%'"; break;
			default:   $sql_having = " HAVING  $t_filter LIKE '%" . $val . "%'"; break;
		}
	}

	// set the group by clause
	$sql_group_by = " GROUP BY $sql_group_by_list";

	// convert field name to virtual
	$real_order = $order;
	if ( !in_array($user_fields[$real_order]['class'], array('generic', 'special')) ) $real_order .= '_virt';
	if ( $user_fields[$real_order]['class'] == 'generic') $real_order = 'u.' . $real_order;

	// get the order
	$sql_order .= " ORDER BY " . ( ($user_fields[$order]['sortable']) ? " $real_order $sort," : '' ) . " u.username ASC";

	// build the request
	$sql .= $sql_group_by . $sql_having . $sql_order;

	// read the number of row
	if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, "Could not read user informations", '', __LINE__, __FILE__, $sql);
	$total_users = $db->sql_numrows($result);

	$sql .= " LIMIT $start, " . $board_config['topics_per_page'];
	if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, "Could not read user informations", '', __LINE__, __FILE__, $sql);

	$users = array();
	while ($row = $db->sql_fetchrow($result)) $users[] = $row;

	$admin = is_admin($userdata);
	for ($i = 0; $i < count($users); $i++)
	{
		$row = $users[$i];

		$txtclass = get_user_level_class( $row['user_level'], 'genmed', $row );
		$temp_url = append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']);
		$row['username'] = '<a href="' . $temp_url . '" class="' . $txtclass . '">' . $row['username'] . '</a>';
		$row['user_lastvisit_virt'] = ($row['user_lastvisit_virt'] != 0) ? create_date($userdata['user_dateformat'], $row['user_lastvisit_virt'], $userdata['user_timezone']) : '';
		$row['user_regdate_virt'] = ($row['user_regdate_virt'] != 0) ? create_date($lang['DATE_FORMAT'], $row['user_regdate_virt'], $userdata['user_timezone']) : '';
		if (!$row['user_online_display']) $row['user_posts_virt'] = '';

		// friend/always visible
		if ($row['user_my_friend'])
		{
			$temp_url	= append_sid( "profile.$phpEx?mode=$mode&sub=$sub&b=" . $row['user_id'] . "&set=" . ( ($row['user_my_visible']) ? 'inv' : 'vis') );
			$title		= ($row['user_my_visible']) ? $lang['Always_visible'] : $lang['Not_always_visible'];
			$img		= ( $row['user_my_visible'] ) ? $images['icon_visible'] : $images['icon_not_visible'];
			$row['user_my_friend'] = '<a href="' . $temp_url . '"><img src="' . $img . '" border="0" alt="' . $title . '"></a>';
		}
		else $row['user_my_friend'] = '';

		// online/offline/hidden
		$img = 'offline';
		if ($row['user_online_display'] && $row['user_online'])
		{
			$img = 'hidden';
			if ($row['user_allow_viewonline'] == YES) $img = 'online';
		}
		switch ($img)
		{
			case 'offline':
				$online_img = '<img src="' . $images['icon_offline'] . '" border="0" align="absbottom" alt="' . $lang['Offline'] . '" title="' . $lang['Offline'] . '">';
				break;
			case 'online':
				$online_img = '<img src="' . $images['icon_online'] . '" border="0" align="absbottom" alt="' . $lang['Online'] . '" title="' . $lang['Online'] . '">';
				break;
			case 'hidden':
				$online_img = '<img src="' . $images['icon_hidden'] . '" border="0" align="absbottom" alt="' . $lang['Hidden'] . '" title="' . $lang['Hidden'] . '">';
				break;
		}
		$row['user_online'] = $online_img;

		// pm
		if ($row['user_pm'])
		{
			$temp_url = append_sid("privmsg.$phpEx?mode=post&" . POST_USERS_URL . "=" . $row['user_id']);
			$row['user_pm'] = '<a href="' . $temp_url . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['Send_private_message'] . '" title="' . $lang['Send_private_message'] . '" border="0" /></a>';
		}
		else $row['user_pm'] = '';

		// email
		if ($row['user_email_virt'])
		{
			$email_uri = ( $board_config['board_email_form'] ) ? append_sid("profile.$phpEx?mode=email&" . POST_USERS_URL .'=' . $row['user_id']) : 'mailto:' . $row['user_email_virt'];
			$row['user_email_virt'] = '<a href="' . $email_uri . '"><img src="' . $images['icon_email'] . '" alt="' . $lang['Send_email'] . '" title="' . $lang['Send_email'] . '" border="0" /></a>' . ( ($board_config['board_email_form'] && !is_admin($userdata)) ? '' : '<span class="gensmall"><br />' . $row['user_email_virt'] . '</span>' );
		}
		else $row['user_email_virt'] = '';

		//
		// www
		//

		// web site
		$row['user_website_virt'] = ($row['user_website_virt']) ? '<a href="' . $row['user_website_virt'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['Visit_website'] . '" title="' . $lang['Visit_website'] . '" border="0" /></a><span class="gensmall"><br />' . $row['user_website_virt'] . '</span>' : '';

		// timezone lib
		if ($row['user_timezone_virt'])
		{
			$found = false;
			@reset($lang['tz']);
			while ((list($tz,$lib) = @each($lang['tz'])) && !$found)
			{
				$found = ($tz == $row['user_timezone_virt']);
				if ($found) $row['user_timezone_virt'] = $lib;
			}
		}
		else $row['user_timezone_virt'] = '';

		//
		// messanger
		//

		// icq
		$row['user_icq_status'] = '';
		if ($row['user_icq_virt'])
		{
			$row['user_icq_status'] = '<a href="http://wwp.icq.com/' . $row['user_icq_virt'] . '#pager"><img src="http://web.icq.com/whitepages/online?icq=' . $row['user_icq_virt'] . '&img=5" width="18" height="18" border="0" /></a>';
			$row['user_icq_virt'] = '<a href="http://wwp.icq.com/scripts/search.dll?to=' . $row['user_icq_virt'] . '"><img src="' . $images['icon_icq'] . '" alt="' . $lang['ICQ'] . '" title="' . $lang['ICQ'] . '" border="0" /></a><span class="gensmall"><br />' . $row['user_icq_virt'] . '</span>';
		}

		// aim
		if ($row['user_aim_virt'])
		{
			$row['user_aim_virt'] = '<a href="aim:goim?screenname=' . $row['user_aim_virt'] . '&message=Hello+Are+you+there?"><img src="' . $images['icon_aim'] . '" alt="' . $lang['AIM'] . '" title="' . $lang['AIM'] . '" border="0" /></a><span class="gensmall"><br />' . $row['user_aim_virt'] . '</span>';
		}

		// msn
		if ($row['user_msnm_virt'])
		{
			$row['user_msnm_virt'] = '<img src="' . $images['icon_msnm'] . '" alt="' . $row['user_msnm_virt'] . '" title="' . $lang['MSNM'] . '" border="0" /><span class="gensmall"><br />' . $row['user_msnm_virt'] . '</span>';
		}

		// yim
		if ($row['user_yim_virt'])
		{
			$row['user_yim_virt'] = '<a href="http://edit.yahoo.com/config/send_webmesg?.target=' . $row['user_yim_virt'] . '&.src=pg"><img src="' . $images['icon_yim'] . '" alt="' . $lang['YIM'] . '" title="' . $lang['YIM'] . '" border="0" /></a><span class="gensmall"><br />' . $row['user_yim_virt'] . '</span>';
		}

		//
		// real life informations
		//

		// birthday
		if (intval($row['user_birthday_virt']) != 0)
		{
			$temp_url = append_sid("privmsg.$phpEx?mode=post&" . POST_USERS_URL . "=" . $row['user_id']);
			$row['user_birthday_img'] = ( intval(substr($row['user_birthday_virt'], 4,4)) == date('md', time()) ) ? ( ($row['user_pm']) ? '<a href="' . $temp_url . '">' : '' ) . '<img src="' . $images['icon_birthday'] . '" border="0" alt="' . $lang['Happy_birthday'] . '" title="' . $lang['Happy_birthday'] . '">' . ( ($row['user_pm']) ? '</a>' : '' ) : '';
\n			$row['user_birthday_virt'] = ( ($row['user_birthday_img'] != '') ? $row['user_birthday_img'] . "<br />" : '') . create_birthday_date($lang['DATE_FORMAT'], $row['user_birthday_virt'], $userdata['user_timezone']);
		}
		else
		{
			$row['user_birthday_img'] = '';
			$row['user_birthday_virt'] = '';
		}

		// rank
		if ($row['user_rank_title'])
		{
			$rank_data = array();
			$rank_data = get_user_rank($row);
			$row['user_rank_title'] = $rank_data['rank_title'] . ( ($rank_data['rank_image'] != '') ? '<br />' . $rank_data['rank_image'] : '');
		}

		// gender
		switch ($row['user_gender_virt'])
		{
			case 1 : $row['user_gender_virt'] = $lang['Male']; break;
			case 2 : $row['user_gender_virt'] = $lang['Female']; break;
			default : $row['user_gender_virt'] = ($row['user_real_display']) ? $lang['No_gender_specify'] : ''; break;
		}

		$users[$i] = $row;
	}

	// display the users
	$class = false;
	for ($i=0; $i < count($users); $i++ )
	{
		$class = !$class;
		$template->assign_block_vars('userrow', array(
			'CLASS' => ($class) ? "row1" : "row2",
			'NUMBER' => $i+1+$start,
			)
		);
		for ($j=0; $j < count($field_ids); $j++)
		{
			$field_name = $indfields[$field_ids[$j]]['field'];
			if ( !in_array($user_fields[$field_name]['class'], array('generic', 'special')) ) $field_name .= '_virt';
			$template->assign_block_vars('userrow.user_list', array(
				'FIELD' => $users[$i][$field_name],
				)
			);
		}
		if ($friend_list || $ignore_list)
		{
			$template->assign_block_vars('userrow.select', array(
				'USER_ID' => $users[$i]['user_id'],
				'CHECKED' => '',
				)
			);
		}
	}

	// number of col
	$col = count($field_ids) + 1;
	if ($friend_list || $ignore_list) $col++;

	if ($friend_list || $ignore_list)
	{
		$template->assign_block_vars('select', array());
	}

	$template->assign_vars(array(
		'L_USER_FIELDS' => $lang['User_fields'],
		'COLSPAN' => $nb_cell,
		'DOWN_ARROW' => $images['down_arrow'],
		'UP_ARROW' => $images['up_arrow'],

		'L_FILTER_FIELDS' => $lang['Select'],
		'S_FILTER_FIELDS' => $s_filter,
		'S_COMP' => $s_comp,
		'FILTER' => $fvalue,

		'ROW_SPAN' => $col,

		'L_SUBMIT' => $lang['Submit'],
		'L_RESET' => $lang['Reset'],
		'L_GO' => $lang['Go'],

		'L_SELECT' => $lang['Select'],
		'L_ADD_MEMBER' => $lang['Add_member'],
		'L_FIND_USERNAME' => $lang['Find_username'],
		'L_REMOVE_SELECTED' => $lang['Remove_selected'],
		)
	);

	// call url
	$call = "profile.$phpEx?mode=buddy&sub=$sub";
	if ($order != '' ) $call .= "&order=$order";
	if ($sort != '') $call .= "&sort=$sort";
	$call .= "&filter=$filter";
	$call .= "&comp=$comp";
	if ($fvalue != '') $call .= "&fvalue=$fvalue";
	$call = append_sid($call);

	$template->assign_vars(array(
		'PAGINATION' => generate_pagination($call, $total_users, $board_config['topics_per_page'], $start),
		'PAGE_NUMBER' => sprintf($lang['Page_of'], ( floor( $start / $board_config['topics_per_page'] ) + 1 ), ceil( $total_users / $board_config['topics_per_page'] )), 
		'L_GOTO_PAGE' => $lang['Goto_page'],

		'S_HIDDEN_FIELDS' => $s_hidden_fields,
		'U_SEARCH_USER' => append_sid("search.$phpEx?mode=searchuser"),
		'S_PROFILCP_ACTION' => append_sid("profile.$phpEx"),
		)
	);

	// page
	$template->pparse('body');
}

?>
有事問問題,沒事答問題。
廣告不是這樣打滴!遊戲駭客
Martinet
竹貓忠實會員
竹貓忠實會員
文章: 850
註冊時間: 2003-06-09 21:58
聯繫:

文章 Martinet »

剛剛仔細看過之後...發現...= =|||

寫法跟我的 後台SQL很像..只是複雜很多一一||

不是很確定行不行...但先試試看這樣囉

ps.我猜你想改的東西是這個吧^^"||...不是再說囉XD
------------------------------------

找到類似這種的你想改的

代碼: 選擇全部

 <input type="checkbox" name="field_ids[]" value="[color=red]0[/color]"  checked="checked" /> 
好友 
如果你不想要他被使用者改且 「預設值為已勾選的話」

(使用者會看不到這個欄位喔XD)

取代為\r

代碼: 選擇全部

 <input type="hidden" name="field_ids[]" value="[color=red]0[/color]" /> 
如果要「預設值為非勾選的話」...直接把那段刪除吧一一||

如果不放心 , 這樣也行:
取代為\r

代碼: 選擇全部

 <input type="hidden" name="field_ids[]" /> 


註: 紅色字每個欄位都不同 , 請依照每個欄位原本的值改下去^^
主題已鎖定

回到「外掛問題討論」