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

📄 setmembers.cgi

📁 一个linux论坛
💻 CGI
📖 第 1 页 / 共 5 页
字号:
    <tr>
    <td bgcolor=#FFFFFF><font color=#333333><b>最后发表:</b></font></td>
    <td bgcolor=#FFFFFF><font color=#333333>$lastpostdetails</font></td></tr>
    <tr>
    <td bgcolor=#FFFFFF><font color=#333333><b>发表总数:</b></font></td>
    <td bgcolor=#FFFFFF><font color=#333333>$totlepostandreply</font> 篇</td></tr>
    <tr>
    <td bgcolor=#FFFFFF>&nbsp;</td>
    <td bgcolor=#FFFFFF>&nbsp;</td></tr>
    
    ~;
    $unbanlink = "";
    } # end routine


##################################################################################
######## Subroutes (Edit member) 


sub edit {
    $oldmembercode = $membercode;
    
    if ($checkaction eq "yes") {
    
    
    $innewpassword      = $query -> param('password');
    $innewpassword      = &cleanarea("$innewpassword");
    $inrating           = $query -> param('rating');
    $inmembertitle      = $query -> param('membertitle');
    $inmembertitle      = &cleanarea("$inmembertitle");
    $inemailaddress     = $query -> param('emailaddress');
    $inhomepage         = $query -> param('homepage');
    $inaolname          = $query -> param('aolname');
    $inicqnumber        = $query -> param('icqnumber');
    $inlocation         = $query -> param('location');
    $innumberofposts    = $query -> param('numberofposts');
    $innumberofreplys   = $query -> param('numberofreplys');
    $intimedifference   = $query -> param('timedifference');
    $inmembercode       = $query -> param('membercode');
    $invisitno          = $query -> param('visitno');
    $injhmp             = $query -> param('jhmp');
    $insex              = $query -> param('sex');
    $ineducation        = $query -> param('education');
    $inmarry            = $query -> param('marry');
    $inwork             = $query -> param('work');
    $inyear             = $query -> param('year');
    $inmonth            = $query -> param('month');
    $inday              = $query -> param('day');
    $inpostdel          = $query -> param('postdel');
    $inrating           = $query -> param('rating');
    $newsignature       = $query -> param('newsignature');
    $inuserflag         = $query -> param('userflag');
    $inusersx           = $query -> param('usersx');
    $inuserxz           = $query -> param('userxz');
    $injoineddate       = $query -> param('joineddate');
    $notshowsignature      = ($query -> param('notshowsignature') eq "yes")?"yes":"no";
    $newsignature           = &unHTML("$newsignature");
    $newsignature           = &cleanarea("$newsignature");

    $inlocation = &cleaninput("$inlocation");
    $inonlinetime = $query -> param('onlinetime');

    $inyear =~ s/\D//g;
    if (($inyear eq "")||($inmonth eq "")||($inday eq "")) {
    	$inyear  = "";
    	$inmonth = "";
    	$inday   = "";
    }
    $inborn = "$inyear/$inmonth/$inday";
    
    if ($inborn ne "//") { #开始自动判断星座
        if ($inyear-1900 < 0) {$inusersx = "";}	# 无效年份
    	else {
    		$inusersx = "sx".(($inyear-1900) % 12 + 1);
    	}
    	if ($inmonth eq "01") {
    	    if (($inday >= 1)&&($inday <=19)) {
    	        $inuserxz = "z10";
    	    }
    	    else {
    	        $inuserxz = "z11";
    	    }
    	}
        elsif ($inmonth eq "02") {
    	    if (($inday >= 1)&&($inday <=18)) {
    	        $inuserxz = "z11";
    	    }
    	    else {
    	        $inuserxz = "z12";
    	    }
        }
        elsif ($inmonth eq "03") {
    	    if (($inday >= 1)&&($inday <=20)) {
    	        $inuserxz = "z12";
    	    }
    	    else {
    	        $inuserxz = "z1";
    	    }

        }
        elsif ($inmonth eq "04") {
    	    if (($inday >= 1)&&($inday <=19)) {
    	        $inuserxz = "z1";
    	    }
    	    else {
    	        $inuserxz = "z2";
    	    }
        }
        elsif ($inmonth eq "05") {
    	    if (($inday >= 1)&&($inday <=20)) {
    	        $inuserxz = "z2";
    	    }
    	    else {
    	        $inuserxz = "z3";
    	    }
        }
        elsif ($inmonth eq "06") {
    	    if (($inday >= 1)&&($inday <=21)) {
    	        $inuserxz = "z3";
    	    }
    	    else {
    	        $inuserxz = "z4";
    	    }
        }
        elsif ($inmonth eq "07") {
    	    if (($inday >= 1)&&($inday <=22)) {
    	        $inuserxz = "z4";
    	    }
    	    else {
    	        $inuserxz = "z5";
    	    }
        }
        elsif ($inmonth eq "08") {
    	    if (($inday >= 1)&&($inday <=22)) {
    	        $inuserxz = "z5";
    	    }
    	    else {
    	        $inuserxz = "z6";
    	    }
        }
        elsif ($inmonth eq "09") {
    	    if (($inday >= 1)&&($inday <=22)) {
    	        $inuserxz = "z6";
    	    }
    	    else {
    	        $inuserxz = "z7";
    	    }
        }
        elsif ($inmonth eq "10") {
    	    if (($inday >= 1)&&($inday <=23)) {
    	        $inuserxz = "z7";
    	    }
    	    else {
    	        $inuserxz = "z8";
    	    }
        }
        elsif ($inmonth eq "11") {
    	    if (($inday >= 1)&&($inday <=21)) {
    	        $inuserxz = "z8";
    	    }
    	    else {
    	        $inuserxz = "z9";
    	    }
        }
        elsif ($inmonth eq "12") {
    	    if (($inday >= 1)&&($inday <=21)) {
    	        $inuserxz = "z9";
    	    }
    	    else {
    	        $inuserxz = "z10";
    	    }
        }
        
    }

    if ($inpassword eq "")     { $blank = "yes"; }
    if ($inemailaddress eq "") { $blank = "yes"; }
    
    if ($blank eq "yes") {
        print qq ~
        <tr>
        <td bgcolor=#FFFFFF align=center colspan=2><font color=#333333><b>必须输入用户密码、邮件地址</b></font></td></tr>
        ~;
	print qq~</td></tr></table></body></html>~;
        exit;
    }
    
    $inmembertitle = "Member" if ($inmembertitle eq "");

    if (length($injhmp) > 20) {
        print qq ~
        <tr>
        <td bgcolor=#FFFFFF align=center colspan=2><font color=#333333><b>江湖门派的输入请控制在20个字符(10个汉字)内。</b></font></td></tr>
        ~;
	print qq~</td></tr></table></body></html>~;
        exit;
    }
    if (length($inmembertitle) > 20) {
        print qq ~
        <tr>
        <td bgcolor=#FFFFFF align=center colspan=2><font color=#333333><b>个人头衔的输入请控制在20个字符(10个汉字)内。</b></font></td></tr>
        ~;
	print qq~</td></tr></table></body></html>~;
        exit;
    }
    if (length($inlocation) > 12) {
        print qq ~
        <tr>
        <td bgcolor=#FFFFFF align=center colspan=2><font color=#333333><b>来自的输入请控制在12个字符(6个汉字)内。</b></font></td></tr>
        ~;
	print qq~</td></tr></table></body></html>~;
        exit;
    }
    if ((($inmembercode eq "ad")||($inmembercode eq "smo")||($inmembercode eq "cmo")||($inmembercode eq "mo"))&&($oldmembercode eq "smo")) {
            print "<tr><td bgcolor=#EEEEEE colspan=2 align=center><font color=#333333><b>总斑竹无权提升任何人为坛主和斑竹!</b></td></tr>";
            exit;
    }

    if ($injhmp eq "") { $jhmp = "无门无派"; }
    else { $jhmp = ($jhmp); }
    if ($inrating eq "") { $inrating = 0; }
    elsif ($inrating > $maxweiwang) { $inrating = $maxweiwang; }
    elsif ($inrating < -5) { $inrating = -5; $inmembercode = "banned"; }

        $filetoopen = "$lbdir" . "data/allforums.cgi";
        open(FILE,"$filetoopen");
        @forums = <FILE>;
        close(FILE);
        
        foreach $forum (@forums) {
            chomp $forum;
            ($forumid, $trash) = split(/\t/,$forum);
            $namekey = "allow" . "$forumid";
            $tocheck = $query -> param("$namekey");
            if ($tocheck eq "yes") {
                $allowedforums2 .= "$forumid=$tocheck&";
                }
            }

    &getmember("$inmember");
    $innewpassword = $password if ($innewpassword eq "");

        $memberfiletitle = $inmember;
        $memberfiletitle =~ s/ /\_/isg;
	$memberfiletitle =~ tr/A-Z/a-z/;


        if ($inmembercode eq "banned") {
            $filetoopen = "$lbdir" . "data/banemaillist.cgi";
            open(FILE,">>$filetoopen");
            print FILE "$inemailaddress\t";
            close(FILE);
            $filetoopen = "$lbdir" . "data/baniplist.cgi";
            open(FILE,">>$filetoopen");
            print FILE "$ipaddress\t";
            close(FILE);
            $banresult = "禁止 $membername 发言成功";
       }

        if ($newsignature) {
        $newsignature =~ s/\t//g;
        $newsignature =~ s/\r//g;
        $newsignature =~ s/  / /g;
        $newsignature =~ s/\&amp;nbsp;/\&nbsp;/g;
        $newsignature =~ s/\n\n/\n\&nbsp;\n/isg;
        $newsignature =~ s/\n/\[br\]/isg;
        $newsignature =~ s/\[br\]\[br\]/\[br\]\&nbsp;\[br\]/isg;
        }
	$signature1=&signlbcode($newsignature); 
       	$newsignature=$newsignature.$signaturesplit.$signature1;
       	$onlinetime=($inonlinetime =~/[^0-9]/)?$onlinetime:$inonlinetime;
        $filetomake = "$lbdir" . "$memdir/$memberfiletitle.cgi";
        &winlock($filetomake) if ($OS_USED eq "Nt");
        open(FILE, ">$filetomake");
        flock(FILE, 2) if ($OS_USED eq "Unix");
        print FILE "$membername\t$innewpassword\t$inmembertitle\t$inmembercode\t$innumberofposts|$innumberofreplys\t$inemailaddress\t$showemail\t$ipaddress\t$inhomepage\t$inaolname\t$inicqnumber\t$inlocation\t$interests\t$injoineddate\t$lastpostdate\t$newsignature\t$intimedifference\t$allowedforums2\t$useravatar\t$inuserflag\t$inuserxz\t$inusersx\t$personalavatar\t$personalwidth\t$personalheight\t$inrating\t$lastgone\t$invisitno\t$addjy\t$meili\t$mymoney\t$inpostdel\t$insex\t$ineducation\t$inmarry\t$inwork\t$inborn\t$chatlevel\t$chattime\t$injhmp\t$useradd3\t$useradd4\t$onlinetime\t$userquestion\t$useradd6\t$useradd7\t$useradd8\t";
        close(FILE);
        &winunlock($filetomake) if ($OS_USED eq "Nt");

                print qq~
                <tr>
                <td bgcolor=#EEEEEE align=center colspan=2>
                <font color=#333333><b>所有信息已经保存</b><br><br>$banresult<br>
                </td></tr>
                ~;
    
    }
    
    else {
    
    $filetoopen = "$lbdir" . "data/allforums.cgi";
         open(FILE,"$filetoopen");
         @forums = <FILE>;
         close(FILE);

         
         foreach $forum (@forums) {
            chomp $forum;
            ($forumid, $category, $categoryplace, $forumname, $forumdescription, $forummoderator ,$htmlstate ,$idmbcodestate ,$privateforum, $startnewthreads ,$lastposter ,$lastposttime, $threads, $posts, $forumgraphic, $ratings, $misc,$forumpass,$hiddenforum,$indexforum,$teamlogo,$teamurl, $fgwidth, $fgheight, $miscadd3, $miscadd4, $miscad5) = split(/\t/,$forum);   
            if ($privateforum eq "yes") { 
                $grab = "$forumid\t$forumname";
                push(@newforums, $grab);
                }
            }
        $cleanmember = $inmember;
        $cleanmember =~ s/\_/ /g;

⌨️ 快捷键说明

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