[問題]今天訪客,會員到訪人數

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

版主: 版主管理群

Jone
星球普通子民
星球普通子民
文章: 10
註冊時間: 2002-11-24 21:01

文章 Jone »

emma 寫:

代碼: 選擇全部

$lang['Day_users'] = '%d registered users visit during the last %d hours:';
$lang['Not_day_users'] = '%d registered users <span style="color:red">DIDN\'T</span> visit during the last %d hours:';
請問大大 可否提供此MOD的中文化 ...謝謝
請問有大大可以提供嗎?

我只猜出第一行

$lang['Day_users'] = '有%s 位會員於最近%s 小時內訪問本論壇';
vanez3ns

文章 vanez3ns »

http://morningmusumenet.net/

請問貴站的線上會員前面的小圖案 要怎麼安裝呢 @_@


希望大大可以交一下 ;-)
神川小羽
調皮の小羽
調皮の小羽
文章: 1461
註冊時間: 2004-05-01 05:55
來自: 謎樣之筱語
聯繫:

文章 神川小羽 »

-.-
Lendice
星球普通子民
星球普通子民
文章: 1
註冊時間: 2006-12-26 13:16

文章 Lendice »

依夢兒 寫:如果你不懂 Last Visit Mod 的 SQL 要如何新增至資料庫,或是嫌它不好架,
可以改試這一支外掛 - Users of the day:
http://www.phpbbhacks.com/viewhack.php?id=770

Demo:http://chage-aska.com/phpbb/
請見論壇底端。
非常感謝依夢兒的推薦,這個mod裝起來十分之好,讓論壇看起來更有人氣了一些。

然而我因為自己的一些想法,而修改了部份程式碼。
又私心地以為,這樣的修改應該更貼近大多數人的想法,所以就把我的修改內容給放上來,希望各位前輩不要見笑。 :oops:

修改重點:
一、雖然一般狀況看不到隱形會員的名單是一件很正常的事,然而除了系統管理員之外,這個mod也只讓人看到非隱形會員的登入「人數」,就很詭異,難道隱形的會員就不算會員了嗎?要是某論壇的會員都很自閉耍隱形的話,那麼看到的「人數」不就少得可憐了?
於是,
1.修改「人數」,讓登入人數包括註冊會員與隱形會員。
2.在名單最後顯示「有幾位隱形會員」,免得讓有在仔細算的人,以為程式算錯了。而系統管理員可以看到完整名單,所以我就覺得不用讓系統管理員看到這項統計了。

二、我覺得對絕大部分的論壇而言,在首頁顯示出最近沒有上站的人數與名單是件很悲涼的事,特別是會員很多,卻上站頻率不高的情況下……。
所以,我想既然用不太到,就乾脆把相關的程式碼都刪了,還改在SQL上直接搜尋符合條件的users,希望這樣子除了看起來比較清爽一點之外,還能減少運算時間。

於是,完整的安裝方法如下:

代碼: 選擇全部

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

#
#-----[ FIND ]------------------------------------------
#
<td class="row1" align="center" valign="middle" rowspan="2"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td>

#
#-----[   REPLACE WITH ]----------------------------------
# 這一段跟原來的一樣
<td class="row1" align="center" valign="middle" rowspan="3"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td>

#
#-----[ FIND ]------------------------------------------
#
<td class="row1" align="left"><span class="gensmall">{TOTAL_USERS_ONLINE} &nbsp; [ {L_WHOSONLINE_ADMIN} ] &nbsp; [ {L_WHOSONLINE_MOD} ]<br />{RECORD_USERS}<br />{LOGGED_IN_USER_LIST}</span></td>

#
#-----[   AFTER, ADD ]-----------------------------------
# 我在這裡有做增加
</tr>
  <tr> 
	<td class="row1" align="left"><span class="gensmall">{USERS_OF_THE_DAY_LIST} &nbsp; {HIDDEN_USERS_OF_THE_DAY}</span></td>

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

#
#-----[ FIND ]------------------------------------------
#
$lang['Registered_users'] = '目前線上註冊會員:';

#
#-----[   BEFORE, ADD ]-----------------------------------
# 
$lang['Day_users'] = '有<b> %d </b>位會員於最近 %d 小時內登入瀏覽 ::';
$lang['Day_hidden_users'] = '[ %d 位隱形 ]';

#
#-----[ OPEN ]------------------------------------------
#
/includes/page_header.php

#
#-----[ FIND ]------------------------------------------
#
	'LOGGED_IN_USER_LIST' => $online_userlist,

#
#-----[   AFTER, ADD ]-----------------------------------
# 在這裡也有增加
	'USERS_OF_THE_DAY_LIST' => $day_userlist,
	'HIDDEN_USERS_OF_THE_DAY' => $day_hidden_users,

#
#-----[ FIND ]------------------------------------------
#
//
// Obtain number of new private messages
// if user is logged in
//

#
#-----[   BEFORE, ADD ]-----------------------------------
# 這邊改動的幅度很大,有裝舊的,建議直接覆蓋
//
// Users of the day MOD
//

// ############ Edit below ############
// #
$users_list_delay = 24;		// change here to the number of hours wanted for the list
// #
// ############ Edit above ############

$sql = "SELECT user_id, username, user_allow_viewonline, user_level, user_session_time
	FROM ".USERS_TABLE."
	WHERE user_id > 0 
	  AND user_session_time >= " . ( time() - $users_list_delay * 3600 ) . " 
	ORDER BY IF(user_level=1,3,user_level) DESC, username ASC";
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not obtain user/day information', '', __LINE__, __FILE__, $sql);
}

$day_userlist = '';
$day_users = 0;
$day_hidden_users = 0;


while( $row = $db->sql_fetchrow($result) )
{
	$style_color = '';
	if ( $row['user_level'] == ADMIN )
	{
		$row['username'] = '<b>' . $row['username'] . '</b>';
		$style_color = 'style="color:#' . $theme['fontcolor3'] . '"';
	}
	else if ( $row['user_level'] == MOD )
	{
		$row['username'] = '<b>' . $row['username'] . '</b>';
		$style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
	}
	if ( $row['user_allow_viewonline'] )
	{
		$user_day_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a>';
	}
	else
  {
		$user_day_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'><i>' . $row['username'] . '</i></a>';
  }
	
	  $day_users++;
	  
	  if ( !$row['user_allow_viewonline'] ) $day_hidden_users++;
    	
		if ( $row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN ) $day_userlist .= ( $day_userlist != '' ) ? ', ' . $user_day_link : $user_day_link;
	
}
$db->sql_freeresult($result);

$day_userlist = ( ( isset($forum_id) ) ? '' : sprintf($lang['Day_users'], $day_users, $users_list_delay) ) . ' ' . $day_userlist;

$day_hidden_users = ( $userdata['user_level'] == ADMIN ) ? '' : sprintf($lang['Day_hidden_users'], $day_hidden_users);


//
// End of MOD
//

#
#-----[   SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM

截圖:
圖檔


還請各位前輩多多指教。 :oops:
主題已鎖定

回到「外掛問題討論」