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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] 首页在线显示所有用户组名单、ip方法(不同于以往版本)

[复制链接]
bossyear 发表于 2006-1-7 18:48:26 | 显示全部楼层 |阅读模式
自己的论坛原来是使用2.5f sp1版的,现在刚升级4.0版,个别在2.5f sp1上安装过的插件功能,有一部分都进行了重装,其中有一个功能,就是首页在线列表显示所有用户组和ip地址。

在4.0插件专区中找,有两三个相关的帖子,但不怎么理想,比如想显示游客的ip,显示ip的代码需要重复加入,不方便,也增加了代码行。

我最终还是参考自己2.5f sp1版上使用的代码,结合4.0插件专区中(好像目前在第六页中),完善了一下。2.5f sp1中我安装的这个插件的代码作者我已经不记得了,这里就不注明了,希望原作者谅解。

以下是安装方法:

修改文件:
admin/misc.inc.php
index.php(根目录程序文件)
index.htm(模板文件,你论坛相应模板目录)

第一步
打开misc.inc.php
找到:

  1. $query = $db->query("SELECT groupid, grouptitle FROM {$tablepre}usergroups WHERE groupid<>'7' AND type<>'member'");
复制代码


修改为:

  1.                 //Major修改,首页在线列表显示所有用户组名单
  2.                 //$query = $db->query("SELECT groupid, grouptitle FROM {$tablepre}usergroups WHERE groupid<>'7' AND type<>'member'");
  3.                 $query = $db->query("SELECT groupid, grouptitle FROM {$tablepre}usergroups ORDER BY type");
复制代码



第二步
在后台在线用户列表定制栏目中,设置游客的显示图标。
然后更新论坛缓存。


第三步
打开index.php
找到:

  1. $query = $db->query("SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM {$tablepre}sessions ORDER BY uid DESC");
复制代码


在uid字段后面增加ip1, ip2, ip3, ip4,注意字段间的空格和",":

  1.                                                 //在线列表增加IP信息,增加ip1, ip2, ip3, ip4字段查询
  2.                         $query = $db->query("SELECT uid, ip1, ip2, ip3, ip4, username, groupid, invisible, action, lastactivity, fid FROM {$tablepre}sessions ORDER BY uid DESC");
复制代码


找到:

  1.                                         $online['fid'] = $online['fid'] ? $forumname[$online['fid']] : 0;
  2.                                         $online['action'] = $actioncode[$online['action']];
  3.                                         $online['lastactivity'] = gmdate($timeformat, $online['lastactivity'] + ($timeoffset * 3600));
  4.                                         $whosonline[] = $online;
  5.                                 } else {
  6.                                         break;
  7.                                 }
  8.                         }
复制代码


修改为:

  1. //修改首页在线列表,显示游客和IP信息  开始
  2.                                         //$online['fid'] = $online['fid'] ? $forumname[$online['fid']] : 0;
  3.                                         //$online['action'] = $actioncode[$online['action']];
  4.                                         //$online['lastactivity'] = gmdate($timeformat, $online['lastactivity'] + ($timeoffset * 3600));
  5.                                         //$whosonline[] = $online;
  6.                                 //} else {
  7.                                         //break;
  8.                                 //}
  9.                         //}
  10.                                   } else {
  11.                                         if (isset($_DCACHE['onlinelist'][7])) {
  12.                                                 $online['icon'] = $_DCACHE['onlinelist'][7];
  13.                                                 $online['username'] = '游客';
  14.                                         }
  15.                         
  16.                                   }
  17.                                   $online['fid'] = $online['fid'] ? $forumname[$online['fid']] : 0;
  18.                                   $online['action'] = $actioncode[$online['action']];
  19.                                   $online['lastactivity'] = gmdate($timeformat, $online['lastactivity'] + ($timeoffset * 3600));
  20.                                   $online['ip'] = $online['ip1'].'.'.$online['ip2'].'.'.$online['ip3'].'.'.$online['ip4'];
  21.                                   if($allowviewip) {
  22.                                         require_once $discuz_root.'./include/misc.func.php';
  23.                                         $online['iplocation'] = convertip($online['ip']);
  24.                                   }
  25.                                   $whosonline[] = $online;
  26.                         }
  27. //修改首页在线列表,显示游客和IP信息  结束
复制代码



第四步
打开模板文件index.htm
找到:

  1. <a href="viewpro.php?uid=$online[uid]" title="{lang time}: $online[lastactivity]{LF}
  2.                                         {lang action}: $online[action]
  3.                                         <!--{if $online['fid']}-->{LF}{lang forum}: $online[fid]<!--{/if}-->">$online[username]</a>
复制代码


修改为:

  1. <!--{if $online[uid]}-->
  2. <a href="viewpro.php?uid=$online[uid]"
  3.                                         <!--{else}-->
  4.                                                 <a href="###"
  5.                                         <!--{/if}-->
  6. title="{lang time}: $online[lastactivity]{LF}
  7.                                         {lang action}: $online[action]
  8.                                         <!--{if $online['fid']}-->{LF}{lang forum}: $online[fid]<!--{/if}--><!--{if $allowviewip}-->{LF}{lang online_ip}: $online[ip]{LF}{lang location}:$online[iplocation]<!--{/if}-->
  9.                                         ">$online[username]</a>

复制代码


OK,完成结束。

看看效果吧,以下是截图:

[ 本帖最后由 bossyear 于 2006-1-7 18:49 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

1

查看全部评分

jimmyjimmyqqq 发表于 2006-1-7 19:31:21 | 显示全部楼层
丟挺不錯,先支持一下!沙發!
回复

使用道具 举报

szqyn 发表于 2006-1-7 19:39:02 | 显示全部楼层
支持
回复

使用道具 举报

夜の郎 发表于 2006-1-7 19:39:58 | 显示全部楼层
支持、,
回复

使用道具 举报

 楼主| bossyear 发表于 2006-1-7 20:00:11 | 显示全部楼层
谢谢楼上各位的支持,希望对需要这个插件的朋友们有所帮助.
回复

使用道具 举报

vairt 发表于 2006-1-7 20:14:14 | 显示全部楼层
zhichi
回复

使用道具 举报

madly 发表于 2006-1-7 22:28:00 | 显示全部楼层
不错,我也这样改的。
回复

使用道具 举报

爱好者 发表于 2006-1-8 01:19:18 | 显示全部楼层
顶了~
回复

使用道具 举报

eghawk 发表于 2006-1-8 06:59:04 | 显示全部楼层
zhichi
回复

使用道具 举报

gaety 发表于 2006-1-8 08:02:51 | 显示全部楼层
为什么我的效果不同呢




操作和IP地址 为什么会有个空格呢

[ 本帖最后由 gaety 于 2006-1-8 08:05 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 19:54 , Processed in 0.126874 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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