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

📄 setmembers.cgi

📁 一个linux论坛
💻 CGI
📖 第 1 页 / 共 5 页
字号:
			} 
			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 + -