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

📄 announcements.cgi

📁 一个linux论坛
💻 CGI
📖 第 1 页 / 共 2 页
字号:
        chomp $line;
	print FILE "$line\n";
    }
    close(FILE);
    &winunlock($filetoopen) if ($OS_USED eq "Nt");
    &doend("论坛公告已经发表。");
    exit;
}
elsif ($action eq "edit") {
    my $filetoopens = "$lbdir" . "data/onlinedata.cgi";
    $filetoopens = &lockfilename($filetoopens);
    if (!(-e "$filetoopens.lck")) {
        &whosonline("$inmembername\t公告栏\tnone\t编辑公告\t");
    }

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

    foreach (@announcements) {
        if ($count eq $number) {
            ($announcementtitle, $notneeded, $announcementpost,$notneeded) = split(/\t/,$_);
            last;
        }
        $count++;
    }

    $announcementpost =~ s/\<p\>/\n\n/g;
    $announcementpost =~ s/\<br\>/\n/g;
    $output .= qq~<tr><td bgcolor=$miscbacktwo colspan=2 align=center>
<form action="$thisprog" method=post>
<input type=hidden name="forum" value="$inforum">
<input type=hidden name="action" value="doedit">
<input type=hidden name="number" value="$number">
<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" value="$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">$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 "doedit") {
    $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);
    $count = 0;
    $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");
    foreach (@announcements) {
        chomp $_;
        if ($count eq $number) {
            print FILE "$newline\n";
        } else {
            print FILE "$_\n";
        }
        $count++;
    }
    close(FILE);
    &winunlock($filetoopen) if ($OS_USED eq "Nt");
    &doend("论坛公告已经被编辑并发表了");
    exit;
}
else {
    my $filetoopens = "$lbdir" . "data/onlinedata.cgi";
    $filetoopens = &lockfilename($filetoopens);
    if (!(-e "$filetoopens.lck")) {
	&whosonline("$inmembername\t公告栏\tnone\t查看公告\t");
    }
    $filetoopen = "$lbdir" . "data/news$inforum.cgi";
    open(FILE, "$filetoopen");
    @announcements = <FILE>;
    close(FILE);
    $postcountcheck = 0;
    $totals = @announcements;
    if ($totals eq "0") {
        $dateposted = time;
        @announcements[0] = "当前没有任何公告\t$dateposted\t请点击添加图标来发布一个公告(必须是管理员)。<br>当你发布一次公告后,本公告就会自动消失,无需你手动删除!";
    }
    foreach (@announcements) {
	($title, $dateposted, $post, $nameposted) = split(/\t/, $_);
	next if ($title eq "");
	$postedid++;
        $dateposted = $dateposted + ($timedifferencevalue*3600) + ($timezone*3600);
        $dateposted = &dateformat("$dateposted");
        $post = &lbcode("$post");
        $post = &doemoticons("$post");
	$post = &smilecode("$post");

        if ($post !~/<blockquote><font face=宋体>代码/isg){
            $post =~ s/&quot\;/\"/g;
            $post =~ s/\&amp\;/\&/g;
        }

        if ($count eq "1") {
	    $postbackcolor = "$postcolorone";
	    $postfontcolor = "$postfontcolorone";
	    $count++;
	}
	else {
	    $postbackcolor = "$postcolortwo";
	    $postfontcolor = "$postfontcolortwo";
	    $count = 1;
	}
        $post = qq~<p><blockquote>$post</blockquote><p>~;
        $adminadd = qq~<a href="$thisprog?action=add&forum=$inforum"><img src="$imagesurl/images/a_add.gif" border=0"></a>~;
        $admindelete = qq~<a href="$thisprog?action=delete&number=$postcountcheck&forum=$inforum"><img src="$imagesurl/images/a_delete.gif" border=0"></a>~;
        $adminedit = qq~<a href="$thisprog?action=edit&number=$postcountcheck&forum=$inforum"><img src="$imagesurl/images/a_edit.gif" border=0"></a>~;

        $output .= qq~<tr><a name=title$postedid></a><td bgcolor=$titlecolor align=center valign=top><font face="$font" color=$titlefontcolor><b>>> $title <<</b></td></tr>~;
        if (($membercode eq "ad")||($membercode eq 'smo')||($inmembmod eq "yes")) {
	    $output .= qq~<tr><td bgcolor=$postbackcolor align=left>$admindelete &nbsp; $adminedit &nbsp; $adminadd</td></tr>~;
        }
	$nameposted = "本站的默认公告" if (!$nameposted);
	$output .= qq~<tr><td bgcolor="$postbackcolor" valign=top style="LEFT: 0px; WIDTH: 100%; WORD-WRAP: break-word"><font face="$font" color=$postfontcolor>
$post</td></tr><tr><td bgcolor="$postbackcolor" valign=middle>
<table width=100% border="0" cellpadding="0" cellspacing="0">
<tr><td align=left>&nbsp;&nbsp;&nbsp;<font face="$font" color=$postfontcolor><b>发布人</b>: $nameposted</font>
</td><td align=right><font face="$font" color=$postfontcolor><b>发布时间</b>: $dateposted</font>&nbsp;&nbsp;&nbsp;
</tr></table></td></font></tr>
~;
        $postcountcheck++;
    }
}
$output .= qq~</table></td></tr></table>~;
&output( -Title   => "$boardname - 公告", -ToPrint => $output, -Version => $versionnumber );
exit;

sub login {
    local($url) = @_;
    ($postto, $therest) = split(/\?/,$url);
    @pairs = split(/\&/,$therest);

    foreach (@pairs) {
        ($name, $value)=split(/\=/,$_);
        $hiddenvars .= qq~<input type=hidden name="$name" value="$value">\n~;
    }

    $output .= qq~<form action="$postto" method="post">
<tr><td bgcolor=$miscbacktwo valign=middle colspan=2 align=center>
$hiddenvars
<font face="$font" color=$fontcolormisc><b>登录前请输入管理员的详细信息</b><br>请注意,只有管理员才可以增加、删除、修改论坛公告!</font></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"></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=$miscbacktwo valign=middle colspan=2 align=center><input type=submit name="submit" value="登 陆"></td></form></tr></table></td></tr></table>
~;
}

sub doend {
    my $action_taken = shift;
    $relocurl = "$thisprog?forum=$inforum";
    $output .= qq~<tr>
<td bgcolor=$miscbacktwo valign=middle align=center><font face="$font" color=$fontcolormisc><b>论坛公告</b></font></td></tr>
<tr><td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc>
如果你的浏览器没有自动返回论坛,请点击下面的链接直接返回。
<ul><li><b>$action_taken</b><li><a href="$relocurl">返回论坛公告</a><li><a href="leoboard.cgi">返回论坛首页</a>
</ul></tr></td>
</table></td></tr></table>
<meta http-equiv="refresh" content="5; url=$relocurl">
~;

    &output( -Title   => "$boardname - 公告", -ToPrint => $output, -Version => $versionnumber );
    exit;
}

⌨️ 快捷键说明

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