DZ更加智能化的虚拟在线for 6.0 6.1 通用版
更加智能化的虚拟在线for 6.0 6.1 通用版
功能:
随机在线会员及游客.
实现方法更简单.
各项在线动作更真实,包括游客动作.
测试一个虚拟登录功能, 此版本未附带!
插件与真实的在线会员夫冲突, 不会清除已有的在线人数.
可设置管理员查看真实在线会员.
修正在线列表部分显示内容,更加真实化.
安装方法 手动修改两个文件!:
打开: index.php文件: 查找:
复制内容代码:
while($forum = $db->fetch_array($query)) {
在下一行增加:
复制内容代码:
$onlineforum[]=$forum['fid']; //将版块UID丢出
然后,查找:
复制内容代码:
if($onlinenum > $maxonlinelist) {
在它的上一页增加:
复制内容代码:
$userrand=rand(1,1800); //UID范围;
$usersum=rand(10,200); //需要在线会员多少位? 最后位数不可大于: 论坛注意UID-200; 比如最后一个UID为2000;
$groupid=7; //除了7之外其它数字,即关闭游客在线功能!
foreach ($actioncode as $key=>$val){ //重组在线用户动作...
if(!in_array($key,array(201,211))) //将部分动作去除,如系统设置...
$actionarr[]=$key;
}
if($discuz_uid!=1) //设置管理不启用此功能
$query=$db->query("SELECT uid,username,groupid FROM `{$tablepre}members` LIMIT $userrand , $usersum");
while ($online=$db->fetch_array($query))
{
$online['invisible']=rand(0,1);
$online['lastactivity']=time()+rand(-5000,-20);
$online['fid']=$onlineforum[rand(0,count($onlineforum))]; //随机版块.
$online['action']=$actionarr[rand(0,count($actionarr))]; //随机动作,同
if(rand(1,20)%2==0&&$groupid==7){ //游客组设置...
$online['uid']='';
$online['username']='';
$online['invisible']=0;
$online['lastactivity']=time()+rand(-5000,-20); //设置时间减去多少秒, 没有能够在未来在线的..
}
$onlinenum++;
if($online['uid']) {
$membercount ++;
if($online['invisible']) {
$invisiblecount++;
continue;
} else {
$online['icon'] = isset($_DCACHE['onlinelist'][$online['groupid']]) ? $_DCACHE['onlinelist'][$online['groupid']] : $_DCACHE['onlinelist'][0];
}
} else {
$online['icon'] = $_DCACHE['onlinelist'][7];
$online['username'] = $_DCACHE['onlinelist']['guest'];
}
$online['fid'] = $online['fid'] ? $forumname[$online['fid']] : 0;
$online['action'] =$online['uid']!=''?$actioncode[$online['action']]:'游客动作-'.rand(1,20);
$online['lastactivity'] = gmdate($timeformat, $online['lastactivity'] + ($timeoffset * 3600));
$whosonline[] = $online;
}
index .php修改完成.
接着修改member.php文件. 查找:
复制内容代码:
include template('whosonline');
在它的上一行增加:
复制内容代码:
$userrand=rand(1,1800); //UID范围;
$usersum=rand(10,50); //最后位数不可大于: 论坛注意UID-200; 比如最后一个UID为2000;
$groupid=1; //除了7之外其它数字,即关闭游客在线功能!
foreach ($actioncode as $key=>$val){ //重组在线用户动作...
if(!in_array($key,array(201,211))){ //将部分动作去除,如系统设置...
$actionarr[]=$val;
$actionkey[]=$key;}
}
if($discuz_uid!=1); //设置管理不启用此功能
$query=$db->query("SELECT uid,username,groupid FROM `{$tablepre}members` LIMIT $userrand , $usersum");
while($online = $db->fetch_array($query)) {
if(rand(1,20)%2==0&&$groupid==7){ //游客组设置...
$online['uid']='';
$online['username']='';
}
$rand=rand(0,count($actionarr)-1);
$online['action'] =$online['uid']!=''?$actionarr[$rand]:'游客动作-'.rand(1,20);
$online['ip1'] = rand(20,250);$online['ip2'] = rand(20,250);$online['ip3'] = rand(20,250);$online['ip4'] = rand(20,250);
if(in_array($actionkey[$rand],array(2,3,122,192,195,196))){
$queryU=$db->query("SELECT fid,name FROM `{$tablepre}forums` order By Rand() Limit 1");
$forum=$db->fetch_array($queryU);
$online['fid']=$forum['fid'];
$online['name']=$forum['name'];
}else {
$online['fid'] ="null";
$online['name'] ='无版块操作中';
$online['tid'] ='1null';
$online['subject'] ='各项操作中';
}
$online['invisible'] =rand(0,1);
$online['ip'] = $online['ip1'].'.'.$online['ip2'].'.'.$online['ip3'].'.'.$online['ip4'];
$online['lastactivity']=gmdate($timeformat,time()+ $timeoffset * 3600-rand(500,3000));
$onlinelist[] = $online;
}
完成: