📄 forums.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 {
$start_time = (times)[0] + (times)[1];
$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;
$LBCGI::POST_MAX=2000;
$LBCGI::DISABLE_UPLOADS = 1;
$LBCGI::HEADERS_ONCE = 1;
require "data/boardinfo.cgi";
require "data/styles.cgi";
require "lb.lib.pl";
require "visitforum.lib.pl";
require "rebuildlist.pl";
$|++;
$thisprog = "forums.cgi";
$query = new LBCGI;
if ($COOKIE_USED eq 1) {$cookiepath ="";}
else {
$boardurltemp =$boardurl;
$boardurltemp =~ s/http\:\/\/(\S+?)\/(.*)/\/$2/;
$cookiepath = $boardurltemp;
$cookiepath =~ s/\/$//;
# $cookiepath =~ tr/A-Z/a-z/;
}
&ipbanned; #封杀一些 ip
$jumpto = $query -> param('jumpto'); if ($jumpto) { print redirect(-location=>"$jumpto"); exit; }
$inforum = $query -> param('forum');
&error("打开论坛&老大,别乱黑我的程序呀!") if ($inforum !~ /^[0-9]+$/);
$action = $query -> param('action');
$action = &stripMETA("$action");
$inshow = $query -> param('show');
$inshow = 0 if ($inshow !~ /^[0-9]+$/);
$inthreadages = $query -> param('threadages');
if (-e "${lbdir}data/style${inforum}.cgi") { require "${lbdir}data/style${inforum}.cgi"; }
$inmembername = $query -> param('membername');
$inpassword = $query -> param('password');
$forumpassword = $query -> param('forumpassword');
if (! $inmembername) { $inmembername = $query->cookie("amembernamecookie"); }
if (! $inpassword) { $inpassword = $query->cookie("apasswordcookie"); }
$inmembername =~ s/[\a\f\n\e\0\r\t\`\~\!\@\#\$\%\^\&\*\(\)\+\=\\\{\}\;\'\:\"\,\.\/\<\>\?]//isg;
$inpassword =~ s/[\a\f\n\e\0\r\t\|\@\;\#\{\}\$]//isg;
$currenttime = time;
if ((!$inmembername) or ($inmembername eq "客人")) { $inmembername = "客人"; }
else {
# &getmember("$inmembername");
&getmembernolock("$inmembername");
&error("普通错误&此用户根本不存在!") if ($userregistered eq "no");
&error("普通错误&密码与用户名不相符,请重新登录!") if ($inpassword ne $password);
$cpudisp = 1 if (($membercode eq "ad")||($membercode eq "smo")||($membercode eq "cmo"));
&getlastvisit;
$forumlastvisit = $lastvisitinfo{$inforum};
&setlastvisit("$inforum,$currenttime");
}
require "${lbdir}imagead.cgi" if (($forumimagead eq "1")||($useimageadforum eq "1")||($forumimagead1 eq "1")||($useimageadforum1 eq "1"));
$maxpoststr = "" if ($maxpoststr eq 0);
$maxpoststr = 100 if (($maxpoststr < 100)&&($maxpoststr ne ""));
$addtimes = $timedifferencevalue*3600 + $timezone*3600;
$screenmode = $query->cookie("screenmode");
$screenmode = 8 if ($screenmode eq "");
my $onlineview1 = $query->cookie("onlineview");
$onlineview = $onlineview1 if ($onlineview1 ne "");
$onlineview = 1 if ($onlineview eq "");
if ($action eq "onlineview") { if ($onlineview == 1) { $onlineview = 0; } else { $onlineview = 1; } }
$onlineviewcookie = cookie(-name => "onlineview", -value => "$onlineview", -path => "$cookiepath/", -expires => "+30d");
if ($onlineview == 1) { $onlinetitle="[<a href=$thisprog?action=onlineview&forum=$inforum><font color=$titlefontcolor>关闭详细列表</font></a>]"; }
else { $onlinetitle="[<a href=$thisprog?action=onlineview&forum=$inforum><font color=$titlefontcolor>显示详细列表</font></a>]"; }
&moderator("$inforum");
if ($action eq "accessrequired") {
if ((($userregistered ne "no")&&($allowedentry{$inforum} eq "yes"))||($membercode eq "ad")||($membercode eq 'smo')||($inmembmod eq "yes")||(($userregistered ne "no") && ($forumpassword eq $forumpass))) {
$allowforumcookie = cookie(-name => "forumsallowed$inforum", -value => "$forumpass", -path => "$cookiepath/", -expires => "-1d");
print header(-cookie=>[$allowforumcookie], -charset=>gb2312);
print qq ~<script>location.href="$thisprog?forum=$inforum";</script>~;
exit;
}
&error("进入论坛&你不允许进入该论坛!");
}
if ($action eq "resetposts") {
my $nowtime = $currenttime + 10;
&setlastvisit("$inforum,$nowtime,1");
$forumlastvisit = $currenttime;
print header(-cookie=>[$tempvisitcookie, $permvisitcookie], -charset=>gb2312);
print qq ~<script>location.href="$thisprog?forum=$inforum";</script>~;
exit;
}
$inthreadages = $query->cookie("threadages") if (($query->cookie("threadages"))&&($inthreadages eq ""));
$inthreadages = $defaulttopicshow if ($inthreadages eq "");
$inthreadages = "all" if (($inorder ne "")&&($inorder ne "orderlastpostd"));
if ($CACHE_MODE ne 1) {
print header(-cookie=>[$allowforumcookie, $onlineviewcookie, $tempvisitcookie, $permvisitcookie], -charset=>gb2312);
}
else {
print header(-cookie=>[$allowforumcookie, $onlineviewcookie, $tempvisitcookie, $permvisitcookie], -charset=>gb2312, -expires=>'-1');
}
if (($indexforum ne "no")&&($dispjump ne "no")) { &forumjump; } #必须在 getforum 或 moderator 函数后
if ($pollopen eq "no") { $newthreadbutton2 = ""; }
else { $newthreadbutton2 = qq~<a href=poll.cgi?action=new&forum=$inforum><img src=$imagesurl/images/$newpolllogo border=0 alt=开启一个新投票 width=99 height=25></a> ~; }
if ($postopen eq "no") { $newthreadbutton1 = ""; }
else { $newthreadbutton1 = qq~<a href=post.cgi?action=new&forum=$inforum><img src=$imagesurl/images/$newthreadlogo border=0 alt=发表一个新主题 width=99 height=25></a> ~; }
$newthreadbutton = "$newthreadbutton1$newthreadbutton2";
undef $newthreadbutton1; undef $newthreadbutton2;
if ($forumgraphic) {
if ($forumgraphic =~ /\.swf$/i) {$forumgraphic = qq~<PARAM NAME=PLAY VALUE=TRUE><PARAM NAME=LOOP VALUE=TRUE><PARAM NAME=QUALITY VALUE=HIGH><embed src=$imagesurl/myimages/$forumgraphic quality=high width=$fgwidth height=$fgheight pluginspage="http:\/\/www.macromedia.com\/shockwave\/download\/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application\/x-shockwave-flash"><\/embed>~}
else {$forumgraphic = qq~<a href=forums.cgi?forum=$inforum><img src=$imagesurl/myimages/$forumgraphic border=0></a>~};
} else {
if ($boardlogo =~ /\.swf$/i) {$forumgraphic = qq~<PARAM NAME=PLAY VALUE=TRUE><PARAM NAME=LOOP VALUE=TRUE><PARAM NAME=QUALITY VALUE=HIGH><embed src=$imagesurl/myimages/$boardlogo quality=high width=$boardlogow height=$boardlogoh pluginspage="http:\/\/www.macromedia.com\/shockwave\/download\/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application\/x-shockwave-flash"><\/embed>~}
else {$forumgraphic = qq~<a href=forums.cgi?forum=$inforum><img src=$imagesurl/myimages/$boardlogo border=0></a>~};
}
&title;
$insidead = "" if (($forumimagead ne "1")&&($useimageadforum eq "0")); $insidead1 = "" if (($forumimagead1 ne "1")&&($useimageadforum1 eq "0"));
$output .= qq~<BGSOUND SRC=$imagesurl/midi/$midiaddr LOOP=-1>~ if ((-e "${imagesdir}midi/$midiaddr")&&($midiaddr ne ""));
if ($canusetreeview ne "no") {
$aa = qq~function loadThreadFollow(f_id,t_id,id_of_topic){
var targetImg =eval("document.images.followImg" + id_of_topic);
var targetDiv =eval("follow" + id_of_topic);
if (targetImg.nofollow <= 0){return false;}
if (typeof(targetImg) == "object"){
if (targetDiv.style.display!='block'){
targetDiv.style.display="block";
targetImg.src="$imagesurl/images/cat1.gif";
if (targetImg.loaded=="no"){
document.frames["hiddenframe"].location.replace("reply_tree.cgi?forum="+f_id+"&topic="+t_id);
}
}else{
targetDiv.style.display="none";
targetImg.src="$imagesurl/images/cat.gif";
}
}
}
~;
$bb = qq~<iframe width=0 height=0 src="" id="hiddenframe"><!--文章树--></iframe>~;
}
$output .= qq~<style>
TABLE {BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 1px; }
TD {BORDER-RIGHT: 0px; BORDER-TOP: 0px; color: $fontcolormisc; }
.ha {color: $fonthighlight; font: bold;}
.hb {color: $menufontcolor; font: bold;}
.dp {padding: 4px 0px;}
</style>
<script language="javascript">
function O1(id) {window.open("topic.cgi?forum=$inforum&topic="+id);}
function O2(id) {window.open("view.cgi?forum=$inforum&topic="+id);}
function O5(id1,id2) {window.open("topic.cgi?forum="+id1+"&topic="+id2);}
function O6(id1,id2) {window.open("view.cgi?forum="+id1+"&topic="+id2);}
function O3(id1,id2,id3) {window.open("topic.cgi?forum=" + id1 + "&topic=" + id2 + "&start=" + id3 + "&replynum=last#end", "_self");}
function O4(id) {window.open("forums.cgi?forum="+id);}
function O9(id) {if(id!="")window.open("profile.cgi?action=show&member="+id);}
$aa
if (screen.width <= 800 ){SetCookie('screenmode','5');}
if ((screen.width >800 )&&(screen.width<=1024)){SetCookie('screenmode','8');}
if (screen.width >1024 ){SetCookie('screenmode','10');}
function SetCookie (name, value) { var argv = SetCookie.arguments;var argc = SetCookie.arguments.length;var expires = (argc > 2) ? argv[2] : null;var path = (argc > 3) ? argv[3] : null;var domain = (argc > 4) ? argv[4] : null;var secure = (argc > 5) ? argv[5] : false; document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : ""); }
</script>
$bb
$insidead$insidead1
<table cellpadding=0 cellspacing=0 width=$tablewidth align=center>
<tr><td width=30% rowspan=2 valign=top>$forumgraphic</td>
<td valign=top>
~;
if ($indexforum ne "no"){
if($category=~/childforum-[0-9]+/){
$tempforumno=$category;
$tempforumno=~s/childforum-//;
$filetoopen = "${lbdir}forum$tempforumno/foruminfo.cgi";
open(FILE, "$filetoopen");
$forums = <FILE>;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -