⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chat-admin.pl

📁 java开发的聊天室
💻 PL
📖 第 1 页 / 共 2 页
字号:
sub showallusers
{
#显示所有在线用户
$temp="setkick";
print "<html><head><title>用户管制</title>\n";
print "<META HTTP-EQUIV=REFRESH CONTENT='30;URL=$cgiurl?job=$temp$userinfo1'>\n";
print "<LINK REL=stylesheet HREF='$cssurl' TYPE='text/css'>";
print "</head>\n";
print "<body bgcolor=$onlineback text=$onlineword><center>\n";
print "冰花雪夜用户管制";
$temp="kick";
print "<form method=post action=$cgiurl?job=$temp$userinfo1>";
print "<table border=1><tr><td>选择</td><td>IP地址</td><td>姓名</td><td>级别</td><td>性别</td><td>最后出现时间</td><td>管制状态</td></tr>\n";

$allusers=0;

@addroom     =&readtxtfile($addroomfile);
   foreach (@addroom) {
   ($temp1,$roomname,$temp2)=split(/"/,$_);
	&allonline($roomname);
   } 
opendir (MEMBERDIR, "$memberspath"); 
flock(MEMBERDIR,2);
@members = readdir(MEMBERDIR);
flock(MEMBERDIR,8);
closedir (MEMBERDIR);
require "$chathead/chat-usercount.pl";
foreach $member(@members)
{
$temp1name=substr($member,length($member)-4,length($member));
	if ($temp1name eq ".txt")
	{
		$tempname=substr($member,0,length($member)-4);		
		print "<tr><td><input type=radio name=kickvar value=$tempname></td><td>-</td><td>$tempname</td><td>-</td><td>-</td><td>-</td><td>禁用</td></tr>" if (&userstatus($tempname) ne 1);
	}
}
print "<tr><td colspan=7 align=center>冰花雪夜现共有$allusers位聊友在线!</td></tr></table>\n";
print "<br><input type=radio name=kickselect value=0 checked>发言踢出<input type=radio name=kickselect value=1>取消管制\n";
print "<br><input type=submit value=执行管制><input type=reset value=重新选择>";
print "</form>";
print "</center></body></html>\n";
}


sub kickusers
{
$kickact=&get_var("kickselect");
$kickname=&get_var("kickvar");
if ($kickname ne $zhanzhang)
{
	open (CHECKPROFILE, "$memberspath/$kickname.txt");
flock(CHECKPROFILE,2);
	@profile = <CHECKPROFILE>;
flock(CHECKPROFILE,8);
	close (CHECKPROFILE);
	@profilestats = split (/|/, $profile[0]);
	$profilestats[3]=$kickact;
	$tempstring=join('|',@profilestats);
	open (CHECKPROFILE, ">$memberspath/$kickname.txt");
flock(CHECKPROFILE,2);
	print CHECKPROFILE "$tempstring";
flock(CHECKPROFILE,8);
	close (CHECKPROFILE);
	&lockfile("$filehead$kicklogfile");
	open(KICKLOGFILE,">>$filehead$kicklogfile");
flock(KICKLOGFILE,2);
	 if ($kickact ne "1")
	{	print KICKLOGFILE "[$daten1] $username将 $kickname 踢出聊天室。\n"; }
	else
	{	print KICKLOGFILE "[$daten1] $username解除 $kickname 的禁制。\n"; }
flock(KICKLOGFILE,8);
	close(KICKLOGFILE);					
	&unlockfile("$filehead$kicklogfile");
}
&showallusers;
}

sub showregusers
{
#显示所有注册用户
print "<html><head><title>用户权限信息修改</title>\n";
print "<LINK REL=stylesheet HREF='$cssurl' TYPE='text/css'>";
print "</head>\n";
print "<body bgcolor=$onlineback text=$onlineword><center>\n";
$temp="rightok";
print "<table border=1>";
print "<CAPTION>用户资料修改</CAPTION>";
print "<form name=mypwd method=post action=$cgiurl?job=$temp$userinfo>\n";
print "<tr><td>要管理帐号:<input type=text name=nameselect size=30></td></tr>";
print "<tr><td align=center><input type=submit value=查看修改用户权限信息></td></tr>";
print "</form>";
print "</table>\n";
print "<hr size=1 color=red>管理员在这里可以修改用户权限和密码。<hr size=1 color=red>";
&showpwdform;
print "</center></body></html>\n";
}


sub rightusers
{
$temp="rightok1";
$nameselect=&get_var("nameselect");
print "<html><head><title>用户资料修改</title>";
print "<LINK REL=stylesheet HREF='$cssurl' TYPE='text/css'>";
print "</head>";
print "<body bgcolor=$onlineback text=$onlineword>\n";
if ($nameselect ne "")
{

open (CHECKPROFILE, "$memberspath/$nameselect.txt");
flock(CHECKPROFILE,2);
@profile = <CHECKPROFILE>;
flock(CHECKPROFILE,8);
close (CHECKPROFILE);
@profilestats = split (/|/, $profile[0]);

open (CHECK1PROFILE, "$memberspath/$nameselect$extcount");
flock(CHECK1PROFILE,2);
@pro1file = <CHECK1PROFILE>;
flock(CHECK1PROFILE,8);
close (CHECK1PROFILE);
@pro1filestats = split (/|/, $pro1file[0]);

print "<center><table border=1>";
print "<caption>用户资料修改<a href=$cgiurl?job=setright$userinfo>返回</a></caption>\n";
print "<form name=mypwd method=post action=$cgiurl?job=$temp$userinfo>\n";
print "<input name=nameselect type=hidden value=$nameselect>";
print "<tr><TD align=center colspan=2>修改用户$nameselect的详细资料</TD></tr>";
print "<tr><td>建立时间</td><td>$profilestats[0]</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>$profilestats[13]</td></tr>";
print "<tr><td>电子邮件</td><td>$profilestats[14]</td></tr>";
print "<tr><td>出生年月</td><td>$profilestats[15]</td></tr>";
print "<tr><td>所在城市</td><td>$profilestats[16]</td></tr>";
print "<tr><td align=center colspan=2>其他信息</td></tr>";
print "<tr><td>帐号状态</td><td>";
if ($profilestats[3] eq 1)
{print "<input type=radio name=profile3 value=1 checked>开放<input type=radio name=profile3 value=0>禁用" ;}
else {print "<input type=radio name=profile3 value=1>开放<input type=radio name=profile3 value=0 checked>禁用" ;}
print "</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[8]次</td></tr>";
print "<tr><td>踢人次数</td><td>$pro1filestats[7]次</td></tr>";
#print "<tr><td>在线时间</td><td><input type=text name=shijian size=10 value=$pro1filestats[5]>(分钟)</td></tr>";
print "<tr><td>在线时间</td><td>$pro1filestats[5](分钟)</td></tr>";
print "<tr><td>踢人权利</td><td>";
if ($profilestats[9] eq 1)
{print "<input type=radio name=profile9 value=0>无<input type=radio name=profile9 value=1 checked>有";}
else {print "<input type=radio name=profile9 value=0 checked>无<input type=radio name=profile9 value=1>有";}
print "</td></tr>";
print "<tr><td>用户级别</td><td>";
print "<input type=hidden name=profile101 value='$profilestats[10]'>";
if (&checkme eq 1)
{
if ($profilestats[10] eq 1)   {print "<input type=radio name=profile10 value=1 checked>1<input type=radio name=profile10 value=2>2<input type=radio name=profile10 value=3>3<input type=radio name=profile10 value=4>4" ;}
elsif ($profilestats[10] eq 2){print "<input type=radio name=profile10 value=1>1<input type=radio name=profile10 value=2 checked>2<input type=radio name=profile10 value=3>3<input type=radio name=profile10 value=4>4" ;}
elsif ($profilestats[10] eq 3){print "<input type=radio name=profile10 value=1>1<input type=radio name=profile10 value=2>2<input type=radio name=profile10 value=3 checked>3<input type=radio name=profile10 value=4>4" ;}
elsif ($profilestats[10] eq 4){print "<input type=radio name=profile10 value=1>1<input type=radio name=profile10 value=2>2<input type=radio name=profile10 value=3>3<input type=radio name=profile10 value=4 checked>4" ;}
else {print "<input type=radio name=profile10 value=1 checked>1<input type=radio name=profile10 value=2>2<input type=radio name=profile10 value=3>3<input type=radio name=profile10 value=4>4" ;}
}
else
{
if ($profilestats[10] eq 1)   {print "<input type=radio name=profile10 value=1 checked>1<input type=radio name=profile10 value=2>2<input type=radio name=profile10 value=3>3" ;}
elsif ($profilestats[10] eq 2){print "<input type=radio name=profile10 value=1>1<input type=radio name=profile10 value=2 checked>2<input type=radio name=profile10 value=3>3" ;}
elsif ($profilestats[10] eq 3){print "<input type=radio name=profile10 value=1>1<input type=radio name=profile10 value=2>2<input type=radio name=profile10 value=3 checked>3" ;}
elsif ($profilestats[10] eq 4){print "<input type=radio name=profile10 value=1>1<input type=radio name=profile10 value=2>2<input type=radio name=profile10 value=3 checked>3[4]" ;}
else {print "<input type=radio name=profile10 value=1 checked>1<input type=radio name=profile10 value=2>2<input type=radio name=profile10 value=3>3" ;}
}
print "</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>";
}
else
{print "请选择用户名!<a href=$cgiurl?job=setright$userinfo>返回</a>";}
print "</body></html>";

}
sub rightusers1
{
$nameselect=&get_var("nameselect");
print "<html><head><title>用户权利修改</title>";
$temp="rightok";
print "<META HTTP-EQUIV=REFRESH CONTENT='0;URL=$cgiurl?job=$temp&nameselect=$nameselect$userinfo'>";
print "<LINK REL=stylesheet HREF='$cssurl' TYPE='text/css'>";
print "</head>";
print "<body bgcolor=$onlineback text=$onlineword>\n";
#if (( $nameselect eq $zhanzhang) &&($username ne $zhanzhang))
if (&checkmetoo($nameselect) eq 1)
{print "哈哈,您不能修改站长的任何信息";}
else
{	
	open (CHECKPROFILE, "$memberspath/$nameselect.txt");
	flock(CHECKPROFILE,2);
	@profile = <CHECKPROFILE>;
	flock(CHECKPROFILE,8);
	close (CHECKPROFILE);
	@profilestats = split (/|/, $profile[0]);
		$profilestats[9]=&get_var("profile9");
		$profilestats[3]=&get_var("profile3");		
#################################################################
#判断是否有权进行4级授权
if (&checkme eq 1)
{		
	$profilestats[10]=&get_var("profile10");
}
elsif (&get_var("profile10") >=$level_high)
{
	$profilestats[10]=&get_var("profile101");
}
else
{
	$profilestats[10]=&get_var("profile10");
}
#################################################################
#		$profilestats[5]=&get_var("shijian");
		$tempstring=join('|',@profilestats);
		open (CHECKPROFILE, ">$memberspath/$nameselect.txt");
		flock(CHECKPROFILE,2);
		print CHECKPROFILE "$tempstring";
		flock(CHECKPROFILE,8);
		close (CHECKPROFILE);   
		&lockfile("$filehead$kicklogfile");
   		open(KICKLOGFILE,">>$filehead$kicklogfile");
		flock(KICKLOGFILE,2);
		print KICKLOGFILE "[$daten1] $username修改了用户$nameselect的权限。\n"; 
		flock(KICKLOGFILE,8);
	close(KICKLOGFILE);					
	&unlockfile("$filehead$kicklogfile");
}

print "</body></html>";
}


sub showpwdform {
$temp="changeok";
#print "<html><head><title>用户密码修改</title>";
#print "</head>";
#print "<body bgcolor=$onlineback text=$onlineword>\n";
print "<CENTER>修改用户密码";
print "<form method=post action=$cgiurl?job=$temp$userinfo>";
print "被修改用户:<input type=text name=nameselect>";
print "<BR>新口令一次:<input type=password name=newpwd1>";
print "<BR>新口令二次:<input type=password name=newpwd2>";
print "<BR><input type=submit value=确认修改该用户密码>";
#print "</CENTER></body></html>";
#html
}

sub changepassword {
$nameselect=&get_var("nameselect");

$newpwd1=&get_var("newpwd1");
$newpwd2=&get_var("newpwd2");
print "<html><head><title>用户密码修改</title>";
print "<META HTTP-EQUIV=REFRESH CONTENT='1;URL=$cgiurl?job=setright$userinfo'>";
print "<LINK REL=stylesheet HREF='$cssurl' TYPE='text/css'>";
print "</head>";
print "<body bgcolor=$onlineback text=$onlineword>\n";
if ($nameselect ne "")
{
if ($nameselect ne $zhanzhang)
{
	if (($newpwd1 eq $newpwd2)&&($newpwd1 ne ""))
	{

opendir (MEMBERDIR, "$memberspath"); 
    @members = readdir(MEMBERDIR);
closedir (MEMBERDIR);
   $found = 0;  
   $match = 0;

CHECKPROFILES: foreach $member(@members)
{
	if ($member eq "$nameselect.txt") 
	{
		$match = 1;
		open (CHECKPROFILE, "$memberspath/$nameselect.txt") || die "用户不存在\n";
flock(CHECKPROFILE,2);
		@profile = <CHECKPROFILE>;
flock(CHECKPROFILE,8);
		close (CHECKPROFILE);
		@profilestats = split (/|/, $profile[0]);
		$profilestats[2]=crypt($newpwd2, substr($newpwd2, 0, 2));
		$tempstring=join('|',@profilestats);
		open (CHECKPROFILE, ">$memberspath/$nameselect.txt") || die "用户不存在\n";
flock(CHECKPROFILE,2);
		print CHECKPROFILE "$tempstring";
flock(CHECKPROFILE,8);
		close (CHECKPROFILE);   
		
		print "$nameselect的密码被修改为$newpwd2!";
		&lockfile("$filehead$kicklogfile");
   		open(KICKLOGFILE,">>$filehead$kicklogfile");
flock(KICKLOGFILE,2);
		print KICKLOGFILE "[$daten1] $username修改了用户$nameselect的口令。\n"; 
flock(KICKLOGFILE,8);
		close(KICKLOGFILE);					
		&unlockfile("$filehead$kicklogfile");
		
		last CHECKPROFILES;
		
	}
}
print "用户不存在!" if ($match eq 0);

	}
	else
	{
		print "<CENTER><H1>两次口令不一致!或输入口令为空!</H1></CENTER>";
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -