📄 setforums.cgi
字号:
<input type=hidden name="action" value="doedit">
<input type=hidden name="forum" value="$inforum">
<tr>
<td bgcolor=#FFFFFF width=40%>
<font color=#333333><b>论坛名称</b><br>请输入论坛名称</font></td>
<td bgcolor=#FFFFFF>
<input type=text size=40 name="forumname" value="$forumname"></td>
</tr>
<tr>
<td bgcolor=#FFFFFF width=40%>
<font color=#333333><b>论坛描述</b><br>请输入论坛描述,支持 HTML 语法</font></td>
<td bgcolor=#FFFFFF>
<input type=text size=40 name="forumdescription" value="$forumdescription"></td>
</tr>
<tr>
<td bgcolor=#FFFFFF width=40%>
<font color=#333333><b>论坛版主</b><br>请输入论坛版主,如果您希望有多个版主,请使用 "," (英文逗号,不是中文逗号)隔开。<BR><B>例如</B>:山鹰糊, 花无缺</font></td>
<td bgcolor=#FFFFFF>
<input type=text size=40 name="forummoderator" value="$forummoderator">$modiii</td>
</tr>
~;
$tempoutput = qq~<select name="htmlstate"><option value="on">使用<option value="off">不使用</select>~;
$tempoutput =~ s/value=\"$htmlstate\"/value=\"$htmlstate\" selected/g;
print qq~
<tr>
<td bgcolor=#FFFFFF width=40%>
<font color=#333333><b>是否使用 HTML 标签?</b></font></td>
<td bgcolor=#FFFFFF>
$tempoutput
</td>
</tr>
~;
$tempoutput = qq~<select name="idmbcodestate"><option value="on">使用<option value="off">不使用</select>~;
$tempoutput =~ s/value=\"$idmbcodestate\"/value=\"$idmbcodestate\" selected/g;
print qq~
<tr>
<td bgcolor=#FFFFFF width=40%>
<font color=#333333><b>是否使用 LB5000 标签?</b></font></td>
<td bgcolor=#FFFFFF>
$tempoutput
</td>
</tr>
~;
$tempoutput = qq~<select name="privateforum"><option value="yes">是<option value="no">否</select>~;
$tempoutput =~ s/value=\"$privateforum\"/value=\"$privateforum\" selected/g;
if (!$privateforum) {
$tempoutput = qq~<select name="privateforum"><option value="yes">是<option value="no" selected>否</select>~;
}
print qq~
<tr>
<td bgcolor=#FFFFFF width=40%>
<font color=#333333><b>是否作为私有论坛?</b></font></td>
<td bgcolor=#FFFFFF>
$tempoutput 对坛主和总斑竹无效
</td>
</tr>
<tr>
<td bgcolor=#FFFFFF width=40%>
<font color=#333333><b>私有论坛密码</b>(只对私有论坛有效)</font></td>
<td bgcolor=#FFFFFF>
<input type=text size=12 name="forumpass" value="$forumpass" maxlength=20> 对坛主和总斑竹无效</td>
</td>
</tr>
~;
$tempoutput = qq~<select name="hiddenforum"><option value="yes">是<option value="no">否</select>~;
$tempoutput =~ s/value=\"$hiddenforum\"/value=\"$hiddenforum\" selected/g;
if (!$hiddenforum) {
$tempoutput = qq~<select name="hiddenforum"><option value="yes">是<option value="no" selected>否</select>~;
}
print qq~
<tr>
<td bgcolor=#FFFFFF width=40%>
<font color=#333333><b>是否隐藏论坛?</b></font></td>
<td bgcolor=#FFFFFF>
$tempoutput
</td>
</tr>
~;
$tempoutput = qq~<select name="indexforum"><option value="yes">是<option value="no">否</select>~;
$tempoutput =~ s/value=\"$indexforum\"/value=\"$indexforum\" selected/g;
if (!$indexforum) {
$tempoutput = qq~<select name="indexforum"><option value="yes" selected>是<option value="no" >否</select>~;
}
print qq~
<tr>
<td bgcolor=#FFFFFF width=40%>
<font color=#333333><b>是否显示导航栏?</b></font></td>
<td bgcolor=#FFFFFF>
$tempoutput
</td>
</tr>
~;
$tempoutput = qq~<select name="startnewthreads"><option value="yes" selected>正规论坛<option value="all">开放论坛<option value="follow">评论论坛<option value="no">精华区<option value="cert">认证论坛</select>~;
$tempoutput =~ s/value=\"$startnewthreads\"/value=\"$startnewthreads\" selected/g;
print qq~
<tr>
<td bgcolor=#FFFFFF width=40%>
<font color=#333333><b>论坛性质</b><br>1. 正规论坛-只允许注册会员发言<br>2. 开放论坛-允许所有人发言<br>3. 评论论坛-坛主和版主允许发言,其他注册用户只能回复<br>4. 精华区-只允许版主和坛主发言和操作<br>5. 认证论坛-除坛主和版主外,其他注册用户发言需要认证</font></td>
<td bgcolor=#FFFFFF>
$tempoutput
</td>
</tr>
<tr>
<td bgcolor=#FFFFFF width=40%>
<font color=#333333><b>论坛图片</b><br>请输入图片名称,此图必须在 myimages 目录下,被用来放置在页面左边菜单下。<BR><b>请不要包含 URL 地址或绝对路径!</b></font></td>
<td bgcolor=#FFFFFF>
<input type=text size=30 name="forumgraphic" value="$forumgraphic">
~;
opendir (DIR, "${imagesdir}myimages");
@thd = readdir(DIR);
closedir (DIR);
my $myimages="";
$topiccount = @thd;
@thd=sort @thd;
for (my $i=0;$i<$topiccount;$i++){
next if (($thd[$i] eq ".")||($thd[$i] eq ".."));
$myimages.=qq~<option value="$thd[$i]">$thd[$i]~;
}
$myimages =~ s/value=\"$action\"/value=\"$action\" selected/;
print qq~
<script>
function select(){
document.FORM.forumgraphic.value=FORM.image.value;
document.bbsimg.src = "$imagesurl/myimages/"+FORM.image.value;}
function select2(){
document.FORM.teamlogo.value=FORM.image2.value;
document.bbsimg.src = "$imagesurl/myimages/"+FORM.image2.value;}
function select3(){
document.bbsimg.src = FORM.addme.value;}
</script>
<select name="image" onChange=select()><option value="blank.gif">选择图片$myimages</select></td>
</tr>
<tr>
<tr>
<td bgcolor=#FFFFFF width=40%>
<font color=#333333><b>论坛FLASH动画高度、宽度</b><br>请正确输入 FLASH 动画的高度及宽度。<BR></font></td>
<td bgcolor=#FFFFFF>
宽度:<input type=text size=3 name="fgwidth" value="$fgwidth"> 高度:<input type=text size=3 name="fgheight" value="$fgheight"></td>
</tr>
<tr>
<td bgcolor=#FFFFFF width=40%>
<font color=#333333><b>队伍图片</b>(如果没有,请保持原样)<br>请输入图片名称,此图必须在 myimages 目录下,被用来放置在主页面下。<BR><b>不要包含 URL 地址或绝对路径!</b></font></td>
<td bgcolor=#FFFFFF>
<input type=text size=30 name="teamlogo" value="$teamlogo"> <select name="image2" onChange=select2()><option value="blank.gif">选择图片$myimages</select></td>
</tr>
<tr>
<td bgcolor=#FFFFFF width=40%>
<font color=#333333><b>上传论坛/队伍图片</b><br>请输入图片名称,此图片被用作论坛图片/队伍图片。</font></td>
<td bgcolor=#FFFFFF>
<input type="file" size=20 name="addme" onchange="select3()"><br>支持类型:gif、jpg、bmp、png、swf</td>
</tr>
<tr>
<td bgcolor=#FFFFFF width=40%>
<font color=#333333><b>队伍网址</b>(如果没有,请保持原样)</td>
<td bgcolor=#FFFFFF>
<input type=text size=40 name="teamurl" value="$teamurl"></td>
</tr><tr>
<td bgcolor=#FFFFFF colspan=2>
<font color=#333333><b>图像预览</b></font><br><IMG border=0 name=bbsimg src="$imagesurl/myimages/blank.gif" align="absmiddle"></td>
</tr>
<tr>
<td bgcolor=#F0F0F0 align=center colspan=2>
<input type=submit value="提 交"></form></td></tr></table></td></tr></table>
~;
} # end route
##################################################################################
######## Subroutes ( Processing the edit of a forum)
sub doedit {
# &errorout("保密论坛,密码不能空!!") if (($new_privateforum eq "yes")&&($new_forumpass eq ""));
&errorout("对不起,论坛名字过长,请控制在 20 个汉字内!") if (length($new_forumname) >40);
&errorout("论坛名字不能空!!") if ($new_forumname eq "");
&errorout("论坛描述不能空!!") if ($new_forumdescription eq "");
$new_privateforum = "yes" if ($new_forumpass ne "");
$addme=$query->param('addme');
if ($addme ne ""){
my $up_filename =$query->uploadInfo($addme);
my ($up_name,$up_ext) = split(/\./,$up_filename);
$up_ext = lc($up_ext);
&errorout("上传出错!不支持您所上传的图片类型,请重新选择!") if (($up_ext ne "gif") && ($up_ext ne "jpg") && ($up_ext ne "bmp")&&($up_ext ne "swf")&&($up_ext ne "png"));
my $buffer;
open (FILE,">$imagesdir/myimages/$up_name.$up_ext");
binmode (FILE);
while ($buffer=$query->readUploadFile($addme,4096)) {
$buffer=~s/\.cookie/\&\#46\;cookie/isg;
$buffer =~ s/on(mouse|exit|error|click|key)/\&\#111\;n$1/isg;
$buffer=~s/script/scri\&\#112\;t/isg;
$buffer =~ s/style/\&\#115\;tyle/isg;
print FILE $buffer;
}
close (FILE);
if ($up_ext eq "gif"||$up_ext eq "jpg"||$up_ext eq "bmp"||$up_ext eq "jpeg"||$up_ext eq "png"||$up_ext eq "ppm"||$up_ext eq "svg"||$up_ext eq "xbm"||$up_ext eq "xpm") {
my $info = image_info("${imagesdir}myimages/$up_name.$up_ext");
if ($info->{error} eq "Unrecognized file format"){
unlink ("${imagesdir}myimages/$up_name.$up_ext");
&errorout("上传出错&上传文件不是图片文件,请上传标准的图片文件!");
}
undef $info;
}
}
mkdir ("${imagesdir}usr/$newforumid", 0777);
$filetoopen = "$lbdir" . "data/allforums.cgi";
&winlock($filetoopen) if ($OS_USED eq "Nt");
open(FILE,"$filetoopen");
flock(FILE, 1) if ($OS_USED eq "Unix");
@forums = <FILE>;
close(FILE);
foreach $forum (@forums) {
chomp $forum;
next if ($forum eq "");
($forumid, $notneeded) = split(/\t/,$forum);
next if ($forumid !~ /^[0-9]+$/);
if ($forumid eq $inforum) {
($forumid, $category, $categoryplace, $forumname, $forumdescription, $forummoderator ,$htmlstate ,$idmbcodestate ,$privateforum, $startnewthreads ,$lastposter ,$lastposttime, $threads, $posts, $forumgraphic, $ratings, $misc, $forumpass,$hiddenforum,$indexforum,$teamlogo,$teamurl, $fgwidth, $fgheight, $miscadd3, $miscadd4, $miscad5) = split(/\t/,$forum);
}
}
# Time to process the forms
$editedline = "$inforum\t$category\t$categoryplace\t$new_forumname\t$new_forumdescription\t$new_forummoderator\t$new_htmlstate\t$new_idmbcodestate\t$new_privateforum\t$new_startnewthreads\t$lastposter\t$lastposttime\t$threads\t$posts\t$new_forumgraphic\t$new_ratings\t$misc\t$new_forumpass\t$new_hiddenforum\t$new_indexforum\t$new_teamlogo\t$new_teamurl\t$new_fgwidth\t$new_fgheight\t$new_miscadd3\t$new_miscadd4\t$new_miscad5\t";
chomp $editedline;
my @molist = split(/\,/,$new_forummoderator);
foreach $_ (@molist){
chomp $_;
$_ =~ s/ /\_/g;
$_ =~ tr/A-Z/a-z/;
next if ($_ eq "");
next if (($_ =~ /诚聘中/i)||($_ =~ /斑竹/i)||($_ =~ /全体管理人员/i)||($_ =~ /管理员/i)||($_ =~ /暂时空缺/i)||($_ =~ /版主/i)||($_ =~ /坛主/i));
if ((!(-e "${lbdir}$memdir/$_.cgi"))&&(!(-e "${lbdir}$memdir/old/$_.cgi"))) { &winunlock($filetoopen) if ($OS_USED eq "Nt"); &errorout("论坛版主名单中,$_ 这个用户 ID 是不存在的!"); }
}
$dirtomake = "$lbdir" . "forum$inforum";
$filetomake1 = "$dirtomake/foruminfo.cgi";
open(FILE,">$filetomake1");
print FILE $editedline;
close(FILE);
# Lets re-open the file
$filetoopen = "$lbdir" . "data/allforums.cgi";
open(FILE,"$filetoopen");
flock(FILE, 1) if ($OS_USED eq "Unix");
@forums = <FILE>;
close(FILE);
# Lets remake the file...
open(FILE,">$filetoopen");
flock(FILE,2) if ($OS_USED eq "Unix");
open(FILEBAK, ">$filetoopen.pl");
foreach $forum (@forums) {
chomp $forum;
($tempforumid,$notneeded) = split(/\t/,$forum);
if ($tempforumid eq "$inforum") {
print FILE "$editedline\n";
print FILEBAK "$editedline\n";
}
else {
print FILE "$forum\n";
print FILEBAK "$forum\n";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -