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

📄 announcements.cgi

📁 一个linux论坛
💻 CGI
📖 第 1 页 / 共 2 页
字号:
#!/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 {
    $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=50000;
$LBCGI::DISABLE_UPLOADS = 1;
$LBCGI::HEADERS_ONCE = 1;
require "code.cgi";
require "data/boardinfo.cgi";
require "data/styles.cgi";
require "lb.lib.pl";
$|++;
$thisprog = "announcements.cgi";
$query = new LBCGI;

for ('membername','password','announcementtitle','announcementpost','action','checked','number', 'forum') {
    next unless defined $_;
    next if $_ eq 'SEND_MAIL';
    $tp = $query->param($_);
    $tp = &cleaninput($tp);
    ${$_} = $tp;
}
$inmembername           = $membername;
$inpassword             = $password;
$inannouncementtitle    = $announcementtitle;
$inannouncementpost     = $announcementpost;
$inforum		= $forum;
&error("打开文件&老大,别乱黑我的程序呀!") if (($inforum) && ($inforum !~ /^[0-9]+$/));

if (-e "${lbdir}data/style${inforum}.cgi") { require "${lbdir}data/style${inforum}.cgi"; }
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;

if ((!$inmembername) or ($inmembername eq "客人")) { $inmembername = "客人"; }
  else {
#    &getmember("$inmembername");
    &getmembernolock("$inmembername");
    &error("普通错误&此用户根本不存在!") if ($userregistered eq "no");
    &error("普通错误&密码与用户名不相符,请重新登录!") if ($inpassword ne $password);
}

if ($inforum ne "") { &getoneforum("$inforum"); } else { $inmembmod = "no"; }
#    &moderator("$inforum");
print header(-charset=>gb2312);
&title;

if ($inforum ne "") {
    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~<img src=$imagesurl/myimages/$forumgraphic border=0>~};
    } 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~<img src=$imagesurl/myimages/$boardlogo>~};
    }
}
else {
    if ($boardlogo ne "") {
        if ($boardlogo =~ /\.swf$/i) {$boardgraphic = 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 {$boardgraphic = qq~<img src=$imagesurl/myimages/$boardlogo>~};
    }
}

if ($inforum ne "") {
        $output .= qq~<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth align=center>
<tr><td width=30% rowspan=2 valign=top>$forumgraphic</td>
<td valign=top align=left><font face="$font" color=$fontcolormisc><img src=$imagesurl/images/closedfold.gif width=14> <a href=leoboard.cgi>$boardname</a><br>
<img src=$imagesurl/images/bar.gif width=15 height=15><img src=$imagesurl/images/closedfold.gif width=14 height=14> <a href=forums.cgi?forum=$inforum>$forumname</a><br>
  <img src=$imagesurl/images/bar.gif width=15 height=15><img src=$imagesurl/images/openfold.gif width=14 height=14> 论坛公告
</tr></table><p>
<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center>
<tr><td>
<table cellpadding=3 cellspacing=1 border=0 width=100% style="TABLE-LAYOUT: fixed">
~;
} else {
        $output .= qq~<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth align=center>
<tr><td width=30% rowspan=2 valign=top>$boardgraphic</td>
<td valign=top align=left><font face="$font" color=$fontcolormisc>
 <img src="$imagesurl/images/closedfold.gif" border=0> <a href="leoboard.cgi">$boardname</a><br>
 <img src="$imagesurl/images/bar.gif" border=0><img src="$imagesurl/images/openfold.gif" border=0> 论坛公告
</tr></table><p>
<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center>
<tr><td>
<table cellpadding=3 cellspacing=1 border=0 width=100% style="TABLE-LAYOUT: fixed">
~;
}

if ($action eq "delete") {
    if ($checked eq "yes") {
	if (($membercode ne "ad") && ($membercode ne 'smo') && ($inmembmod ne "yes")) { &error("使用公告&您不是管理员!"); }

	$filetoopen = "$lbdir" . "data/news$inforum.cgi";
        open(FILE, "$filetoopen");
        @announcements = <FILE>;
        close(FILE);
        $count = 0;

        &winlock($filetoopen) if ($OS_USED eq "Nt");
        open(FILE, ">$filetoopen");
        flock (FILE, 2) if ($OS_USED eq "Unix");
        foreach (@announcements) {
	    chomp $_;
	    if ($count ne $number) {
                print FILE "$_\n";
            }
	    $count++;
	}
        close(FILE);
	&winunlock($filetoopen) if ($OS_USED eq "Nt");
        &doend("论坛公告已经被删除");
	exit;
    }
    else {
	&login("$thisprog?action=delete&number=$number&checked=yes&forum=$inforum");
    }
}
elsif ($action eq "add") {
    my $filetoopens = "$lbdir" . "data/onlinedata.cgi";
    $filetoopens = &lockfilename($filetoopens);
    if (!(-e "$filetoopens.lck")) {
	&whosonline("$inmembername\t公告栏\tnone\t添加公告\t");
    }
    $output .= qq~<tr><td bgcolor=$miscbacktwo colspan=2 align=center>
<form action="$thisprog" method=post>
<input type=hidden name="action" value="addannouncement">
<input type=hidden name="forum" value="$inforum">
<font face="$font" color=$fontcolormisc><b>发表论坛公告</b></td></tr>
<tr><td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc>请输入您的用户名</font></td>
<td bgcolor=$miscbackone valign=middle><input type=text name="membername" value="$inmembername"></a></td></tr>
<tr><td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc>请输入您的密码</font></td>
<td bgcolor=$miscbackone valign=middle><input type=password name="password" value="$inpassword"></td></tr>
<tr><td bgcolor=$miscbackone valign=top width=30%><font face="$font" color=$fontcolormisc><b>论坛公告标题</b></font></td>
<td bgcolor=$miscbackone valign=middle><input type=text name="announcementtitle" size=60 maxlength=100></td></tr>
<tr>
<td bgcolor=$miscbackone valign=top width=30%><font face="$font" color=$fontcolormisc><b>论坛公告内容</b><br>请输入您的论坛公告内容。<p>如果使用了表情字符转换,LB5000 将自动在公告中转换表情字符。</font></td>
<td bgcolor=$miscbackone valign=middle><textarea cols=60 rows=10 name="announcementpost"></textarea></td></tr>
<tr><td bgcolor=$miscbacktwo valign=middle colspan=2 align=center>
<input type=Submit  value="提 交" name=Submit onClick="return clckcntr();"> &nbsp; <input type="reset" name="Clear">
</td></form></tr>
~;
}
elsif ($action eq "addannouncement") {
    $currenttime = time;
    if (($membercode ne "ad")&&($membercode ne 'smo') && ($inmembmod ne "yes")) { &error("使用公告&您不是管理员!"); }
    if ($inannouncementpost eq "")  { &error("使用公告&请输入论坛公告内容!"); }
    if ($inannouncementtitle eq "") { &error("使用公告&请输入论坛公告标题!"); }

    $filetoopen = "$lbdir" . "data/news$inforum.cgi";
    open(FILE, "$filetoopen");
    @announcements = <FILE>;
    close(FILE);
    $newline = "$inannouncementtitle\t$currenttime\t$inannouncementpost\t$inmembername\t";

    &winlock($filetoopen) if ($OS_USED eq "Nt");
    open(FILE, ">$filetoopen");
    flock(FILE, 2) if ($OS_USED eq "Unix");
    print FILE "$newline\n";
    foreach $line (@announcements) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -