Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[修改]即时聊天室(主页嵌入式,无后台)

[复制链接]
不削吃鱼的猫 发表于 2005-8-5 11:07:26 | 显示全部楼层 |阅读模式
#HACK名称:即时聊天室   
#HACK作者:oytktk
#HACK修改:我。。。。
#技术支持:http://E-DYN.com
#适合版本:2.5F SP1
#安装难度:简单
#数据库升级:两个
#修改文件:index.htm 模板

演示:http://E-DYN.com

呵呵,
拿了 oytktk 老大的聊天室 来修改。
个猫不喜欢聊天室都要去后台管理。。
所以管理都在前台。。。

新功能增加:

1)聊天室特殊指令。
2)隐身发言。
3)点击聊天会员名字可以发送短信息。
4)可选择是否自动刷新聊天室。(避免聊天室内无人页面仍刷新,浪费资源。。)
5)增加多种表情图案。。
6)图片地址输入框。。

安装:
-----------------------------------------------

STEP 1

后台升级数据库
  1. DROP TABLE IF EXISTS cdb_chat;
  2.         CREATE  TABLE  cdb_chat (
  3.                 cid mediumint(18) unsigned NOT NULL auto_increment,
  4.                 from_user VARCHAR(15)  NOT  NULL ,
  5.                 to_user VARCHAR(15)  NOT  NULL ,
  6.                 time VARCHAR(20)  NOT  NULL ,
  7.                 colour VARCHAR(20)  NOT  NULL ,
  8.                 words VARCHAR(255)  NOT  NULL ,
  9.                 private TINYINT(1) NOT NULL ,
  10.                 action VARCHAR(15) NOT NULL ,
  11.                 logtime INT(15) NULL ,
  12.                 KEY cid (cid)
  13.         )TYPE=MyISAM AUTO_INCREMENT=2 ;

  14. DROP TABLE IF EXISTS cdb_chatban;
  15.         CREATE  TABLE  cdb_chatban (
  16.                 banid mediumint(18) unsigned NOT NULL auto_increment,
  17.                 ban_user VARCHAR(15)  NOT  NULL ,
  18.                 ban_from VARCHAR(15)  NOT  NULL ,
  19.                 kick TINYINT(1) NOT NULL ,
  20.                 block TINYINT(1) NOT NULL ,
  21.                 KEY banid (banid)
  22.         )TYPE=MyISAM AUTO_INCREMENT=2 ;
复制代码


STEP 2
按附件结构目录上传。

STEP 3
打开 index.htm 模板,找到
  1. <!--{if empty($gid) && $whosonlinestatus}-->
复制代码


上面增加
  1. <!--{if empty($gid)}-->
  2. <body onload="proff();">
  3. <script LANGUAGE="javascript">
  4. function pron(name, value, hours)
  5. {
  6.   var expire = "";
  7.   if(hours != null)
  8.   {
  9.     expire = new Date((new Date()).getTime() + hours * 3600000);
  10.     expire = "; expires=" + expire.toGMTString();
  11.   }
  12.   document.cookie = name + "=" + escape(value) + expire;
  13.   
  14.   proff();
  15. }

  16. function proff()
  17. {
  18.      var cookie=document.cookie;
  19.      var start=cookie.indexOf("chat=");
  20.      var end=cookie.indexOf(";",start);
  21.      if(end==-1)end=cookie.length;
  22.      var getcookie=cookie.substring(start+5,end);

  23. if (getcookie=="off")
  24. {
  25. marker.style.display = "none";
  26. document.all.main.src="free.php";
  27. }
  28. else{
  29. document.all.main.src= "chat.php";
  30. marker.style.display = "";
  31. }
  32. }
  33. </script>
  34. <tr><td colspan="3" class="header">
  35. <table cellspacing="0" cellpadding="0" border="0" width="100%" align="center">
  36. <tr class="smalltxt" style="color: #FFFFFF">
  37. <td><img src="{IMGDIR}/indexicon.gif" align="absmiddle"><span class="bold"> 即时聊天室 </span>- <a href="###" onclick="pron('chat','on',1000000);"><font color="#FFFFFF">[+]</font></a>&nbsp;<a href="###" onclick="pron('chat','off',1000000);"><font color="#FFFFFF">[-]</font></a>&nbsp;&nbsp;<a href="###" onclick="pron('chat','on',1000000);"><font color="#FFFFFF">[刷新在线名单]</font></a></td></tr></table>
  38. <tr><td colspan="3" class="header" id="marker" style="DISPLAY: none">
  39. <IFRAME name=main src=chat.php frameBorder=0 width="100%" scrolling=no height=320></IFRAME>
  40. </td></tr><!--{/if}-->
