📄 foruminit.cgi
字号:
#!/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 + -