⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 forums.cgi

📁 一个linux论坛
💻 CGI
📖 第 1 页 / 共 5 页
字号:
#!/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 + -