📄 move.cgi
字号:
#!/usr/bin/perl
#------------------------------------------------------#
# 本程序为Yuzi工作室提供 #
# Yuzi论坛3000(BBS3000)v4.00 #
#------------------------------------------------------#
$cgipa="."; # CGI程序文件的绝对路径
######################
## 以下部分不需修改 ##
######################
require "$cgipa/setup.cgi";
&GetCookies;
if($Cookies{username}){open(PSD,"$filepath/yhzl/$Cookies{username}.cgi")||&errorview("对不起,此用户名还没有注册!");$liness=<PSD>;close(PSD);($password)=split(/\t/,$liness);if($password ne $Cookies{password}){&errorview("对不起,您的密码错误!");}}
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}
else {
$buffer = $ENV{'QUERY_STRING'};
}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value=~tr/+/ /;
$value=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value=~s/<!--(.|\n)*-->//g;
$value=~s/\t/ /g;
$value=~s/>/>/g;
$value=~s/</</g;
$value=~s/\.\.//g;
$FORM{$name} = $value;
}
$id=$FORM{'id'};
$fid=$FORM{'fid'};
$replytime=$FORM{'replytime'};
$bbs=$FORM{'bbs'};
$menu=$FORM{'menu'};
$fff=$FORM{'fff'};
$username=$Cookies{username};
open(PSD,"$filepath/list/$id/$replytime");
$line=<PSD>;
close(PSD);
chomp($line);
($titles,$rthistime,$rusername,$nr,$rfrom,$rhasreply,$remote,$rlastname,$rlasttime,$re,$rhassee)=split(/\t/,$line);
$nr=~s/<([^>]|\n)*>/\n/g;
if($id ne ""){
open (CHAT,"$filepath/list/$id.cgi");
$line=<CHAT>;
close(CHAT);
($bzmc,$rpass,$bzrmail,$outurl,$bbsname,$fbzmc2,$rtime,$htmlt,$htmlw,$jj,$fbzmc)=split(/\t/,$line);
}
&monitor;
if($menu eq "top"){⊤exit;}
elsif($menu eq "untop"){&untop;exit;}
elsif($menu eq "ok"){&moveok;exit;}
open(ROOM,"$filepath/data/list.cgi");
@lines=<ROOM>;
close(ROOM);
&css;
print <<EOF;
<title>移动帖子</title><SCRIPT>
var i=0;
function formCheck()
{
i++;
if (i>1) {alert('正在移动中,请耐心等待!'); return false;}
return true;
}
</SCRIPT><body background="$imagurl/bei.gif" leftmargin="0" topmargin="0"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="37%" height="110" valign="top"><div align="center"><img src="$imagurl/bei1.gif" width="298" height="92"></div>
</td><td width="30%" height="110" valign="bottom"><div align="left"><img src="$imagurl/bbtitle5.gif" width="200" height="80"></div>
</td><td width="33%" valign="bottom" height="110"><p> </p></td></tr></table>
<br><form name=form ACTION=move.cgi METHOD="POST" onSubmit="return formCheck()">
<INPUT TYPE="HIDDEN" NAME="menu" VALUE=ok><INPUT TYPE="HIDDEN" NAME="id" VALUE=$id>
<INPUT TYPE="HIDDEN" NAME="replytime" VALUE=$replytime><table width="80%" border="0" cellspacing="2" cellpadding="2" align="center">
<tr><td width="34%"><div align="left">论坛:$bbsname</div></td><td width="66%">主题:$titles</td>
</tr></table><div align="center"></div><table width="80%" border="1" cellspacing="0" cellpadding="2" align="center" bordercolor=$bgcolor0 style="border-collapse: collapse">
<tr bgcolor=$bgcolor0><td colspan="3"><div align="center"><span><font color=$bgcolor4>移动帖子功能(注意:只有社区长或版主才拥有此权限)</font></span> </div>
</td></tr><tr><td height="19" width="5%" valign="top"><p><input type="radio" checked>
</p></td><td height="19" width="67%"><span>主题转移到论坛: </span> <br><span>注意: 您有两个选项. 转移之后删除主题在当前的论坛或保持主题在当前的论坛.
<br><br>
<input type="radio" name=fff>
转移之后保持主题在当前的论坛.<br>
<input type="radio" name=fff checked value=2>
转移之后删除主题从当前的论坛.</span></td><td height="19" width="28%" valign="top">
<div align="center"><p><br><select name=fid><option selected value="">将主题移动到</option>
EOF
for ($i=0; $i<100; $i++){
$line=@lines[$i];
chomp($line);
($username1)=split(/\t/,$line);
open(TITLES,"$filepath/list/$username1.cgi");
@a=<TITLES>;
close(TITLES);
foreach $m (@a){
chomp($m);
if($username1 ne $id){
($rname,$rpass,$rmail,$rhome,$rtitle,$yhq,$rtime,$htmlt,$htmlw,$jj,$fbzmc)=split(/\t/,$m);
print <<EOF;
<OPTION value=$username1>『$rtitle』
EOF
}}
}
print <<EOF;
</select></p>
<input type=submit value=" 确定 ">
</div></td></tr></table>
</form><div align="center"><a href=javascript:history.back()><IMG src=$imagurl/back.gif border=0></a><br><br>
Powered by Yuzi Studios © 2001<br>Yuzi Bulletin Board<font style=font-size:7pt><sup><b>TM</b></sup></font> Version $ver
EOF
exit;
sub top{
open (FILE, "$filepath/list/$id/top");
@top= <FILE>;
close(FILE);
foreach $top(@top) {
chomp($top);
if ($top eq $replytime) {&errorview("主题已经放置顶端了!");}}
open (FILE, ">>$filepath/list/$id/top");
print FILE "$replytime\n";
close(FILE);
open (GUEST,"$filepath/list/$id/bbs") ;
@lines=<GUEST>;
close(GUEST);
open (GUEST,">$filepath/list/$id/bbs") ;
foreach $usersays (@lines) {
chomp($usersays);
if($replytime ne $usersays){
print GUEST "$usersays\n";
}}
close(GUEST);
&okview("主题已经成功放置顶端了!");
}
sub untop{
open (FILE, "$filepath/list/$id/top");
@top= <FILE>;
close(FILE);
$deltop=@top;
open (FILE, ">$filepath/list/$id/top");
foreach $top(@top) {
chomp($top);
if ($top ne $replytime) {
print FILE "$top\n";
}}
close(FILE);
if($deltop < 2){unlink("$filepath/list/$id/top");}
open (GUEST,"$filepath/list/$id/bbs") ;
@lines=<GUEST>;
close(GUEST);
open (GUEST,">$filepath/list/$id/bbs") ;
print GUEST "$replytime\n";
foreach $usersays (@lines) {
chomp($usersays);
if($replytime ne $usersays){
print GUEST "$usersays\n";
}}
close(GUEST);
&okview("该主题已经取消置顶了!");
}
sub moveok{
if($fid eq ""){&errorview("请选择您要将主题移动到哪个论坛!");}
unless ( -e "$filepath/list/$fid.cgi"){&errorview("社区不存在此论坛的数据!");}
unless ( -e "$filepath/list/$id/$replytime"){&errorview("帖子已经移动到其它的论坛了!");}
if($fid ne $id){
open(PSD,"$filepath/list/$id/$replytime");
$index=<PSD>;
close(PSD);
open(PSD,">$filepath/list/$fid/$replytime");
print PSD $index;
close(PSD);
chmod(0666,"$filepath/list/$fid/$replytime");
open(PSD,"$filepath/list/$id/$replytime"."b");
@lines=<PSD>;
close(PSD);
open(PSD,">$filepath/list/$fid/$replytime"."b");
print PSD @lines;
close(PSD);
chmod(0666,"$filepath/list/$fid/$replytime"."b");
}else{
open(TITLES,"$filepath/list/$id/top");
@filename=<TITLES>;
close(TITLES);
foreach $filename(@filename) {
chomp($filename);
if($replytime eq $filename){&errorview("对不起。不能拉前固顶的主题!");}}
}
open(TITLES,"$filepath/list/$fid/bbs");
@hastitles=<TITLES>;
close(TITLES);
open(TITLES,">$filepath/list/$fid/bbs");
print TITLES "$replytime\n";
foreach $m (@hastitles){
chomp($m);
if($replytime ne $m){
print TITLES $m."\n";
}}
close(TITLES);
if($fff eq 2){
open(TITLES,"$filepath/list/$id/bbs");
@hastitles=<TITLES>;
close(TITLES);
open(TITLES,">$filepath/list/$id/bbs");
foreach $m (@hastitles){
chomp($m);
if($replytime ne $m){
print TITLES $m."\n";
}}
close(TITLES);
open (TMP,"$filepath/list/$id/$replytime");
$TMP=<TMP>;
close(TMP);
($title,$time,$name)=split(/\t/,$TMP);
open(PSD,"$filepath/list/$fid.cgi");
$idname=<PSD>;
close(PSD);
($bzmc,$secret,$bzrmail,$outurl,$bbsname,$fbzmc2,$rtime,$htmlt,$htmlw,$jj,$fbzmc)=split(/\t/,$idname);
open(TITLES,"$filepath/guest/1$name.cgi");
@hastitles=<TITLES>;
close(TITLES);
$tollys=@hastitles;
open(TITLES,">$filepath/guest/1$name.cgi");
print TITLES "$ftime|$admname|$name|$thistime|<b>【系统信息】</b>您的文章:$title<br>已经被管理人员转移到论坛:$bbsname(请不要回复此消息)\n";
print TITLES @hastitles;
close(TITLES);
open(NUMBERR,"$filepath/guest/2$name.cgi");
$NUMBERR=<NUMBERR>;
close(NUMBERR);
($lys22,$oldlys22,$money22,$charm22)=split(/\t/,$NUMBERR);
$lys22++;
open(NUMBERR,">$filepath/guest/2$name.cgi");
print NUMBERR "$lys22"."\t"."$tollys"."\t"."$money22"."\t"."$charm22";
close(NUMBERR);
unlink("$filepath/list/$id/$replytime");
unlink("$filepath/list/$id/$replytime"."b");
open (FILE, "$filepath/list/$id/top");
@top= <FILE>;
close(FILE);
open (FILE, ">$filepath/list/$id/top");
foreach $top(@top) {
chomp($top);
if ($top ne $replytime) {
print FILE "$top\n";
}}
close(FILE);
}
print "Content-type: text/html\n\n";
print <<EOF;
<HTML><head><META HTTP-EQUIV=Content-Type CONTENT=text/html; charset=gb2312><meta HTTP-EQUIV="REFRESH" CONTENT="2;URL=$imagurl/loading.htm">
<sCRIPT>window.open('bbs.cgi?menu=listtitle&id=$id&ftime','yuzi_frame');</SCRIPT><LINK href="$imagurl/bbs.css" rel=stylesheet></head>
您已经成功地将主题移动到您选择的论坛了,请稍候,系统将自动返回......
<BR><BR><A HREF=$imagurl/loading.htm>如果系统没有反应,请点击这里返回!</A></html>
EOF
exit;
}
######################### END OF SCRIPT #########################
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -