📄 newtopic.cgi
字号:
#!/usr/bin/perl
#------------------------------------------------------#
# 本程序为Yuzi工作室提供 #
# Yuzi论坛3000(BBS3000)v4.00 #
#------------------------------------------------------#
$cgipa="."; # CGI程序文件的绝对路径
######################
## 以下部分不需修改 ##
######################
require "$cgipa/setup.cgi";
&GetCookies;
#########
if($ENV{'QUERY_STRING'}) {
@pairs = split(/&/,$ENV{'QUERY_STRING'});
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;
$FORM{$name} = $value;
}
}else{
binmode STDIN;
read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});
($boundary=$ENV{'CONTENT_TYPE'}) =~ s/^.*boundary=(.*)$/$1/;
@pairs=split(/--$boundary/, $buffer);
for $pair (@pairs) {
($dump,$line,$value) = split(/\r\n/,$pair,3);
if($line =~ /filename/) {
$real_file = $line;
}
next if $line =~ /filename=\"\"/;
$line =~ s/^Content-Disposition: form-data; //;
(@column) = split(/;\s+/, $line);
($name = $column[0]) =~ s/^name="([^"]+)"$/$1/g;
if($#column > 0) {
($dump,$dump,$value) = split(/\r\n/,$value,3);
}else {
($dump,$value) = split(/\r\n/,$value,2);
next if $value =~ /^\s*$/;
$FORM{$name} = $value;
chop($FORM{$name});
chop($FORM{$name});
next;
}
$FORM{$name} = $value;
}
}
##################
$menu= $FORM{'menu'};
$id=$FORM{'id'};
$username=$FORM{'username'};
$userpsd=$FORM{'userpsd'};
$titles=$FORM{'titles'};
$emote=$FORM{'emote'};
$comment=$FORM{'comment'};
$titles=~s/>/>/g;
$titles=~s/</</g;
$titles=~s/\t/ /g;
$titles=~s/\n/\<br\>/g;
$titles=~s///g;
$comment=~s///g;
$comment=~s/\t/ /g;
$comment=~s/>/>/g;
$comment=~s/</</g;
$comment=~s/\n/\<br\>/g;
if ($menu eq "upfile"){&upfile;exit;}
if($ybbcodeAllow ne "on"){$ybbestate="不";}
if($Cookies{xuansave}){$savechecked=checked;}
$maxkk=$maxfj/1024;
&css;
print <<EOF;
<script>function HighlightAll(theField) {
var tempval=eval("document."+theField)
tempval.focus()
tempval.select()
therange=tempval.createTextRange()
therange.execCommand("Copy")}
function DoTitle(addTitle) {
var currentTitle = document.form.titles.value;
revisedTitle = currentTitle+addTitle;
document.form.titles.value=revisedTitle;
return; }
var MessageMax="$restrictbyte";
var Override="";
function CheckLength(){
MessageLength=document.form.comment.value.length;
message="";
if(MessageMax !=0) {
message="最大字符为 "+MessageMax+ " 字节";
}else{
messag ="";
}
alert(message+"\\n您的内容已有 "+MessageLength+" 字节");
}
function ValidateForm(){
usernameLength=document.form.username.value.length;
if(usernameLength<1){alert("请输入用户名称!");return false;}
userpsdLength=document.form.userpsd.value.length;
if(userpsdLength<1){alert("请输入用户密码!");return false;}
titlesLength=document.form.titles.value.length;
if(titlesLength<2){alert("文章标题不能小于2个字符!");return false;}
MessageLength =document.form.comment.value.length;
errors="";
if(MessageLength<2){
errors="文章内容不能小于2个字符!";
}
if(MessageMax !=0){
if(MessageLength > MessageMax){
errors="本论坛限制文章长度不得超过 "+MessageMax+" 字节\\n目前您的文章字节: "+MessageLength;
}
}
if(errors != "" && Override == ""){
alert(errors);
return false;
}else{
document.form.submit1.disabled = true;
return true;
}
}
function emoticon(theSmilie){
document.form.comment.value += theSmilie + ' ';
document.form.comment.focus();
}
var i=0;
function presskey(eventobject){if(event.ctrlKey && window.event.keyCode==13){i++;if (i>1) {alert('帖子正在发出,请耐心等待!');return false;}this.document.form.submit();}}
</script>
<BODY topmargin=0>
<table width=100% border=0 cellpadding=4 cellspacing=0 bgcolor=$bgcolor0 background=$imagurl/color/$color/iebg.gif><tr><td><font color=ffffff>您当前的位置:<a href=$imagurl/loading.htm><font color=ffffff>$FORM{'bbsname'}</font></a> >> 发表文章</font></td><td align=right><a href=$outurl target=_blank><font color=ffffff>$outurl</font></a></td></tr></table>
<center>
<form ENCTYPE='multipart/form-data' method=post name=form onsubmit="return ValidateForm()" action=newtopic.cgi>
<input type=hidden name=menu value=upfile>
<input type=hidden name=id value=$id><input type=hidden name=bbsname value=$FORM{'bbsname'}>
<TABLE cellSpacing=1 cellPadding=5 border=0 width=630>
<TBODY><TR><TD background=$imagurl/color/$color/iebg2.gif id=titlelarge vAlign=left bgColor=$bgcolor0 colSpan=4 height=18><font color=ffffff>
发表文章</TD></TR><TR><TD width=129 bgColor=$bgcolor1 height=25><b>用户名称</b><br> <a href=yhreg.cgi target=_blank>没有注册?</a></TD>
<TD width=190 bgColor=$bgcolor1 height=25><INPUT onmouseover=this.focus() maxLength=20 size=15 name=username value=$Cookies{username}></TD>
<TD width=129 bgColor=$bgcolor1 height=25><b>您的密码</b><br> <a href=yhxiu.cgi#mail target=_blank>忘记密码?</a></TD><TD width=190 bgColor=$bgcolor1 height=25><INPUT type=password onmouseover=this.focus() size=15 name=userpsd value=$Cookies{password}></TD></TR>
<TR><TD bgColor=$bgcolor2 height=25 width=129><b>文章标题</b>
<SELECT onchange=DoTitle(this.options[this.selectedIndex].value)>
<OPTION selected value=""> 类型</OPTION>
<OPTION value=[原创]>[原创]</OPTION><OPTION value=[转帖]>[转帖]</OPTION>
<OPTION value=[灌水]>[灌水]</OPTION><OPTION value=[讨论]>[讨论]</OPTION>
<OPTION value=[求助]>[求助]</OPTION><OPTION value=[推荐]>[推荐]</OPTION>
<OPTION value=[公告]>[公告]</OPTION><OPTION value=[注意]>[注意]</OPTION>
<OPTION value=[贴图]>[贴图]</OPTION><OPTION value=[建议]>[建议]</OPTION>
<OPTION value=[下载]>[下载]</OPTION><OPTION value=[分享]>[分享]</OPTION></SELECT>
</TD><TD bgColor=$bgcolor2 height=25 colspan=3 width=502><INPUT onmouseover=this.focus() maxLength=30 size=59 name=titles></TD></TR><TR><TD vAlign=top align=left bgColor=$bgcolor1 height=46 width=129><b>您的表情</b></TD>
<TD width=502 bgColor=$bgcolor1 colspan=3>
<input type=radio name=emote value=1 checked><img onclick=javascript:emoticon('[img]$imagurl/1.gif[/img]') src=$imagurl/1.gif>
<input type=radio name=emote value=2><img onclick=javascript:emoticon('[img]$imagurl/2.gif[/img]') src=$imagurl/2.gif>
<input type=radio name=emote value=3><img onclick=javascript:emoticon('[img]$imagurl/3.gif[/img]') src=$imagurl/3.gif>
<input type=radio name=emote value=4><img onclick=javascript:emoticon('[img]$imagurl/4.gif[/img]') src=$imagurl/4.gif>
<input type=radio name=emote value=5><img onclick=javascript:emoticon('[img]$imagurl/5.gif[/img]') src=$imagurl/5.gif>
<input type=radio name=emote value=6><img onclick=javascript:emoticon('[img]$imagurl/6.gif[/img]') src=$imagurl/6.gif>
<input type=radio name=emote value=7><img onclick=javascript:emoticon('[img]$imagurl/7.gif[/img]') src=$imagurl/7.gif>
<input type=radio name=emote value=8><img onclick=javascript:emoticon('[img]$imagurl/8.gif[/img]') src=$imagurl/8.gif>
<input type=radio name=emote value=9><img onclick=javascript:emoticon('[img]$imagurl/9.gif[/img]') src=$imagurl/9.gif>
<input type=radio name=emote value=10><img onclick=javascript:emoticon('[img]$imagurl/10.gif[/img]') src=$imagurl/10.gif>
<input type=radio name=emote value=11><img onclick=javascript:emoticon('[img]$imagurl/11.gif[/img]') src=$imagurl/11.gif>
<br><input type=radio name=emote value=12><img onclick=javascript:emoticon('[img]$imagurl/12.gif[/img]') src=$imagurl/12.gif>
<input type=radio name=emote value=13><img onclick=javascript:emoticon('[img]$imagurl/13.gif[/img]') src=$imagurl/13.gif>
<input type=radio name=emote value=14><img onclick=javascript:emoticon('[img]$imagurl/14.gif[/img]') src=$imagurl/14.gif>
<input type=radio name=emote value=15><img onclick=javascript:emoticon('[img]$imagurl/15.gif[/img]') src=$imagurl/15.gif>
<input type=radio name=emote value=16><img onclick=javascript:emoticon('[img]$imagurl/16.gif[/img]') src=$imagurl/16.gif>
<input type=radio name=emote value=17><img onclick=javascript:emoticon('[img]$imagurl/17.gif[/img]') src=$imagurl/17.gif>
<input type=radio name=emote value=18><img onclick=javascript:emoticon('[img]$imagurl/18.gif[/img]') src=$imagurl/18.gif>
<input type=radio name=emote value=19><img onclick=javascript:emoticon('[img]$imagurl/19.gif[/img]') src=$imagurl/19.gif>
<input type=radio name=emote value=20><img onclick=javascript:emoticon('[img]$imagurl/20.gif[/img]') src=$imagurl/20.gif>
<input type=radio name=emote value=21><img onclick=javascript:emoticon('[img]$imagurl/21.gif[/img]') src=$imagurl/21.gif>
<input type=radio name=emote value=22><img onclick=javascript:emoticon('[img]$imagurl/22.gif[/img]') src=$imagurl/22.gif>
<br><input type=radio name=emote value=23><img onclick=javascript:emoticon('[img]$imagurl/23.gif[/img]') src=$imagurl/23.gif>
<input type=radio name=emote value=24><img onclick=javascript:emoticon('[img]$imagurl/24.gif[/img]') src=$imagurl/24.gif>
<input type=radio name=emote value=25><img onclick=javascript:emoticon('[img]$imagurl/25.gif[/img]') src=$imagurl/25.gif>
<input type=radio name=emote value=26><img onclick=javascript:emoticon('[img]$imagurl/26.gif[/img]') src=$imagurl/26.gif>
<input type=radio name=emote value=27><img onclick=javascript:emoticon('[img]$imagurl/27.gif[/img]') src=$imagurl/27.gif>
<input type=radio name=emote value=28><img onclick=javascript:emoticon('[img]$imagurl/28.gif[/img]') src=$imagurl/28.gif>
<input type=radio name=emote value=29><img onclick=javascript:emoticon('[img]$imagurl/29.gif[/img]') src=$imagurl/29.gif>
<input type=radio name=emote value=30><img onclick=javascript:emoticon('[img]$imagurl/30.gif[/img]') src=$imagurl/30.gif>
<input type=radio name=emote value=31><img onclick=javascript:emoticon('[img]$imagurl/31.gif[/img]') src=$imagurl/31.gif>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -