📄 setmembers.cgi
字号:
}
else { #預刪除會員為 0 時自動取消
unlink ("${lbdir}data/delmember.cgi");
print qq~
预删除文件不存在,现在可以进行预删除。
~;
}
}
else {
print qq~
预删除文件不存在,现在可以进行预删除。
~;
}
print qq~
<BR><BR>
</td>
</tr>
~;
}
print qq~
<tr>
<td bgcolor=#FFFFFF colspan=2>
<font color=#333333><b>查看、编辑、删除、禁止用户</b><br>
点击下面的字母你可以查看到用户详细资料, 并可编辑、改变用户的信息。<br>
禁止用户:只要简单的点击“编辑用户”,然后在“用户属性”中选择“禁止用户”就可以。<br>
删除用户:只要找到用户,点击删除就可以。<br>
<form action="setmembers.cgi" method=POST>
<input type=hidden name="action" value="edit">
<input type=text name="member" size=10 maxlength=16>
<input type=submit value="快速定位">
</form>
~;
print qq~
注册用户大致列表:<br>$tempoutput
<P><a href=$thisprog?action=viewip>寻找以特定IP注册的用户</a>
<p>注册IP大致列表:<br>$tempoutput2
</td>
</tr>
<tr>
<td bgcolor=#FFFFFF colspan=2>
<font color=#333333><BR>
<b>注意事项:</b><p>
如果您希望给您的用户一个自定义的头衔,只要编辑他(她)的资料。<br>
这个论坛利用储存的发贴数来确定他们的成员身份.<br>
如果您任命一个用户为版主,而他本身却没有自定义的头衔,那么就会自动添加一个版主头衔。
如果他已有自定义的等级,那么他的原头衔将被保留。<br>
版主只能够管理自己的论坛,但是他们也可以在其他论坛中使用 #Moderation Mode 下的功能。<br>
请确保您所提升的版主是可靠的。<br>
版主也和坛主一样,不受灌水预防机制限制。<br>
只有坛主才能够进入管理中心。<br><br>
如果你禁止了一个用户,那么也同时禁止了用他们原名称、邮件重新注册的可能。
</td>
</tr>
~;
} # end routne
##################################################################################
######## Subroutes (Do member count)
sub canceldel {
unless (($membercode eq "ad") && ($inpassword eq $password) && (lc($inmembername) eq lc($membername))) {
print qq~
<tr>
<td bgcolor=#FFFFFF align=center colspan=2>
<font color=#990000>
<b>错误!</b><p>
<font color=#333333>你没有权限使用这个功能!</font>
</td></tr>
~;
}
else {
unlink ("${lbdir}data/delmember.cgi");
print qq~
<tr>
<td bgcolor=#FFFFFF align=center colspan=2>
<font color=#990000>
<b>取消预删除</b><p>
<font color=#333333>预删除已经被取消!</font>
</td></tr>
~;
}
}
sub delnopost
{
$step = $query->param('step');
$step = 1 unless ($step);
$size1 = $query->param('size1');
$size1 = 0 unless($size1);
$users = $query->param('users');
$users = 500 unless($users);
opendir (DIR, "${lbdir}$memdir/old");
@files = readdir(DIR);
closedir (DIR);
@memberfiles = grep(/\.cgi$/i,@files);
$size = @memberfiles;
$currenttime = time;
if (-e "${lbdir}data/delmember.cgi" && $step == 1)
{
print qq~
<tr><td bgcolor=#FFFFFF align=center colspan=2>
<font color=#990000>
<b>计算用户排名</b><p>
<font color=#333333>预删除文件存在,不可重复预删除!</font>
</td></tr>~;
}
else
{
if ($step == 1)
{
open (FILE, ">${lbdir}data/delmember.cgi");
print FILE "$currenttime\t\n";
close (FILE);
unlink("${lbdir}data/lbmember.cgi");
}
$sendtoemail = "";
open(MEMFILE, ">>${lbdir}data/lbmember.cgi");
flock(MEMFILE, 2) if ($OS_USED eq "Unix");
for ($i = ($step - 1) * $users; $i < $step * $users && $i < $size; $i++)
{
$memberfile = $memberfiles[$i];
$usrname="${lbdir}$memdir/$memberfile";
$usrname="${lbdir}$memdir/old/$memberfile" if (!(-e $usrname));
open (FILE, "$usrname");
flock (FILE, 2) if ($OS_USED eq "Unix");
$line = <FILE>;
close (FILE);
undef $joineddate;
undef $lastgone;
undef $anzahl;
undef $lastpostdate;
undef $userad;
undef $visitno;
undef $anzahl1;
undef $anzahl2;
undef $emailaddr;
undef $membername;
($membername, $no, $no, $userad, $anzahl, $emailaddr, $no, $no, $no, $no, $no ,$no ,$no, $joineddate, $lastpostdate, $no, $timedifference, $no, $no, $no, $no, $no, $no, $no, $no, $rating, $lastgone, $visitno, $addjy, $meili, $mymoney, $postdel, $sex, $education, $marry, $work, $born, $chatlevel, $chattime, $jhmp, $useradd3, $useradd4, $onlinetime, $userquestion, $useradd6, $useradd7, $useradd8) = split(/\t/,$line);
($anzahl1, $anzahl2) = split(/\|/,$anzahl);
$anzahl = $anzahl1 + $anzahl2;
($lastpost, $posturl, $posttopic) = split(/\%\%\%/, $lastpostdate);
$lastgone = $lastpost if ($lastpost > $lastgone);
$lastgone = $joineddate if ($joineddate > $lastgone);
$lastposttime = $lastpost;
$lastposttime = $joineddate if ($joineddate > $lastposttime);
$lastposttime1 = $lastposttime + $indelcdrom*3600*24;
$lastgone1 = $lastgone + $indeltime*3600*24;
$DelThisMember="no";
if($delusetype eq "And")
{
$DelThisMember="yes" if (($lastgone1 <= $currenttime)&&($anzahl <= $indelposts)&&($lastposttime1 <= $currenttime));
}
else
{
$DelThisMember="yes" if (($lastgone1 <= $currenttime)||($anzahl <= $indelposts)||($lastposttime1 <= $currenttime));
}
$DelThisMember="no" if(($userad eq "ad")||($userad eq "mo")||($userad eq "smo")||($userad eq "rz"));
if ($DelThisMember eq "yes")
{
if ($indellast ne "no")
{
if (($visitno <= $indellast)||($delusetype eq "OR"))
{
open(FILE, ">>${lbdir}data/delmember.cgi");
flock(FILE, 2) if ($OS_USED eq "Unix");
print FILE "$memberfile\t$lastgone\t\n";
close(FILE);
$size1++;
if ($sendtoemail eq "") { $sendtoemail = "$emailaddr"; } else { $sendtoemail = "$sendtoemail, $emailaddr"; }
}
}
else
{
open(FILE, ">>${lbdir}data/delmember.cgi");
flock(FILE, 2) if ($OS_USED eq "Unix");
print FILE "$memberfile\t$lastgone\t\n";
close(FILE);
$size1++;
if ($sendtoemail eq "") { $sendtoemail = "$emailaddr"; } else { $sendtoemail = "$sendtoemail, $emailaddr"; }
}
}
print MEMFILE "$membername\t$userad\t$anzahl\t$joineddate\t\n";
}
close(MEMFILE);
if ($sendtoemail ne "" && $emailfunctions eq "on")
{
$from = "$adminemail_out";
$subject = "来自$boardname的重要邮件!!";
$message = "";
$message .= "\n";
$message .= "$boardname <br>\n";
$message .= "$boardurl/leoboard.cgi <br>\n";
$message .= "------------------------------------------\n<br><br>\n";
$message .= "系统发现你已经长时间未访问本论坛并发言了, <br>\n";
$message .= "为了释放空间,你的用户名将在3日后删除。 <br>\n";
$message .= "如果你想保留你的用户名,请登录本论坛一次。 <br>\n";
$message .= "------------------------------------------<br>\n";
$message .= "LeoBoard 5000 由 www.cgier.com 荣誉出品。<br>\n";
&sendmail($from, $from, $sendtoemail, $subject, $message);
}
if ($i < $size - 1)
{
$step++;
print qq~<meta http-equiv="refresh" Content="0; url=$thisprog?action=delnopost&deltime=$indeltime&delposts=$indelposts&dellast=$indellast&delcdrom=$indelcdrom&delusetype=$delusetype&size1=$size1&step=$step&users=$users">
<tr><td bgcolor=#FFFFFF align=center colspan=2>
<font color=#333333><br> 如果你的浏览器没有自动前进,请<a href=$thisprog?action=delnopost&deltime=$indeltime&delposts=$indelposts&dellast=$indellast&delcdrom=$indelcdrom&delusetype=$delusetype&size1=$size1&step=$step&users=$users>点击继续</a>
</td></tr>
~;
}
else
{
if ($size1 == 0)
{
$delwarn = "<BR><BR><font color=red><B>当前没有符合删除条件的注册会员!<B></font>";
}
elsif ($emailfunctions ne "on")
{
$delwarn = "<BR><BR><font color=red><B>邮件功能没有打开,所以用户无法接收预删除信息!<B></font>";
}
else
{
$delwarn = "";
}
unlink("${lbdir}data/delmember.cgi") if ($size1 eq 0);
print qq~
<tr><td bgcolor=#FFFFFF align=center colspan=2>
<font color=#990000>
<b>计算用户排名</b><p>
<font color=#333333>当前共有 $size 个注册用户,排名数据已经更新!</font><BR>
<font color=#333333>预删除 $size1 个注册用户,排名数据已经更新,3天后可以进入管理区进行真正删除!</font>
$delwarn
</td></tr>~;
}
}
} # end routine
sub delok {
unless (($membercode eq "ad") && ($inpassword eq $password) && (lc($inmembername) eq lc($membername))) {
print qq~
<tr>
<td bgcolor=#FFFFFF align=center colspan=2>
<font color=#990000>
<b>错误!</b><p>
<font color=#333333>你没有权限使用这个功能!</font>
</td></tr>
~;
}
else {
if ($checkaction eq "yes") {
$step = $query->param('step');
$step = 0 unless ($step);
$users = $query->param('users');
$users = 200 unless($users);
$delno = $query->param('delno');
$delno = 0 unless($delno);
open (FILE, "${lbdir}data/delmember.cgi");
@alldelname=<FILE>;
close (FILE);
$delsize = @alldelname;
$from = "$adminemail_out";
$subject = "来自$boardname的重要邮件!!";
$message = "";
$message .= "\n";
$message .= "$boardname <br>\n";
$message .= "$boardurl/leoboard.cgi <br>\n";
$message .= "------------------------------------------\n<br><br>\n";
$message .= "系统发现你已经长时间未访问本论坛并发言了, <br>\n";
$message .= "为了释放空间,你的用户名已经被完全删除。 <br>\n";
$message .= "------------------------------------------<br>\n";
$sendtoemail = "";
if ($step*$users < $delsize) {
for ($i=$step*$users;$i<=($step+1)*$users;$i++) {
last if ($i > $delsize);
($memberfile, $deltime)= split(/\t/,$alldelname[$i]);
$usrname="${lbdir}$memdir/$memberfile";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -