[問題]如何顯示在 chatbox 中聊天的人數?[已解決]

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

版主: 版主管理群

主題已鎖定
momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

[問題]如何顯示在 chatbox 中聊天的人數?[已解決]

文章 momoC »

謝謝天霜在 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
神川小羽
調皮の小羽
調皮の小羽
文章: 1461
註冊時間: 2004-05-01 05:55
來自: 謎樣之筱語
聯繫:

文章 神川小羽 »

你發表在這一區 別人是不能回覆的唷 移動到問題區
-.-
momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

文章 momoC »

哎呀,真不好意思。 :oops: 移動了,請將這則留言刪除好嗎?謝謝你。
● 架設主機作業系統: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
神川小羽
調皮の小羽
調皮の小羽
文章: 1461
註冊時間: 2004-05-01 05:55
來自: 謎樣之筱語
聯繫:

文章 神川小羽 »

痾 你弄錯我的意思了@@ 你是發表到外掛推薦區 那個版面別人不能回覆的
所以我把你這篇文移動到 外掛問題區 @@ 這樣誤會很大唷 :-P
另外一篇我移動到無用去了 這篇保留在外掛問題區@@
-.-
momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

文章 momoC »

原來是你已經移好啦!:-o 歹勢,因為我在自己的討論區中不能移動別人的留言(或是我不知道怎麼移?)所以以為你是提醒我移一下,現在了解了 ;-) 不好意思,把你們版面弄花花去。
momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

文章 momoC »

  嗯,沒寫過 PHP,想自己加這功能,結果是看得自己一頭霧水。現在原理猜想是懂得A只是得去研究語法怎麼寫。先和各位先進們確認一下,免得方向錯誤。
  了解「線上聊天」後面要顯示正在聊天的人數必須到 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
momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

文章 momoC »

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

代碼: 選擇全部

<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
如果到此為止線上聊天人數還是 0 ,就要回頭去 portal.php 找到這段文字

代碼: 選擇全部

// 
// 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');
momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

文章 momoC »

  之前只記錄到在 portal.php 裡放聊天室人數,現在要寫怎麼在 index.php 加。首先要到 index.php 裡找到這段程式:

代碼: 選擇全部

//
// 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');
接下來,由於我的系統是 phpBB2 Plus 1.3 ,我得到 templates/fisubsilversh/index_body_plus.tpl (非 plus 系統我猜想用 index_body.tpl 就好了,試試看)找到這段程式:

代碼: 選擇全部

<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 -->
就這樣,大功告成! YES!
● 架設主機作業系統: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
主題已鎖定

回到「外掛問題討論」