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

📄 foruminit.cgi

📁 一个linux论坛
💻 CGI
📖 第 1 页 / 共 3 页
字号:
#!/usr/bin/perl

#############################################################
#  LeoBoard ver.5000 / LB5000 / 雷傲超级论坛 ver.5000
#
#  版权所有: 雷傲工作室(原蓝宝石软件工作室)
#
#  制作人  : 山鹰糊 (Shining Hu)
#            花无缺 (Ifairy Han)
#           
#  主页地址: http://www.CGIer.com/      CGI 编程者之家
#	     http://www.LeoBoard.com/   雷傲论坛支持主页
#	     http://www.leoBBS.com/     本论坛直通车
#            
#############################################################
BEGIN {
    $LBPATH = '.';
    my $pgm = $0;
    $pgm =~s/\\/\//g;
    $pgm =~s/^.*\/([^\/]+)$/$1/g;
    unless (-e $LBPATH.'/'.$pgm) {
        foreach ($0, $ENV{'SCRIPT_FILENAME'}, $ENV{'PATH_TRANSLATED'}) {
            s!\\!/!g; s/^(.*)\/[^\/]+$/$1/g;
            if (-e $_ . '/' .$pgm) { $LBPATH = $_; last; }
        }
    }
    unshift (@INC, "$LBPATH");
}
use LBCGI;
use File::Copy;
$LBCGI::POST_MAX=2000;
$LBCGI::DISABLE_UPLOADS = 1;
$LBCGI::HEADERS_ONCE = 1;
require "data/boardinfo.cgi";
require "lbadmin.lib.pl";
require "lbmail.lib.pl";
require "lb.lib.pl";

$|++;

#################--- Begin the program ---###################
$thisprog = "foruminit.cgi";

$query = new LBCGI;

&ipbanned; #封杀一些 ip

$action          = $query -> param('action');
$inmember        = $query -> param('member');
$inmember        = &unHTML("$inmember");
$action          = &unHTML("$action");

$noofone         = $query -> param('noofone');
$noofone         = &unHTML("$noofone");
$beginone        = $query -> param('beginone');
$beginone        = &unHTML("$beginone");

$noofone      = 2000 if ($noofone !~ /^[0-9]+$/);
$beginone     = 0 if ($beginone !~ /^[0-9]+$/);