复制代码


完成,保存。
下面是聊天室内的特殊指令一览表。
在对话框输入,就可以实行下列效果。

1)-rebuild
功能:聊天室数据库结构删除,重建。
限制:仅管理员使用。

2)-optimize
功能:聊天室数据库资料结构优化。
限制:管理员和总版都可使用。

3)-clear
功能:清除所有聊天内容。(如果指定会员,就是删除该会员所有的聊天内容。)
限制:版主以上。

4)-listall
功能:列出所有的聊天讯息。(如果指定会员,就是列出该会员所有的聊天讯息。)
限制,版主以上。

5)-showall
功能:列出所有别人曾经对你说过的话。
限制:版主以上。

6)-block
功能:禁言指定会员。(版主以上不受此限。)
限制,版主以上。

7)-unblock
功能:解禁指定会员。
限制:版主以上。

8)-kick
功能:踢除指定会员。(版主以上可自己解除状态。)
限制:版主以上。

9)-unkick
功能:解除指定会员状态。
限制:版主以上。

10)-list
功能:列出自己曾经说过的话。
限制:会员以上。

11)-show
功能:列出别人对自己说过的话。
限制:会员以上。

12)-nudge
功能:发出仿 MSN 趣味震动音。
限制:会员以上。


更新。
-----------------------------------------------

-----

[size=-2][size=-2]定时清理聊天资料。

打开 chatwrite.php
找到
  1. $checkblock = $db->query("SELECT * FROM cdb_chatban WHERE ban_user='$from_user'");
复制代码

上面增加
  1. $qcount = $db->query("SELECT * FROM cdb_chat");
  2. $rowcount = $db->num_rows($qcount);

  3. if($rowcount > 100){
  4.         $db->query("DELETE FROM cdb_chat");
  5. }
复制代码


聊天资料超过 100 笔的时候,自动清除。

-----
-----

[size=-2][size=-2]聊天窗口默认成打开。

修改 index.htm 模板。
  1. <td colspan="3" class="header" id="marker" style="DISPLAY: none">
复制代码

改成
  1. <td colspan="3" class="header" id="marker" style="DISPLAY: ">
复制代码


-----

-----

国际时间格式显示

打开 chatwrite.php
找到
  1. m月d日h:i
复制代码

修改成
  1. m月d日H:i
复制代码


-----

-----

更新时间不正确的问题:

打开 chatwrite.php
搜索
  1. time()+28800
复制代码

修改成
  1. time()
复制代码


有两个。

-----



下面是截图。

[ 本帖最后由 不削吃鱼的猫 于 2005-8-20 15:48 编辑 ]

评分

1

查看全部评分

wj好心情 发表于 2005-8-5 11:28:10 | 显示全部楼层
会不会影响速度呀
回复

使用道具 举报

freddy 发表于 2005-8-5 11:30:39 | 显示全部楼层
全是红叉
回复

使用道具 举报

 楼主| 不削吃鱼的猫 发表于 2005-8-5 11:59:42 | 显示全部楼层
原帖由 wj好心情 于 2005-8-5 11:28 发表
会不会影响速度呀


聊天室是主页嵌入式,
如果说是整个论坛的速度,绝对不会。

原帖由 freddy 于 2005-8-5 11:30 发表
全是红叉

想懒惰都不行。。
变成附件了。。。:L
回复

使用道具 举报

freddy 发表于 2005-8-5 12:01:54 | 显示全部楼层
刚刚真的全是红叉!!!现在好了!加点分!
回复

使用道具 举报

tomsina 发表于 2005-8-5 12:13:39 | 显示全部楼层
不错,收录!
回复

使用道具 举报

963 发表于 2005-8-5 12:35:47 | 显示全部楼层
安装成功!谢谢啦!
怎么管理啊!
怎么使用那些命令啊!
具体说说行么??

[ 本帖最后由 963 于 2005-8-5 12:40 编辑 ]
回复

使用道具 举报

963 发表于 2005-8-5 12:43:41 | 显示全部楼层

好了,会了!!

回复

使用道具 举报

oytktk 发表于 2005-8-5 12:56:42 | 显示全部楼层
呵呵..不错哦..顶啦~~
回复

使用道具 举报

 楼主| 不削吃鱼的猫 发表于 2005-8-5 15:18:24 | 显示全部楼层
原帖由 oytktk 于 2005-8-5 12:56 发表
呵呵..不错哦..顶啦~~


刚刚回论坛上看到 oytktk 老大在聊天室。。
哈哈哈。。
吃猫的鱼不是我,是我内人。。==+。。
晕。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-5-2 09:45 , Processed in 0.122074 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表