📄 chat-admin.pl
字号:
else
{
print "<CENTER><H1>你不能修改站长的密码哦!</H1></CENTER>";
}
}
else
{print "没有输入用户名!";}
print "</body></html>";
}
sub kicklog
{
&lockfile("$filehead$kicklogfile");
open(KICKLOGFILE,"$filehead$kicklogfile");
@line=<KICKLOGFILE>;
close(KICKLOGFILE);
&unlockfile("$filehead$kicklogfile");
print "<html><head><title>系统操作日志</title>";
print "<LINK REL=stylesheet HREF='$cssurl' TYPE='text/css'>";
print "</head><body>";
print "<p>系统操作日志:";
foreach $line(@line)
{
print "<br>$line";
}
print "</p>";
print "</body></html>";
}
sub showkickip
{
#显示所有在线用户ip
$temp="showkickip";
print "<html><head><title>封死IP地址</title>\n";
print "<META HTTP-EQUIV=REFRESH CONTENT='$reloadxx;URL=$cgiurl?job=$temp$userinfo'>\n";
print "<LINK REL=stylesheet HREF='$cssurl' TYPE='text/css'>";
print "</head>\n";
print "<body bgcolor=$onlineback text=$onlineword><center>\n";
print "封死IP地址<br>\n";
$temp="kickip";
print "<table border=1>";
print "<form method=post action=$cgiurl?job=$temp$userinfo>";
print "<tr><td>选择</td><td>IP地址</td><td>姓名</td><td>级别</td><td>性别</td><td>最后出现时间</td><td>管制状态</td></tr>\n";
$temp="";
$allusers=0;
#显示已被管制的用户
@addroom =&readtxtfile($addroomfile,2);
foreach (@addroom) {
($temp1,$roomname,$temp2)=split(/"/,$_);
$onlinefile="$roomname";
@online=&readtxtfile($onlinefile,2);
@online=sort @online;
foreach (@online) {
($mark,$chkuserip,$chkusername,$chkuserlevel,$chkusersex,$chktimen,$chksecn,$markend,$last)=split(/↑/,$_);
if (($mark eq "online") && ($markend eq "end")) {
if ($temp ne "$chkuserip↑$chkusername↑$chkuserlevel") {
$allusers=$allusers+1;
print "<tr>";
if($chkuserlevel>2 || $chkusername eq $zhanzhang){print "<td>--</td>";}
else { print "<td><input type=radio name=kickvar value=$chkuserip></td>";}
print "<td>$chkuserip</td>";
print "<td>$chkusername</td>";
print "<td>$chkuserlevel</td>";
print "<td>$chkusersex</td>";
print "<td>$chktimen</td>";
print "<td>";
@kickip=&readtxtfile("$filehead$kickipfile",2);
$kickstatus=0;
foreach $line(@kickip) {
chop($line);
if ($chkuserip eq $line){
print "封死IP";
$kickstatus=1;
last;
}
}
print "正常" if ($kickstatus eq 0);
print "</td></tr>\n";
}
$temp="$chkuserip↑$chkusername↑$chkuserlevel";
}
}
}
@kickip=&readtxtfile("$filehead$kickipfile",2);
foreach (@kickip)
{
chop($_);
print "<tr><td><input type=radio name=kickvar value='$_'></td>";
print "<td>$_</td>";
print "<td>-</td>";
print "<td>-</td>";
print "<td>-</td>";
print "<td>-</td>";
print "<td>禁止<td></tr>\n";
}
print "<tr><td><input type=radio name=kickvar value=myip></td>";
print "<td colspan=6>超级踢IP地址<input type=text name=myip>(支持如:202.97.*.*)</td></tr>\n";
print "<tr><td colspan=7 align=center>冰花雪夜现共有$allusers位聊友在线!</td></tr></table>\n";
print "<br><input type=radio name=kickselect value=kick checked>封死IP<input type=radio name=kickselect value=unkick>取消封锁\n";
print "<br><input type=submit value=执行封锁><input type=reset value=重新选择>";
print "</form>";
print "</center></body></html>\n";
}
sub kickip
{
$kickact=&get_var("kickselect");
$name=$username;
$kickname=&get_var("kickvar");
&lockfile("$filehead$kickipfile");
open(KICKFILE,"$filehead$kickipfile");
@kickip = <KICKFILE>;
close(KICKFILE);
&unlockfile("$filehead$kickipfile");
if ($kickact eq "kick") {
#kick users;
$kickname=&get_var("myip") if ($kickname eq "myip");
$kick1=0;
#判断是否已实行管制
foreach $line(@kickip) {
chop($line);
if ( $line eq $kickname )
{
$kick1=1;
last;
}
}
if($kick1 eq 0){
#如果没有就进行管制
&lockfile("$filehead$kickipfile");
open(KICKFILE,">>$filehead$kickipfile");
print KICKFILE "$kickname\n";
close(KICKFILE);
&unlockfile("$filehead$kickipfile");
&lockfile("$filehead$kicklogfile");
open(KICKLOGFILE,">>$filehead$kicklogfile");
print KICKLOGFILE "[$daten1] $name将 $kickname 踢出聊天室。\n";
close(KICKLOGFILE);
&unlockfile("$filehead$kicklogfile");
}
}
elsif($kickact eq "unkick"){
&lockfile("$filehead$kicklogfile");
open(KICKLOGFILE,">>$filehead$kicklogfile");
print KICKLOGFILE "[$daten1] $name解除 $kickname 的管制。\n";
close(KICKLOGFILE);
&unlockfile("$filehead$kicklogfile");
&lockfile("$filehead$kickipfile");
$test = 0;
$usrno =0;
open(KICKFILE,">$filehead$kickipfile");
foreach $line(@kickip) {
chop($line);
if ( $line ne $kickname )
{
print KICKFILE "$line\n";
}
}
close(KICKFILE);
&unlockfile("$filehead$kickipfile");
}
&showkickip;
}
sub allonline {
$temp="";
$onlinefile = $_[0];
@online=&readtxtfile($onlinefile,2);
@online=sort @online;
require "$chathead/chat-usercount.pl";
foreach (@online) {
($mark,$chkuserip,$chkusername,$chkuserlevel,$chkusersex,$chktimen,$chksecn,$markend,$last)=split(/↑/,$_);
if (($mark eq "online") && ($markend eq "end")) {
if ($temp ne "$chkuserip↑$chkusername↑$chkuserlevel") {
if (!(($chksecn<$secn-$reloadxxx) || ($chksecn>$secn+$reloadxxx))) {
$allusers=$allusers+1;
print "<tr>";
if($chkuserlevel>3 || $chkusername eq $zhanzhang){print "<td>--</td>";}
else { print "<td><input type=radio name=kickvar value=$chkusername></td>";}
print "<td>$chkuserip</td>";
print "<td>$chkusername</td>";
print "<td>$chkuserlevel</td>";
print "<td>$chkusersex</td>";
print "<td>$chktimen</td>";
print "<td>";
if ((&userstatus($chkusername)) eq 0)
{print "禁用";}
else {print "正常";}
print "</td></tr>\n";
}
}
$temp="$chkuserip↑$chkusername↑$chkuserlevel";
}
}
}
#用户修改密码显示窗口
sub chgmypwd
{
print "<html><head><title>用户资料修改</title>";
print "<LINK REL=stylesheet HREF='$cssurl' TYPE='text/css'>";
print "</head>";
open (CHECKPROFILE, "$memberspath/$username.txt");
@profile = <CHECKPROFILE>;
close (CHECKPROFILE);
@profilestats = split (/|/, $profile[0]);
open (CHECK1PROFILE, "$memberspath/$username$extcount");
@pro1file = <CHECK1PROFILE>;
close (CHECK1PROFILE);
@pro1filestats = split (/|/, $pro1file[0]);
print "<body bgcolor=$onlineback text=$onlineword>\n";
print "<center><table border=1>";
print "<caption>用户资料修改</caption>\n";
print "<form name=mypwd method=post action=$cgiurl?job=chgmypwdok$userinfo>\n";
print "<tr><TD align=center colspan=2>修改用户$username的详细资料</TD></tr>";
print "<tr><td>建立时间</td><td>$profilestats[0]</td></tr>";
print "<tr><td>帐号状态</td><td>";
print "禁用状态" if ($profilestats[3] eq 0);
print "正常状态" if ($profilestats[3] eq 1);
print "</td></tr>";
print "<tr><td>用户密码</td><td>新口令一次:<input type=password name=newpwd1><BR>新口令二次:<input type=password name=newpwd2></td></tr>";
print "<tr><td>真实姓名</td><td><input type=text name=profile13 value=$profilestats[13]></td></tr>";
print "<tr><td>电子邮件</td><td><input type=text name=profile14 value=$profilestats[14]></td></tr>";
print "<tr><td>出生年月</td><td><input type=text name=profile15 value=$profilestats[15]></td></tr>";
print "<tr><td>所在城市</td><td><input type=text name=profile16 value=$profilestats[16]></td></tr>";
print "<tr><td align=center colspan=2>其他信息</td></tr>";
print "<tr><td>登陆次数</td><td>$pro1filestats[4]次</td></tr>";
print "<tr><td>发言次数</td><td>$pro1filestats[6]次</td></tr>";
print "<tr><td>踢人次数</td><td>$pro1filestats[7]次</td></tr>";
print "<tr><td>私聊次数</td><td>$pro1filestats[8]次</td></tr>";
print "<tr><td>在线时间</td><td>$pro1filestats[5](分钟)</td></tr>";
print "<tr><td>踢人权利</td><td>$profilestats[9](0:无;1:有)</td></tr>";
print "<tr><td>用户级别</td><td>$profilestats[10]</td></tr>";
print "<tr><td>最后时间</td><td>$pro1filestats[12]</td></tr>";
print "<tr><td align=center colspan=2><input type=submit value=确认修改资料></td></tr>";
print "</table>";
print "<hr size=1><FONT COLOR=Fuchsia>如果您忘记密码请和管理员联系!</FONT><hr size=1>";
print "</CENTER></body></html>";
}
#用户修改密码
sub chgmypwdok
{
$newpwd1=&get_var("newpwd1");
$newpwd2=&get_var("newpwd2");
print "<html><head><title>用户密码修改</title>";
print "<META HTTP-EQUIV=REFRESH CONTENT='0;URL=$cgiurl?job=chgmypwd$userinfo'>";
print "<LINK REL=stylesheet HREF='$cssurl' TYPE='text/css'>";
print "</head>";
print "<body bgcolor=$onlineback text=$onlineword>\n";
if ($newpwd1 eq $newpwd2)
{
open (CHECKPROFILE, "$memberspath/$username.txt");
@profile = <CHECKPROFILE>;
close (CHECKPROFILE);
@profilestats = split (/|/, $profile[0]);
if(($newpwd1 ne "")&&(length($newpwd1)>=6))
{
$profilestats[2]=crypt($newpwd2, substr($newpwd2, 0, 2)) ;
$profilestats[13]=&get_var("profile13");
$profilestats[14]=&get_var("profile14");
$profilestats[15]=&get_var("profile15");
$profilestats[16]=&get_var("profile16");
$tempstring=join('|',@profilestats);
open (CHECKPROFILE, ">$memberspath/$username.txt");
print CHECKPROFILE "$tempstring";
close (CHECKPROFILE);
print "密码和其他信息修改成功!";
}
else
{
$profilestats[13]=&get_var("profile13");
$profilestats[14]=&get_var("profile14");
$profilestats[15]=&get_var("profile15");
$profilestats[16]=&get_var("profile16");
$tempstring=join('|',@profilestats);
open (CHECKPROFILE, ">$memberspath/$username.txt");
print CHECKPROFILE "$tempstring";
close (CHECKPROFILE);
print "信息修改成功!但密码没被修改,如想修改密码,请输入大于6个字符的密码!";
}
}
else
{
print "<CENTER><H1>两次口令不一致!</H1></CENTER>";
}
print "</body></html>";
}
sub checkme
{
$userno=0;
for ($userno=0;$userno<=$#privateuser;$userno++)
{
return(1) if ($username eq $privateuser[$userno]);
}
}
sub checkmetoo
{
$userno=0;
for ($userno=0;$userno<=$#privateuser;$userno++)
{
return(1) if ($_[0] eq $privateuser[$userno]);
}
}
1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -