📄 whosonline.cgi
字号:
#!/usr/bin/perl
#############################################################
# Ikonboard v2.1
# Copyright 2000 Ikondiscussion.com - All Rights Reserved
# Ikondiscussion is a trademark of Ikondiscussion.com
#
# Software Distributed by: Ikondiscussion.com
# Visit us online at http://www.ikondiscussion.com
# Email us on boards@ikondiscussion.com
#
# All files written by Matthew Mecham
#############################################################
#use CGI::Carp "fatalsToBrowser"; # Output errors to browser
use CGI qw(:standard); # Saves loads of work
$CGI::POST_MAX=1024 * 150; # limit post data
$CGI::DISABLE_UPLOADS = 1; # Disable uploads
eval {
($0 =~ m,(.*)/[^/]+,) and unshift (@INC, "$1");
($0 =~ m,(.*)\\[^\\]+,) and unshift (@INC, "$1");
require "ikon.lib"; # Require ikonboard ()
require "data/progs.cgi"; # Require prog names
require "data/boardinfo.cgi";# Require board info
require "data/styles.cgi"; # Require styles info
};
if ($@) {
print header(-charset=>"gb2312"); print start_html(-title=>"ib2000 出错!");
print "不能够找到文件:$@\n如果您使用的是 Windows 类操作系统,请在每一个程序中更改 require 的设置,填入绝对路径!";
print end_html; exit;
}
$|++; # Unbuffer the output
#################--- Begin the program ---###################
$thisprog = "whosonline.cgi";
if (! $inmembername) { $inmembername = cookie("amembernamecookie"); }
if (! $inpassword) { $inpassword = cookie("apasswordcookie"); }
if ($inmembername eq "") {
$inmembername = "客人";
}
else {
&getmemberstime("$inmembername");
}
&getmember("$inmembername");
$membercodetemp = $membercode;
$helpurl = &helpfiles("在线用户");
$helpurl = qq~$helpurl<img src="$imagesurl/images/help_b.gif" border=0></a>~;
&whosonline("$inmembername|在线用户|none|查看在线用户状态|");
&title;
$output .= qq~
<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth align=center>
<tr>
<td width=30% rowspan=2 valign=top><img src="$imagesurl/images/$boardlogo" border=0></td>
<td valign=middle align=left><font face="$font" color=$fontcolormisc>
<img src="$imagesurl/images/closedfold.gif" border=0> <a href="$forumsummaryprog">$boardname</a>
<br>
<img src="$imagesurl/images/bar.gif" border=0 width=15 height=15><img src="$imagesurl/images/openfold.gif" border=0> 当前在线用户
</td>
<tr>
<td valign=bottom align=right> $helpurl</td>
</tr>
</table>
<p>
~;
$filetoopen = "$ikondir" . "data/onlinedata.dat";
open(FILE,"$filetoopen");
@onlinedata = <FILE>;
close(FILE);
$onlinedata = @onlinedata;
$output .= qq~
<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center>
<tr>
<td>
<table cellpadding=6 cellspacing=1 border=0 width=100%>
<tr>
<td bgcolor=$miscbacktwo valign=middle colspan=7 align=center><font face="$font" color=$fontcolormisc><b>在线用户列表</b> (共 $onlinedata 人)</font>
</td>
</tr>
<tr>
<td bgcolor=$miscbackone align=center><font face="$font" color=$fontcolormisc><b>头像</b></font></td>
<td bgcolor=$miscbackone align=center><font face="$font" color=$fontcolormisc><b>用户名</b></font></td>
<td bgcolor=$miscbackone align=center><font face="$font" color=$fontcolormisc><b>IP 地址</b></font></td>
<td bgcolor=$miscbackone align=center><font face="$font" color=$fontcolormisc><b>进入时间</b></font></td>
<td bgcolor=$miscbackone align=center><font face="$font" color=$fontcolormisc><b>最后活动时间</b></font></td>
<td bgcolor=$miscbackone align=center><font face="$font" color=$fontcolormisc><b>最后位置</b></font></td>
<td bgcolor=$miscbackone align=center><font face="$font" color=$fontcolormisc><b>最后动作</b></font></td>
</tr>
~;
foreach $line (@onlinedata) {
chomp $line;
($savedusername, $savedcometime, $savedtime, $savedwhere, $saveipaddress, $saveosinfo, $savebrowseinfo, $savedwhere2, $saveservername) = split(/\|/, $line);
$savedcometime = &dateformatshort($savedcometime + ($timezone*3600) + ($timedifferencevalue*3600));
$savedtime = &dateformatshort($savedtime + ($timezone*3600) + ($timedifferencevalue*3600));
$lookfor = substr($savedusername, 0, 4);
if ($lookfor eq "客人") { $savedusername = "客人"; }
# if ($savedusername eq "客人" && $savedwhere eq "登陆") { next; }
&getmember("$savedusername");
if ($avatars eq "on") {
if (($personalavatar)&&($personalwidth)&&($personalheight)) { #自定义头像存在
$useravatar = qq(<br> <img src="$personalavatar" border=0 width=$personalwidth height=$personalheight>);
}
elsif (($useravatar ne "noavatar") && ($useravatar)) {
$useravatar = qq(<br> <img src="$imagesurl/avatars/$useravatar.gif" border=0 width=32 height=32>);
}
else {$useravatar="没有"; }
}
if ($savedusername eq "客人") { $useravatar = "没有"; }
# if ($onlineavatar eq "on") {
# $onlineavatar = qq($useravatar);
# }
# else { $onlineavatar = ""; }
($ip1,$ip2,$ip3,$ip4) = split(/\./,$saveipaddress);
if ($membercodetemp eq "ad") {
$saveipaddress="$ip1.$ip2.$ip3.$ip4";
}
elsif ($membercodetemp eq "mo") {
$saveipaddress="$ip1.$ip2.$ip3.*";
}
else {
$saveipaddress="$ip1.$ip2.*.*";
}
$output .=qq~
<tr>
<td bgcolor=$miscbackone nowrap align=center>$useravatar</td>
<td bgcolor=$miscbackone nowrap align=center><font face="$font" color=$fontcolormisc><b>$savedusername</b></font></td>
<td bgcolor=$miscbackone nowrap align=center><font face="$font" color=$fontcolormisc>$saveipaddress</font></td>
<td bgcolor=$miscbackone nowrap align=center><font face="$font" color=$fontcolormisc>$savedcometime</font></td>
<td bgcolor=$miscbackone nowrap align=center><font face="$font" color=$fontcolormisc>$savedtime</font></td>
<td bgcolor=$miscbackone nowrap><font face="$font" color=$fontcolormisc>$savedwhere</font></td>
<td bgcolor=$miscbackone nowrap><font face="$font" color=$fontcolormisc>$savedwhere2</font></td>
</tr> ~;
}
$output .= qq~</table></td></tr></table>~;
print header(-charset=>"gb2312");
&output(
-Title => "$boardname - 当前在线用户",
-ToPrint => $output,
-Version => $versionnumber
);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -