[問題]如何顯示在 chatbox 中聊天的人數?[已解決]
版主: 版主管理群
[問題]如何顯示在 chatbox 中聊天的人數?[已解決]
謝謝天霜在 ChatBox 3.0 中文安裝的指示,已靠著z的指示成功安裝好聊天室。現在有個想法,希望能讓會員在討論區的畫面中看到有幾個人在聊天室裡聊天。不知道有沒有人寫過這功能,可以分享一下嗎?
最後由 momoC 於 2004-10-18 07:16 編輯,總共編輯了 2 次。
● 架設主機作業系統:IIS 6.0
● 上網方式:DSL
● 虛擬空間 http://www.securemate.com
● 安裝程式:php 4 + MySql 2.5.4
● phpBB2 版本:phpBB 2.0.22
● domain: http://www.genderwars.org
● phpBB 連結: http://phpbb.genderwars.org
● 上網方式:DSL
● 虛擬空間 http://www.securemate.com
● 安裝程式:php 4 + MySql 2.5.4
● phpBB2 版本:phpBB 2.0.22
● domain: http://www.genderwars.org
● phpBB 連結: http://phpbb.genderwars.org
哎呀,真不好意思。
移動了,請將這則留言刪除好嗎?謝謝你。
● 架設主機作業系統:IIS 6.0
● 上網方式:DSL
● 虛擬空間 http://www.securemate.com
● 安裝程式:php 4 + MySql 2.5.4
● phpBB2 版本:phpBB 2.0.22
● domain: http://www.genderwars.org
● phpBB 連結: http://phpbb.genderwars.org
● 上網方式:DSL
● 虛擬空間 http://www.securemate.com
● 安裝程式:php 4 + MySql 2.5.4
● phpBB2 版本:phpBB 2.0.22
● domain: http://www.genderwars.org
● phpBB 連結: http://phpbb.genderwars.org
嗯,沒寫過 PHP,想自己加這功能,結果是看得自己一頭霧水。現在原理猜想是懂得A只是得去研究語法怎麼寫。先和各位先進們確認一下,免得方向錯誤。
了解「線上聊天」後面要顯示正在聊天的人數必須到 overall_header.tpl,但所有的 chatbox 功能目前是植在 chatbox_function.php 中--原則上我應該可以在 chatbox_function.php 建立一個功能,算出 laststatus = "online" 的人數,以及 lastvisit 沒有閒置過久的人(註),然後再到 over_header.tpl 去叫出這個數值就可以了,對不?
註:得這麼做是因為我發現有時候online 的人可能已經離開很久,大概是因為 chatters 同時跑掉,程式沒機會更新狀態,有些人就以 online 的狀況「掛」在資料庫裡,直到下一個人來開聊天視窗時才會整理
了解「線上聊天」後面要顯示正在聊天的人數必須到 overall_header.tpl,但所有的 chatbox 功能目前是植在 chatbox_function.php 中--原則上我應該可以在 chatbox_function.php 建立一個功能,算出 laststatus = "online" 的人數,以及 lastvisit 沒有閒置過久的人(註),然後再到 over_header.tpl 去叫出這個數值就可以了,對不?
註:得這麼做是因為我發現有時候online 的人可能已經離開很久,大概是因為 chatters 同時跑掉,程式沒機會更新狀態,有些人就以 online 的狀況「掛」在資料庫裡,直到下一個人來開聊天視窗時才會整理
● 架設主機作業系統:IIS 6.0
● 上網方式:DSL
● 虛擬空間 http://www.securemate.com
● 安裝程式:php 4 + MySql 2.5.4
● phpBB2 版本:phpBB 2.0.22
● domain: http://www.genderwars.org
● phpBB 連結: http://phpbb.genderwars.org
● 上網方式:DSL
● 虛擬空間 http://www.securemate.com
● 安裝程式:php 4 + MySql 2.5.4
● phpBB2 版本:phpBB 2.0.22
● domain: http://www.genderwars.org
● phpBB 連結: http://phpbb.genderwars.org
Pheeew,現在至少可以在 portal.php 顯示聊天室人數和在線聊天的會員了,真好!解法不會太難,Freetalkare 的 Joe 給了方法,如果有人需要參考,可以到這裡:
http://www.freetalkarea.com/phpBB2/viewtopic.php?t=711
目前還在試怎麼樣放到 index.php 或是放到畫面頂端的「聊天室」字樣旁邊。
我也將 3.0.2 patch 版裡的說明內容都中文化了,想要的人可以和我拿。;-)
終於可以好睡幾天了。
_________________________________
追加一下:可能是因為我都是用數據機連線,上去那個站很慢。就將 Joe 提供的建議也抄一份在這裡,方便大家參考吧!
在 templates/fisubSilver/portal_body.tpl 裡找到\r
在之後加上這段:
有人說上面這段是在竹貓分站找到我的,我怎麼找就是找不到,真怪~看來我爬文的功力還不夠深厚~~
在 portal.php 裡 的 「// Welcome Avatar 」之後,加上這段:
如果到此為止線上聊天人數還是 0 ,就要回頭去 portal.php 找到這段文字
在它後面加上:
http://www.freetalkarea.com/phpBB2/viewtopic.php?t=711
目前還在試怎麼樣放到 index.php 或是放到畫面頂端的「聊天室」字樣旁邊。
我也將 3.0.2 patch 版裡的說明內容都中文化了,想要的人可以和我拿。;-)
終於可以好睡幾天了。
_________________________________
追加一下:可能是因為我都是用數據機連線,上去那個站很慢。就將 Joe 提供的建議也抄一份在這裡,方便大家參考吧!
在 templates/fisubSilver/portal_body.tpl 裡找到\r
代碼: 選擇全部
<tr>
<td class="row1"><span class="gensmall">
<center>[{L_WHOSONLINE_ADMIN}] [{L_WHOSONLINE_MOD}]</center>
</td>
</tr> 代碼: 選擇全部
<!-- star030627 ChatBox Mod -->
<tr>
<td class="row1" align="left"><span class="gensmall"><br />&&{TOTAL_CHATTERS_ONLINE}
<!-- BEGIN switch_user_logged_out -->
<br />&&[ {L_LOGIN_TO_JOIN_CHAT} ]
<!-- END switch_user_logged_out -->
<!-- BEGIN switch_user_logged_in -->
<br />&&[ <a href="javascript:void(0);" onClick="window.open
('{S_JOIN_CHAT}','{CHATBOX_NAME}','scrollbars=no,width=540,height=450')">{L_CLICK_TO_JOIN_CHAT}</a> ]
<!-- END switch_user_logged_in -->
<br />{CHATTERS_LIST}
</span>
</td>
</tr>
<!-- starend -->在 portal.php 裡 的 「// Welcome Avatar 」之後,加上這段:
代碼: 選擇全部
//star030627 ChatBox Mod
'TOTAL_CHATTERS_ONLINE' => sprintf($lang['How_Many_Chatters'], $howmanychat),
'CHATTERS_LIST' => sprintf($lang['Who_Are_Chatting' ], $chatters),
'L_CLICK_TO_JOIN_CHAT' => $lang['Click_to_join_chat'],
'S_JOIN_CHAT' => append_sid("chatbox_mod/chatbox.$phpEx"),
'CHATBOX_NAME' => $userdata['user_id'] . '_ChatBox', // To make easier to test on my PC
'L_LOGIN_TO_JOIN_CHAT' => $lang['Login_to_join_chat'],
//starend代碼: 選擇全部
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//代碼: 選擇全部
// ChatBox Mod
require_once($phpbb_root_path . 'chatbox_front.php'); 之前只記錄到在 portal.php 裡放聊天室人數,現在要寫怎麼在 index.php 加。首先要到 index.php 裡找到這段程式:
在它之後加上:
接下來,由於我的系統是 phpBB2 Plus 1.3 ,我得到 templates/fisubsilversh/index_body_plus.tpl (非 plus 系統我猜想用 index_body.tpl 就好了,試試看)找到這段程式:
在程式後面加上這段話:
就這樣,大功告成! YES!
代碼: 選擇全部
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
代碼: 選擇全部
// ChatBox Mod
require_once($phpbb_root_path . 'chatbox_front.php');代碼: 選擇全部
<tr>
<td class="row1"><span class="gensmall"> \r
<center>[{L_WHOSONLINE_ADMIN}] [{L_WHOSONLINE_SUPER_MOD}] [{L_WHOSONLINE_MOD}]</center></br>
</td>
</tr>
</td>
</tr> 代碼: 選擇全部
<!-- star030627 ChatBox Mod -->
<tr>
<td class="row1" align="left"><span class="gensmall"><br />&&{TOTAL_CHATTERS_ONLINE}
<!-- BEGIN switch_user_logged_out -->
<br />&&[ {L_LOGIN_TO_JOIN_CHAT} ]
<!-- END switch_user_logged_out -->
<!-- BEGIN switch_user_logged_in -->
<br />&&[ <a href="javascript:void(0);" onClick="window.open
('{S_JOIN_CHAT}','{CHATBOX_NAME}','scrollbars=no,width=540,height=450')">{L_CLICK_TO_JOIN_CHAT}</a> ]
<!-- END switch_user_logged_in -->
<br />{CHATTERS_LIST}
</span>
</td>
</tr>
<!-- starend -->● 架設主機作業系統:IIS 6.0
● 上網方式:DSL
● 虛擬空間 http://www.securemate.com
● 安裝程式:php 4 + MySql 2.5.4
● phpBB2 版本:phpBB 2.0.22
● domain: http://www.genderwars.org
● phpBB 連結: http://phpbb.genderwars.org
● 上網方式:DSL
● 虛擬空間 http://www.securemate.com
● 安裝程式:php 4 + MySql 2.5.4
● phpBB2 版本:phpBB 2.0.22
● domain: http://www.genderwars.org
● phpBB 連結: http://phpbb.genderwars.org