$inmembername = $query->cookie("adminname");
$inpassword   = $query->cookie("adminpass");
$inmembername =~ s/[\a\f\n\e\0\r\t\`\~\!\@\#\$\%\^\&\*\(\)\+\=\\\{\}\;\'\:\"\,\.\/\<\>\?]//isg;
$inpassword =~ s/[\a\f\n\e\0\r\t\|\@\;\#\{\}\$]//isg;

opendir (DIRS, "$lbdir");
my @files2 = readdir(DIRS);
closedir (DIRS);
my @backupdir = grep(/^backup/i, @files2);
$backupdir = $backupdir[0];

&getadmincheck;
print header(-charset=>gb2312);       
&admintitle;
        
&getmember("$inmembername");
        
        
        if (($membercode eq "ad") && ($inpassword eq $password) && (lc($inmembername) eq lc($membername))) {
            
            print qq~
            <tr><td bgcolor=#333333" colspan=2><font color=#FFFFFF>
            <b>欢迎来到论坛管理中心 / 论坛初始化</b>
            </td></tr>
            ~;
            
            my %Mode = ( 
            'updatecount'        =>    \&docount,
            'uptop'       	 =>    \&dotop,
            'uptopnext'       	 =>    \&dotopnext,
            'upemot'       	 =>    \&doemot,
            'upuser'       	 =>    \&doava,
            'shareforums'      	 =>    \&doshareforums,
            'dellock'      	 =>    \&dodellock,
            'uponlineuser'     	 =>    \&douponlineuser,
            'upconter'		 =>    \&doupconter,
            'init'        	 =>    \&doinit,
            'upupload'        	 =>    \&doupload,
            'uppost'        	 =>    \&dopost,
            'upmessage'        	 =>    \&domessage,
            'delmessage'         =>    \&dodalmessage,
            'delans'             =>    \&dodelans,
            'dogetold'           =>    \&dogetold,
            'dogetoldnext'       =>    \&dogetoldnext,

            );


            if($Mode{$action}) { 
               $Mode{$action}->();
            }
            else { &doinit; }
            
            print qq~</table></td></tr></table>~;
        }
        else {
            &adminlogin;
        }
        

sub doupload {
    chmod (0777,"$imagesdir");
    chmod (0777,"${imagesdir}usr");
    chmod (0777,"${imagesdir}usravatars");

    chmod (0777,"${lbdir}boarddata");
    chmod (0777,"${lbdir}lock");
    chmod (0777,"${lbdir}sale");
    chmod (0777,"${lbdir}memfav");
    chmod (0777,"${lbdir}memfriend");
    chmod (0777,"${lbdir}search");
    chmod (0777,"${lbdir}data");
    chmod (0777,"${lbdir}$memdir");
    chmod (0777,"${lbdir}$memdir/old");
    chmod (0777,"${lbdir}$backupdir");
    chmod (0777,"${lbdir}$msgdir");
    $filetoopen = "$lbdir" . "data/allforums.cgi";
    if (-e "$filetoopen") {
        &winlock($filetoopen) if ($OS_USED eq "Nt");
        open(FILE,"$filetoopen");
        flock(FILE, 1) if ($OS_USED eq "Unix");
        @allforums = <FILE>;
        close(FILE);
        &winunlock($filetoopen) if ($OS_USED eq "Nt");
        
        foreach $_ (@allforums) {
            chomp $_;
            (my $forumid, my $category, my $categoryplace, my $forumname, my $forumdescription,my $no) = split(/\t/,$_);
            next if (($forumid eq "")||($forumid !~ /^[0-9]+$/)||($category eq "")||($categoryplace eq "")||($forumname eq "")||($forumdescription eq ""));
            $dirtomake = "$imagesdir" . "usr/$forumid";
            mkdir ("$dirtomake", 0777) if (!(-e "$dirtomake"));
            chmod (0777,"$dirtomake");

	    &changemod("${imagesdir}usr/$forumid");
	}
    }
    print qq~<tr>
<td bgcolor=#FFFFFF align=center colspan=2>
<font color=#990000><b>文件上传目录属性初始化完成!</b><p>
<font color=#333333>请立即测试上传功能是否已经正常,如果还不正常,请参照论坛的属性说明文档用 FTP 软件自行设置!!</font>
</td></tr>
~;
}

sub dodalmessage { 
   $inbox = "${lbdir}$msgdir/in"; 
   opendir (DIR, "$inbox"); 
   my @inboxdata = readdir(DIR); 
   closedir (DIR);
   $inboxcount = @inboxdata;
   foreach $filename(@inboxdata){ 
   $filepath=$inbox."/".$filename; 
   unlink ($filepath); 
   } 
   $outbox = "${lbdir}$msgdir/out"; 
   opendir (DIR, "$outbox"); 
   my @outboxdata = readdir(DIR); 
   closedir (DIR); 
   $outboxcount = @outboxdata;
   foreach $filename(@outboxdata){ 
   $filepath=$outbox."/".$filename; 
   unlink ($filepath); 
   } 
   $outbox = "${lbdir}$msgdir/main"; 
   opendir (DIR, "$outbox"); 
   my @outboxdata = readdir(DIR); 
   closedir (DIR); 
   foreach $filename(@outboxdata){ 
   $filepath=$outbox."/".$filename; 
   unlink ($filepath); 
   } 
   print qq~<tr> 
<td bgcolor=#FFFFFF align=center colspan=2> 
<font color=#990000><b>短消息文件清空完成!</b><p> 
<font color=#333333>收件箱共删除 $inboxcount 个,发件箱共删除 $outboxcount 个</font> 
</td></tr> 
~; 
}

sub domessage {

    mkdir ("${lbdir}$memdir/old", 0777) if (!(-e "${lbdir}$memdir/old"));
    chmod (0777,"${lbdir}$msgdir");
    mkdir ("${lbdir}$msgdir/in", 0777) if (!(-e "${lbdir}$msgdir/in"));
    mkdir ("${lbdir}$msgdir/out", 0777) if (!(-e "${lbdir}$msgdir/out"));
    mkdir ("${lbdir}$msgdir/main", 0777) if (!(-e "${lbdir}$msgdir/main"));
    chmod (0777,"${lbdir}$msgdir/in");
    chmod (0777,"${lbdir}$msgdir/out");
    chmod (0777,"${lbdir}$msgdir/main");

    $dirtoopen = "${lbdir}$msgdir";
    opendir (DIR, "$dirtoopen");
    my @dirdata = readdir(DIR);
    closedir (DIR);
	
    @data1 = grep(/\_msg\.cgi/i,@dirdata);
    foreach (@data1) {
	copy("${lbdir}$msgdir/$_","${lbdir}$msgdir/in/$_");
    }
    @data1 = grep(/\_out\.cgi/i,@dirdata);
    foreach (@data1) {
	copy("${lbdir}$msgdir/$_","${lbdir}$msgdir/out/$_");
    }
    @data1 = grep(/\_main\.cgi/i,@dirdata);
    foreach (@data1) {
	copy("${lbdir}$msgdir/$_","${lbdir}$msgdir/main/$_");
    }

    $dirtoopen = "${lbdir}$msgdir";
    opendir (DIR, "$dirtoopen");
    my @files = readdir(DIR);
    closedir (DIR);
    foreach (@files) {
        chomp $_;
        unlink ("${lbdir}$msgdir/$_");
    }

    &changemod("${lbdir}$msgdir/in");
    &changemod("${lbdir}$msgdir/out");
    &changemod("${lbdir}$msgdir/main");

    print qq~<tr>
<td bgcolor=#FFFFFF align=center colspan=2>
<font color=#990000><b>短消息目录和文件属性初始化完成!</b><p>
<font color=#333333>请立即测试短消息功能是否已经正常,如果还不正常,请参照论坛的属性说明文档用 FTP 软件自行设置!!</font>
</td></tr>
~;
}

sub dopost {
    mkdir ("${lbdir}$memdir/old", 0777) if (!(-e "${lbdir}$memdir/old"));
    chmod (0777,"${lbdir}boarddata");
    chmod (0777,"${lbdir}lock");
    chmod (0777,"${lbdir}sale");
    chmod (0777,"${lbdir}memfav");
    chmod (0777,"${lbdir}memfriend");
    chmod (0777,"${lbdir}search");
    chmod (0777,"${lbdir}data");
    chmod (0777,"${lbdir}data/skin");
    chmod (0777,"${lbdir}$memdir");
    chmod (0777,"${lbdir}$memdir/old");
    chmod (0777,"${lbdir}$backupdir");

    chmod (0777,"${lbdir}$msgdir");
    chmod (0777,"$imagesdir");
    chmod (0777,"${imagesdir}usr");
    chmod (0777,"${imagesdir}usravatars");


    &changemod("${lbdir}boarddata");
    &changemod("${lbdir}lock");
    &changemod("${lbdir}sale");
    &changemod("${lbdir}memfav");
    &changemod("${lbdir}memfriend");
    &changemod("${lbdir}search");
    &changemod("${lbdir}data");
    &changemod("${lbdir}data/skin");
    &changemod("${lbdir}$memdir");
    &changemod("${lbdir}$memdir/old");
    &changemod("${lbdir}$backupdir");

    $filetoopen = "$lbdir" . "data/allforums.cgi";
    if (-e "$filetoopen") {
        &winlock($filetoopen) if ($OS_USED eq "Nt");
        open(FILE,"$filetoopen");
        flock(FILE, 1) if ($OS_USED eq "Unix");
        @allforums = <FILE>;
        close(FILE);
        &winunlock($filetoopen) if ($OS_USED eq "Nt");

⌨️ 快捷键说明

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