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

📄 announcements.cgi

📁 绿叶网络小学校园网-完全适合小学的网站
💻 CGI
📖 第 1 页 / 共 2 页
字号:
                $announcementpost=~ s/$bad/$good/isg;
                }
            }

	                        $output .= qq~
	                        <tr>
	                        <td bgcolor=$miscbacktwo colspan=2 align=center>
	                        <form action="$thisprog" method=post>
                                <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"0></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"0></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>如果使用了字符转换,ib2000 将自动在公告中转换代码字符。</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"></form>
	                        </td></tr>
	                        ~;      
	        
	                        
	        } # end action
	        








	        elsif ($action eq "doedit") {

	                $currenttime = time;
	                
	                # Make sure it's got all new lines converted
	                
	                # Validate user
	                
	                &getmember("$inmembername");
	        
	                if ($membercode ne "ad") { print header(-charset=>"gb2312"); &error("使用公告&您不是管理员!"); }
	                elsif ($inpassword ne $password) { print header(-charset=>"gb2312"); &error("使用公告&您的密码错误!"); }
	                
	                # Check for blanks.
	                
	                if ($inannouncementpost eq "") { print header(-charset=>"gb2312"); &error("使用公告&请输入论坛公告内容!"); }
	                if ($inannouncementtitle eq "") { print header(-charset=>"gb2312"); &error("使用公告&请输入论坛公告标题!"); }
	                
	                # Get the announcement file
	        
	                $filetoopen = "$ikondir" . "data/news.cgi";
                    $filetoopen = &stripMETA($filetoopen);
	                open(FILE, "$filetoopen") or die "无法定位公告文件!" ;
	                @announcements = <FILE>;
	                close(FILE);
	        
	                # Write it back with the new announcement at the top
	        
	                $count = 0;
	                
	                $newline = "$inannouncementtitle|$currenttime|$inannouncementpost|$inmembername";
	                chomp $newline;
	        
	                $filetoopen = "$ikondir" . "data/news.cgi";
                    $filetoopen = &stripMETA($filetoopen);
	                open(FILE, ">$filetoopen") or die "无法定位公告文件!";
	                flock(FILE, 2) if ($OS_USED eq "Unix");
	                foreach $line (@announcements) {
	                        chomp $line;
	                        if ($count eq $number) {
	                                print FILE "$newline\n";
	                                }
	                                else {
	                                        print FILE "$line\n";
	                                        }
	                        $count++;
	                        }
	                close(FILE);
	                
	                &doend("论坛公告已经被编辑并发表了");
	                
	                exit;
	        
	                } # end edit announcement
	        
	        
	        
	        
	        
	        
	        

	        
	        else { # start last else
	        
	        &whosonline("$inmembername|公告栏|none|查看公告|");
	        
	                ### start displaying the announcements.
                    
                    
	                $filetoopen = "$ikondir" . "data/news.cgi";
                    $filetoopen = &stripMETA($filetoopen);
	                open(FILE, "$filetoopen");
	                @announcements = <FILE>;
	                close(FILE);
	        
	                $postcountcheck = 0;
	                
	                $totals = @announcements;
	                
	                if ($totals eq "0") { 
	                        $dateposted = time;             
	                        @announcements[0] = qq~当前没有任何公告|$dateposted|请点击这个 <a href="$thisprog?action=add"><img src="$imagesurl/images/a_add.gif" border=0"></a> 图标来发布一个公告(必须是管理员)。<br>当你发布一次公告后,本公告就会自动消失,无需你手动删除!~;
	                        }               
	                                        
	                
	                        foreach $line (@announcements) {
	                        

	                                ($title, $dateposted, $post, $nameposted) = split(/\|/, $line);

        if ($badwords) {
            @pairs = split(/\&/,$badwords);
            foreach (@pairs) {
                ($bad, $good) = split(/=/,$_);
                chop $good;
                $title =~ s/$bad/$good/isg;
                $post =~ s/$bad/$good/isg;
                }
            }

	                                $dateposted = $dateposted + ($timedifferencevalue*3600) + ($timezone*3600);
	                                $dateposted = &dateformat("$dateposted");
	        
	                                $post = &ikoncode("$post");
	                                $post = &doemoticons("$post");
	                                
	   				$post = &smilecode("$post");
	                                
	                                # Allow HTML
	                                
	                                $post =~ s/&lt\;/\</g;
	                                $post =~ s/&gt\;/\>/g;
	                                $post =~ s/&quot\;/\"/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"><img src="$imagesurl/images/a_add.gif" border=0"></a>~;
	                        $admindelete = qq~<a href="$thisprog?action=delete&number=$postcountcheck"><img src="$imagesurl/images/a_delete.gif" border=0"></a>~;
	                        $adminedit = qq~<a href="$thisprog?action=edit&number=$postcountcheck"><img src="$imagesurl/images/a_edit.gif" border=0"></a>~;
	        		
	        		&getmember("$inmembername");
				$output .= qq~
	                        <tr>
	                        <td bgcolor=$titlecolor align=center valign=top><font face="$font" color=$titlefontcolor><b>>> $title <<</b></td></tr>
				~;
				if ($membercode eq "ad") {
					$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><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++;
	        
	                        } # end foreach

	                    } # end last else



	                        $output .= qq~</table></td></tr></table>~;
                            
	                        &output(
                            -Title   => "$boardname - 公告", 
                            -ToPrint => $output, 
                            -Version => $versionnumber 
                            );




	##############################################################
	### Sub route (login)

	        
	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">$hiddenvars
	        <tr>
	            <td bgcolor=$miscbacktwo valign=middle colspan=2 align=center><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"0></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"0></td></tr>
	        <tr>
	            <td bgcolor=$miscbacktwo valign=middle colspan=2 align=center><input type=submit name="submit" value="登 陆"></form></td></tr></table></td></tr></table>
	        ~;
	        
	 } # end routine        
	        
	sub doend {

    my $action_taken = shift;

    $relocurl = "$boardurl/$thisprog";    

    $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="$forumsummaryprog">返回论坛首页</a>
            </ul>
            </tr>
            </td>
            </table></td></tr></table>
            <meta http-equiv="refresh" content="5; url=$relocurl">
            ~;
            &output(
            -Title   => "$boardname - 公告", 
            -ToPrint => $output, 
            -Version => $versionnumber 
             );

}

⌨️ 快捷键说明

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