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

📄 install.cgi

📁 一个linux论坛
💻 CGI
📖 第 1 页 / 共 4 页
字号:
#!/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/     本论坛直通车
#            http://mail@17do.com/      大家一起邮
#            
#  *************************
#  LB论坛推荐虚拟主机服务商:
#  雷傲科技:  http://www.leoboard.com.cn
#  全面支持LB所有功能,拥有2年提供LB论坛空间的以及500多个LB用户的经验,可以做的更好
#  **************************
#
#############################################################
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 Archive::Tar;
use Cwd;

$query = new LBCGI;
@params = $query->param;
	foreach $param(@params) {
		$theparam = $query->param($param);
        $theparam =~ s/\@/\\\@/g;
        $theparam =~ s/\'//g;
        $theparam =~ s/\"//g;
		      ${$param} = $theparam;
        if ($param ne "action") {
            $printme .= "\$" . "$param = \'$theparam\'\;\n";
            }
	}
$stylesheet =<<__end_of_sheet__;
<style>
<!--
		A:visited {	TEXT-DECORATION: none	}
		A:active  {	TEXT-DECORATION: none	}
		A:hover   {	TEXT-DECORATION: underline overline	}
		A:link 	  {	text-decoration: none;}
		
	        A:visited {	text-decoration: none;}
	        A:active  {	TEXT-DECORATION: none;}
	        A:hover   {	TEXT-DECORATION: underline overline}
	        
		.t     {	LINE-HEIGHT: 1.4			}
		BODY   {	FONT-FAMILY: 宋体; FONT-SIZE: 9pt	}
		TD	   {	FONT-FAMILY: 宋体; FONT-SIZE: 9pt	}
		SELECT {	FONT-FAMILY: 宋体; FONT-SIZE: 9pt;	}
		INPUT  {	FONT-FAMILY: 宋体; FONT-SIZE: 9pt; height:22px;	}
		TEXTAREA{	FONT-FAMILY: 宋体; FONT-SIZE: 9pt;	}
		DIV    {	FONT-FAMILY: 宋体; FONT-SIZE: 9pt	}
		FORM   {	FONT-FAMILY: 宋体; FONT-SIZE: 9pt	}
		OPTION {	FONT-FAMILY: 宋体; FONT-SIZE: 9pt	}
		P	   {	FONT-FAMILY: 宋体; FONT-SIZE: 9pt	}
		TD	   {	FONT-FAMILY: 宋体; FONT-SIZE: 9pt	}
		BR	   {	FONT-FAMILY: 宋体; FONT-SIZE: 9pt	}

-->
</style>
__end_of_sheet__

$thisprog = "install.cgi"; $|=1; 
$XHTML = 0;
if ($action ne "final_step" || !$action) { print header(-charset=>"gb2312"); print "<head><title>LB5000 MX 安装向导 -- CGI 编程者之家</title></head>$stylesheet<body>"; }

if ($action eq "step_two") {
	
	if (-e "${lbdir}cgi-bin.tar"){
	my $cwd = cwd();
        my $tar =  Archive::Tar->new();
        unless ($tar->read("${lbdir}cgi-bin.tar", 0)) {
	        print qq~<td class='w' align='left' width='60%'>cgi-bin.tar不能读取,请检查是否使用二进制模式上传(一定要这个模式上传这个压缩包)</td></tr>~;
            exit;
        }
        chdir $lbdir;
        unless (-w $lbdir){
        chmod (0777,$lbdir) if ($lbdir !~ m/\/cgi-bin\/$/i);	
        opendir (FILE, "."); 
	@filename = readdir(FILE);
	closedir (FILE); 
	foreach (@filename) {
	    next if (($_ eq ".")||($_ eq ".."));
	    chmod(0755,"./$_");
        }
       }	
        my @files = $tar->list_files();
        $tar->extract(@files, $lbdir);
        chdir $cwd;
        }
        if (-e "${lbdir}non-cgi.tar"){
	my $cwd = cwd();
        my $tar =  Archive::Tar->new();
        unless ($tar->read("${lbdir}non-cgi.tar", 0)) {
	        print qq~<td class='w' align='left' width='60%'>non-cgi.tar不能读取,请检查是否使用二进制模式上传(一定要这个模式上传这个压缩包)</td></tr>~;
            exit;
        }
        mkdir($imagesdir,0777);
        chdir $imagesdir;
        unless (-w $imagesdir){
        chmod (0777,$imagesdir);
        opendir (FILE, "."); 
	@filename = readdir(FILE);
	closedir (FILE); 
	foreach (@filename) {
	chmod(0777,"./$_");
        }
	}
        my @files = $tar->list_files();
        $tar->extract(@files, $imagesdir);
        chdir $cwd;
        }
               
$endprint = "1\;\n";

$errorflag = 0;

        $filetomake = "$lbdir" . "data/boardinfo.cgi";

        open(FILE,">$filetomake");
        print FILE "$printme";
	print FILE "\$adfoot = '&lt;a href=http://www.leobbs.com/ target=_blank&gt;&lt;img src=\$imagesurl/images/banner.gif border=0&gt;&lt;/a&gt;';\n";
	print FILE "\$adscript = '&lt;a href=http://www.leobbs.com/ target=_blank&gt;&lt;img src=\$imagesurl/images/banner.gif border=0&gt;&lt;/a&gt;';\n";
	print FILE "\n";
        print FILE $endprint;
        close(FILE);
        
#        &chmodfiles;
        
        if (-e $filetomake && -w $filetomake) {
            $saved_variables = qq(<font face="宋体">所有输入的信息已经成功的写入 ${lbdir}data/boardinfo.cgi 文件中。</font>);
            }
            else {
                $saved_variables = qq(<font face="宋体" color="#FF0000">对不起,不能够保存信息。<BR>
                                      请检测您输入的 ${lbdir}data 数据路径是否正确?是不是最后遗漏了除号 '/'?<BR>
                                      如果正确,请检查 'data' 目录属性是否设置正确。请返回修改后重新递交表单一次。);
                                       $errorflag = "1";
                }
      
        $filetocheck = "$lbdir" . "leoboard.cgi";
        if (-e $filetocheck) {
            $found_cgi = qq(<font face="宋体" color="#0000FF">正确</font>);
            }
            else {
                $errorflag = "1"; $found_cgi = qq(<font face="宋体" color="#FF0000">错误 - 找不到 $filetocheck,数据路径是不是最后遗漏了除号 '/'?请返回重新输入正确信息。</font>);
                }

opendir (DIRS, "$lbdir");
my @files2 = readdir(DIRS);
closedir (DIRS);
my @memdir = grep(/^members/, @files2);
$memdir=@memdir;
if ($memdir eq 0) {
	@memdir = grep(/^MEMBERS/, @files2);
	rename("${lbdir}MEMBERS","${lbdir}members");
}
if ($memdir eq 0) {
	@memdir = grep(/^Members/, @files2);
	rename("${lbdir}Members","${lbdir}members");
}
$memdir = $memdir[0];

if ($memdir eq "members") {
	srand;
	$x = rand;
	$x = int($x * 10000000);
	$x =sprintf("%08d",$x);
	rename("${lbdir}members","${lbdir}members$x");
	$memdir="members$x"; 
}

opendir (DIRS, "$lbdir");
my @files2 = readdir(DIRS);
closedir (DIRS);
my @memdir = grep(/^members/i, @files2);
$memdir = $memdir[0];
my @msgdir = grep(/^messages/i, @files2);
$msgdir = $msgdir[0];

if ($msgdir eq "messages") {
	srand;
	$x = rand;
	$x = int($x * 10000000);
	$x =sprintf("%08d",$x);
	rename("${lbdir}messages","${lbdir}messages$x");
	$msgdir="messages$x"; 
}

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

        $dirtocheck = "$lbdir" . "data";
        if (-d "$dirtocheck") {
            $datadir = "找到"; 
            $makefile = "$lbdir" . "data/test.txt";
            open (TEST, ">$makefile") or $datawritable = "目录 data 为不可写,请改变属性为 777 。";
            print TEST "-";
            close (TEST);
            $datawritable = "属性为<b>可写</b>!" if (!$datawritable);
            unlink "$makefile";
            } else { $errorflag = "1"; $datadir = "<b>没有找到</b>!"; }

        $dirtocheck = "$lbdir" . "help";
        if (-d "$dirtocheck") {
            $helpdir = "找到"; 
            $makefile = "$lbdir" . "help/test.txt";
            open (TEST, ">$makefile") or $helpwritable = "目录 help 为不可写,请改变属性为 777 。";
            print TEST "-";
            close (TEST);
            $helpwritable = "属性为<b>可写</b>!" if (!$helpwritable);
            unlink "$makefile";
            } else { $helpdir = "<b>没有找到</b>!"; }

        $dirtocheck = "$lbdir" . "$memdir";
        if (-d "$dirtocheck") {
            $membersdir = "找到"; 
            $makefile = "$lbdir" . "$memdir/test.txt";
            open (TEST, ">$makefile") or $memberswritable = "目录 $memdir 为不可写,请改变属性为 777 。";
            print TEST "-";
            close (TEST);
            $memberswritable = "属性为<b>可写</b>!" if (!$memberswritable);
            unlink "$makefile";
            } else { $errorflag = "1"; $membersdir = "<b>没有找到</b>!"; }

        $dirtocheck = "$lbdir" . "$msgdir";
        if (-d "$dirtocheck") {
            $messagesdir = "找到"; 
            $makefile = "$lbdir" . "$msgdir/test.txt";
            open (TEST, ">$makefile") or $messageswritable = "目录 $msgdir 为不可写,请改变属性为 777 。";
            print TEST "-";
            close (TEST);
            $messageswritable = "属性为<b>可写</b>!" if (!$messageswritable);
            unlink "$makefile";
            } else { $errorflag = "1"; $messagesdir = "<b>没有找到</b>!"; }


        $filetocheck = "$imagesdir" . "images/logo.gif";
        if (-e $filetocheck) {
            $found_image = qq(<font face="宋体" color="#0000FF">正确</font>);
            }
            else {
                $errorflag = "1"; $found_image = qq(<font face="宋体" color="#FF0000">错误,请注意路径最后不要遗漏除号 '/',请点击后退填入正确的信息(是不是你遗漏上传了 images 下的 logo.gif 呢?程序是利用这个文件是否存在来判断你设置是否正确的)。</font>);
                }
          
        $dirtocheck = "$imagesdir" . "images";
        if (-d "$dirtocheck") { $images_dir = "找到!"; } else { $errorflag = "1"; $images_dir = "<b>没有找到</b>!"; } 

        $dirtocheck = "$imagesdir" . "emoticons";
        if (-d "$dirtocheck") { $emoticonsdir = "找到!"; } else { $errorflag = "1"; $emoticonsdir = "<b>没有找到</b>!"; }

        $dirtocheck = "$imagesdir" . "avatars";
        if (-d "$dirtocheck") { $avatarsdir = "找到!"; } else { $errorflag = "1"; $avatarsdir = "<b>没有找到</b>!"; }

        $dirtocheck = "$imagesdir" . "usravatars";
        if (-d "$dirtocheck") { 
            $usravatarsdir = "找到!"; 
            $makefile = "$dirtocheck" . "/test.txt";
            open (TEST, ">$makefile") or $usravatarswritabler = "目录 $dirtocheck 为不可写,请改变属性为 777 。";
            print TEST "-";
            close (TEST);

⌨️ 快捷键说明

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