📄 delpost.cgi
字号:
print FILE "$inmembername\t$topictitle\t$ENV{'REMOTE_ADDR'}\tyes\tyes\t$currenttime\t$newinpost\t$inposticon\t\n" if ($movetopicname eq "on");
close(FILE);
}
&winunlock($filetoopen) if ($OS_USED eq "Nt");
my $file = "$lbdir" . "forum$inforum/$intopic.pl";
open (ENT, $file);
$in = <ENT>;
close (ENT);
chomp $in;
($topicid, $topictitle, $topicdescription, $threadstate, $threadposts ,$threadviews, $startedby, $startedpostdate, $lastposter, $lastpostdate, $lastinposticon,$inposttemp) = split(/\t/,$in);
$threadposts ++ if ($movetopicname eq "on");
if (($threadstate eq "poll")||($threadstate eq "pollclosed")) { $threadstate = "pollclosed"; } else { $threadstate = "closed"; }
if (open(FILE, ">$file")) {
$inforumwrite = "$intopic\t$topictitle\t$moveinfoold\t$threadstate\t$threadposts\t$threadviews\t$startedby\t$startedpostdate\t$inmembername\t$currenttime\t$lastinposticon\t$inposttemp\t";
print FILE $inforumwrite;
close(FILE);
}
push (@inforumwrite, "$inforumwrite");
}
}
else {
unlink ("${lbdir}forum$inforum/$intopic.pl");
unlink ("${lbdir}forum$inforum/$intopic.thd.cgi");
unlink ("${lbdir}forum$inforum/$intopic.poll.cgi");
unlink ("${lbdir}forum$inforum/$intopic.mal.pl");
unlink ("${lbdir}forum$inforum/rate$intopic.file.pl");
unlink ("${lbdir}forum$inforum/rateip$intopic.file.pl");
opendir (DIRS, "${imagesdir}usr/$inforum");
my @files = readdir(DIRS);
closedir (DIRS);
my @files = grep(/^$inforum\_$intopic/i, @files);
my @files1 = grep(/^$inforum\_$intopic./i, @files);
foreach (@files1) {
chomp $_;
unlink ("${imagesdir}usr/$inforum/$_");
}
my @files1 = grep(/^$inforum\_$intopic\_/i, @files);
foreach (@files1) {
chomp $_;
unlink ("${imagesdir}usr/$inforum/$_");
}
}
}
if ($inleavemessage eq "no") { #删除原来论坛的帖子,处理最新贴子中的数据
$filetomakeopen = "$lbdir" . "data/recentpost.cgi";
open(FILE, "$filetomakeopen");
@recentposts=<FILE>;
close(FILE);
if (open (FILE, ">$filetomakeopen")) {
foreach (@recentposts) {
chomp $_;
($inforumtemp, $intopictemp, $tempno3, $tempno4, $tempno5) = split (/\t/,$_);
next if (($inforumtemp !~ /^[0-9]+$/)||($intopictemp !~ /^[0-9]+$/));
if ($inforumtemp eq $inforum) {
my $checkme=0;
foreach $intopic (@intopic){
if ($intopictemp eq $intopic) {
$checkme=1;
last;
}
}
if ($checkme eq 0) {
print FILE "$_\n";
}
else {
print FILE "$movetoid\t$newthreadnumber\t$tempno3\t$tempno4\t$tempno5\t\n";
}
}
else {
print FILE "$_\n";
}
}
close(FILE);
}
}
$file = "$lbdir" . "boarddata/list$inforum.cgi";
&winlock($file) if (($OS_USED eq "Unix")||($OS_USED eq "Nt"));
open (LIST, "$file");
flock (LIST, 1) if ($OS_USED eq "Unix");
@listall=<LIST>;
close (LIST);
$listall = @listall;
if ($listall >= 300) {
if (open (LIST, ">$file")) {
flock (LIST, 2) if ($OS_USED eq "Unix");
if ($inleavemessage eq "yes") {
foreach (@inforumwrite) {
chomp $_;
print LIST "$_\n" if ($_ ne "");
}
}
foreach (@listall) {
$_ =~ s/[\n\r]//isg;
(my $useid,my $no)=split(/\t/,$_);
my $checkme=0;
foreach (@intopic){
if ($useid eq $_) {
$checkme=1;
last;
}
}
if (($checkme == 0)&&($useid ne "")&&($useid =~ /^[0-9]+$/)){
print LIST "$_\n" ;
}
}
close (LIST);
}
&winunlock($file) if (($OS_USED eq "Unix")||($OS_USED eq "Nt"));
}
else {
&winunlock($file) if (($OS_USED eq "Unix")||($OS_USED eq "Nt"));
rebuildLIST(-Forum=>"$inforum");
}
undef @inforumwrite;
undef @listall;
$file = "$lbdir" . "boarddata/list$movetoid.cgi";
&winlock($file) if (($OS_USED eq "Unix")||($OS_USED eq "Nt"));
open (LIST, "$file");
flock (LIST, 1) if ($OS_USED eq "Unix");
@listall=<LIST>;
close (LIST);
$listall = @listall;
if ($listall >= 300) {
if (open (LIST, ">$file")) {
flock (LIST, 2) if ($OS_USED eq "Unix");
foreach (@moveforumwrite) {
chomp $_;
print LIST "$_\n" if ($_ ne "");
}
foreach (@listall) {
$_ =~ s/[\n\r]//isg;
(my $useid,my $no)=split(/\t/,$_);
if (($useid ne "")&&($useid =~ /^[0-9]+$/)){
print LIST "$_\n" ;
}
}
close (LIST);
}
&winunlock($file) if (($OS_USED eq "Unix")||($OS_USED eq "Nt"));
}
else {
&winunlock($file) if (($OS_USED eq "Unix")||($OS_USED eq "Nt"));
foreach (@moveforumwrite) {
chomp $_;
my ($newid, $no) = split(/\t/, $_);
open(FILE, ">${lbdir}forum$movetoid/$newid.pl");
print FILE $_;
close(FILE);
}
rebuildLIST(-Forum=>"$movetoid");
}
undef @moveforumwrite;
undef @listall;
$relocurl = "forums.cgi?forum=$inforum";
$output .= qq~<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center>
<tr><td><table cellpadding=6 cellspacing=1 border=0 width=100%>
<tr><td bgcolor=$miscbacktwo align=center><font color=$fontcolormisc><b>主题已经移动</b></font></td></tr>
<tr><td bgcolor=$miscbackone><font color=$fontcolormisc>具体情况:<ul>
<li><a href="forums.cgi?forum=$inforum">返回原论坛</a>
<li><a href="forums.cgi?forum=$movetoid">返回新论坛</a>
<li><a href="leoboard.cgi">返回论坛首页</a>
</ul></tr></td></table></td></tr></table>
<meta http-equiv="refresh" content="3; url=$relocurl">
~;
$checked = "no";
}
else {
$jumphtml .= "<option value=\"\">选择一个论坛\n</option>";
$a=0;
foreach $forum (@forums) {
$a = sprintf("%09d",$a);
chomp $forum;
next if ($forum eq "");
($movetoforumid, $category, $categoryplace, $forumname, $forumdescription, $noneed ,$noneed ,$noneed ,$noneed, $noneed ,$noneed ,$noneed, $noneed, $noneed, $noneed, $ratings, $noneed,$forumpass,$hiddenforum,$indexforum,$teamlogo,$teamurl, $fgwidth, $fgheight, $miscadd3, $miscadd4, $miscad5) = split(/\t/,$forum);
next if ($movetoforumid !~ /^[0-9]+$/);
next if ($categoryplace !~ /^[0-9]+$/);
$categoryplace = sprintf("%09d",$categoryplace);
$rearrange = ("$categoryplace\t$a\t$category\t$forumname\t$forumdescription\t$movetoforumid\t$forumgraphic\t$ratings\t$misc\t$forumpass\t$hiddenforum\t$indexforum\t$teamlogo\t$teamurl\t$fgwidth\t$fgheight\t$miscadd3\t$miscadd4\t$miscad5\t");
push (@rearrangedforums, $rearrange);
$a++;
}
@finalsortedforums = sort (@rearrangedforums);
foreach $sortedforums (@finalsortedforums) {
($categoryplace,my $a, $category, $forumname, $forumdescription, $movetoforumid, $forumgraphic, $ratings, $misc,$forumpass,$hiddenforum,$indexforum,$teamlogo,$teamurl, $fgwidth, $fgheight, $miscadd3, $miscadd4, $miscad5) = split(/\t/,$sortedforums);
$categoryplace = sprintf("%01d",$categoryplace);
$child=($category =~/^childforum-[0-9]+/)?" |":"";
if ($categoryplace ne $lastcategoryplace) {
$jumphtml .= "<option value=\"\" style=background-color:$titlecolor>╋$category\n</option>";
$jumphtml .= "<option value=\"$movetoforumid\">$child |- $forumname\n</option>";
}
else {
$jumphtml .= "<option value=\"$movetoforumid\">$child |- $forumname\n</option>";
}
$lastcategoryplace = $categoryplace;
}
@intopic = $query -> param('topic');
if ($movetopicname eq "on") {
$movetopicnameset = qq~<br><input name="deletepost" type="checkbox" value="yes" checked> 於贴子下显示转移字样?~;
}
$output .= qq~<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center>
<tr><td><table cellpadding=6 cellspacing=1 border=0 width=100%>
<tr><td bgcolor=$miscbacktwo align=center colspan=2>
<form action="$thisprog" method="post">
<input type=hidden name="action" value="movetopic">
<input type=hidden name="checked" value="yes">
<input type=hidden name="forum" value="$inforum">
<input type=hidden name="topic" value="@intopic">
<font color=$fontcolormisc><b>请输入您的用户名、密码进入版主模式 [移动主题]</b></font></td></tr>
<tr><td bgcolor=$miscbackone width=40%><font color=$fontcolormisc><b>请输入您的用户名</b></font></td>
<td bgcolor=$miscbackone><input type=text name="membername" value="$inmembername"</td></tr>
<tr><td bgcolor=$miscbackone><font color=$fontcolormisc><b>请输入您的密码</b></font></td>
<td bgcolor=$miscbackone><input type=password name="password" value="$inpassword"> <font color=$fontcolormisc><a href="profile.cgi?action=lostpass" style="cursor:help">忘记密码?</a></font></td></tr>
<tr><td bgcolor=$miscbackone><font color=$fontcolormisc>
<b>移动选项</td>
<td bgcolor=$miscbackone><font color=$fontcolormisc>
<input name="leavemessage" type="radio" value="yes"> 移动并保留一个已经锁定的主题在原论坛<br><input name="leavemessage" type="radio" value="no" checked> 移动并将此主题从原论坛中删除$movetopicnameset</font>
</td></tr>
<tr><td bgcolor=$miscbackone valign=top><font color=$fontcolormisc><b>当前心情</b><br><li>将放在贴子的前面<BR></font></td>
<td bgcolor=$miscbackone valign=top>
~;
open (FILE, "${lbdir}data/lbpost.cgi");
my @posticondata = <FILE>;
close (FILE);
chomp @posticondata;
$tempiconnum=1;
# $tempselect = "checked";
foreach $picture (@posticondata) {
$posticonname = $picture;
$posticonname =~ s/\.gif$//ig;
if ($tempiconnum > 12) {
$tempiconnum = 1;
$output .= qq~<BR>~;
}
if ($picture eq $posticon) {$tempselect = "checked";} else {$tempselect = "";}
$output .= qq~<input type=radio value="$picture" name="posticon" $tempselect><img src="$imagesurl/posticons/$picture" border=0> ~;
$tempiconnum ++;
# $tempselect = "";
}
$output .= qq~</td></tr><tr><td bgcolor=$miscbackone valign=top><font color=$fontcolormisc><b>信息:</b><p>
这个是可选的,可以填入一些说明信息。<p> 移动后的目标地址会自动输入在主题中。</font></td>
<td bgcolor=$miscbackone><textarea cols=80 rows=9 wrap="soft" name="inpost"></textarea></td></tr>
<tr><td bgcolor=$miscbackone valign=top><font color=$fontcolormisc><b>转移至:</b></font></td>
<td bgcolor=$miscbackone valign=top><font color=$fontcolormisc><select name="movetoid">$jumphtml</select></font></td></tr>
<tr><td bgcolor=$miscbacktwo colspan=2 align=center><input type=submit name="submit" value="提 交"></td></tr></form></table></td></tr></table>
</table></td></tr></table>
~;
}
}
END {
if ($cpudisp eq "1") {
$spent_time = sprintf ("%.2f", ((times)[0] + (times)[1] - $start_time)*1000);
print "<center><font color=#c0c0c0>当前页面执行消耗时间: $spent_time 毫秒";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -