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

📄 postings.cgi

📁 绿叶网络小学校园网-完全适合小学的网站
💻 CGI
📖 第 1 页 / 共 4 页
字号:



} # end subdelete



###########################



sub editform { # start form



### Grab the post to edit

$filetoopen = "$ikondir" . "forum$inforum/$intopic.thd";
open(FILE, "$filetoopen");
@threads = <FILE>;
close(FILE);

$posttoget = $inpostno;
$posttoget--;

($membername, $topictitle, $postipaddress, $showemoticons, $showsignature ,$postdate, $post, $posticon) = split(/\|/, @threads[$posttoget]);
        
$post =~ s/\<p\>/\n\n/g;
$post =~ s/\<br\>/\n/g;


### Print form

&getforum("$inforum");
&getmember("$inmembername");

if (($allowedentry{$inforum} eq "yes")||($membercode eq "ad")) { $allowed = "yes"; }

if (($privateforum eq "yes") && ($allowed ne "yes")) {
  &error("发表&对不起,您不允许在此论坛发表!");
}   

$rawpost = $post;

if ($previewfirst eq "yes") {
    $rawpost = $inpost;
    $rawpost =~ s/\<p\>/\n\n/g;
    $rawpost =~ s/\<br\>/\n/g;
    &preview;
    }
    else {
        &mischeader("编辑贴子");
        }

    $helpurl = &helpfiles("阅读标记");
    $helpurl = qq~$helpurl<img src="$imagesurl/images/help_b.gif" border=0></a>~;

if ($emoticons eq "on") {
    $emoticonslink = qq~<a href="javascript:openScript('$miscprog?action=showsmilies',300,350)">使用表情字符转换</a>~;
    $emoticonsbutton =qq~<input type=checkbox name="inshowemoticons" value="yes" checked>您是否希望<b>使用</b>表情字符转换在您的文章中?<br>~;
    }

    if ($htmlstate eq "on") { $htmlstates = "可用"; } else { $htmlstates = "不可用"; }
    if ($idmbcodestate eq "on") { $idmbcodestates = "可用"; } else { $idmbcodestates = "不可用"; }

    &whosonline("$inmembername|<a href=\"$forumsprog?forum=$inforum\"><b>$forumname</b></a>|none|编辑<a href=\"$threadprog?forum=$inforum&topic=$intopic\"><b>$topictitle</b></a>|") if ($privateforum ne "yes");
    &whosonline("$inmembername|<a href=\"$forumsprog?forum=$inforum\">$forumname</a>(密)|none|编辑保密贴子|") if ($privateforum eq "yes");

	$emoticonsurl = qq~$imagesurl/emot~;
	$dirtoopen = "$imagesdir" . "emot"; 
	opendir (DIR, "$dirtoopen") or die "表情图片所在目录没有找到: $dirtoopen !";
	@dirdata = readdir(DIR); 
	closedir (DIR);
	@emoticondata = grep(/gif$/,@dirdata);

	foreach $picture (@emoticondata) {
	    $smileyname = $picture;
	    $smileyname =~s/\.gif$//g;
  	    $output .= qq~ <script language="javascript">
	    function $smileyname() {
	    document.FORM.inpost.value+=' :$smileyname:'; }
	    </script> ~;
	} #endforeach 

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

$output .= qq~
<form action="$thisprog" method=post name="FORM">
<input type=hidden name="action" value="processedit">
<input type=hidden name="postno" value="$inpostno">
<input type=hidden name="forum" value="$inforum">
<input type=hidden name="topic" value="$intopic">
<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center>
<tr><td>
<table cellpadding=4 cellspacing=1 border=0 width=100%>
<tr>
<td bgcolor=$titlecolor colspan=2><font face="$font" color=$titlefontcolor><B>主题标题</B>: $topictitle</td>
</tr>
<tr>
<td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc><b>用户名</b></font></td>
<td bgcolor=$miscbackone valign=middle><input type=text name="membername" value="$inmembername"> &nbsp; <font face="$font" color=$fontcolormisc><a ref="$registerprog">您没有注册?</a></font></td>
</tr><tr>
<td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc><b>密码</b></font></td>
<td bgcolor=$miscbackone valign=middle><input type=password name="password" value="$inpassword"> &nbsp; <font face="$font" color=$fontcolormisc><a ref="$profileprog?action=lostpass">忘记密码?</a></font></td>
</tr>

<tr>
<td bgcolor=$miscbackone valign=top><font face="$font" color=$fontcolormisc><b>当前心情</b><BR><li>将放在贴子的前面<BR><BR>刷新页面可以获得不同的心情图</font></td>
<td bgcolor=$miscbackone valign=top>
~;
####Get the post Icons####
    
    $dirtoopen = "$imagesdir" . "posticons";
    opendir (DIR, "$dirtoopen") or die "表情图片所在目录没有找到: $dirtoopen !"; 
    @dirdata = readdir(DIR);
    closedir (DIR);


    @posticondata = grep(/gif$/,@dirdata);
    
    $tempiconnum=1;
    if ($posticon ne "") {
        $tempoutput .= qq~<input type=radio value="$posticon" name="posticon" checked><img src="$imagesurl/posticons/$posticon" width=13 height=13 border=0>&nbsp;~;
        $tempiconnum++;
    }
    foreach $picture (@posticondata) {
       if ($tempiconnum > 12) {
    	   $tempiconnum = 1;
    	   $tempoutput .= qq~<BR>~;
       }
       if ($picture ne $posticon) {
           $on=int(rand(3)+1);
           if ($on==3) {
              $tempoutput .= qq~<input type=radio value="$picture" name="posticon"><img src="$imagesurl/posticons/$picture" width=13 height=13 border=0>&nbsp;~;
              $tempiconnum ++;
           }
       }
    } #endforeach

#   $tempoutput =~ s/value=\"$posticon\"/value=\"$posticon\" checked/ if ($posticon eq "");

   $rawpost =~ s/\[这个贴子最后由(.+?)编辑\]\n//isg;

$output .= qq~
$tempoutput
</td>
</tr>
<td bgcolor=$miscbackone valign=top><font face="$font" color=$fontcolormisc><b>内容</b><p>
在此论坛中:<li>HTML 标签: <b>$htmlstates</b><li><a href="javascript:openScript('misc.cgi?action=ikoncode',300,350)">ib2000 标签</a>: <b>$idmbcodestates</b><li>贴图标签: <b>$postpicstates</b><li>音乐标签: <b>$postsoundstates</b><li>文字大小: <b>$postfontsizestates</b><li>$emoticonslink</font></td>
<td bgcolor=$miscbackone valign=middle>
$insidejs
          <TEXTAREA cols=80 name=inpost rows=12 wrap="soft">$rawpost</TEXTAREA><br>
&nbsp;&nbsp;&nbsp;模式:
<input type="radio" name="mode" value="help" onClick="thelp(1)">&nbsp;&nbsp;帮助&nbsp;&nbsp;
<input type="radio" name="mode" value="prompt" CHECKED onClick="thelp(2)">&nbsp;&nbsp;完全&nbsp;&nbsp;
<input type="radio" name="mode" value="basic"  onClick="thelp(0)">&nbsp;&nbsp;基本&nbsp;&nbsp;
</td></tr>

		<tr>
                <td bgcolor=$miscbackone valign=top colspan=2><font face="$font" color=$fontcolormisc><b>点击表情图即可在贴子中加入相应的表情</B></font><br>&nbsp;
                ~;
    		
    		$dirtoopen = "$imagesdir" . "emot";
    		opendir (DIR, "$dirtoopen") or die "表情图片所在目录没有找到: $dirtoopen !"; 
    		@dirdata = readdir(DIR);
    		closedir (DIR);
			@emoticondata = grep(/gif$/,@dirdata);
        	foreach $picture (@emoticondata) {
    			$smileyname = $picture;
    			$smileyname =~ s/\.gif$//g;
       			$output .= qq~
                	<a href="javascript:$smileyname();"><img src="$emoticonsurl/$picture" border=0></a>
                	~;
                } #endforeach
    		$output .= qq~
    		</td>
                </tr>

<tr>
<td bgcolor=$miscbacktwo valign=top><font face="$font" color=$fontcolormisc><b>选项</b><p>$helpurl
</font></td>
<td bgcolor=$miscbacktwo valign=middle><input type=checkbox name="inshowsignature" value="yes" checked>
<font face="$font" color=$fontcolormisc>是否显示您的签名?<br>
$emoticonsbutton
&nbsp;<b>发表之前是否预览?</b><input name="previewfirst" type="radio" value="yes"> 是 &nbsp; <input name="previewfirst" type="radio" value="no" checked> 否
</font></td>
</tr>
<tr>
<td bgcolor=$miscbackone valign=middle align=left valign=middle>
<font face="$font" color=$fontcolormisc><b>管理员选项</b></td>
<td bgcolor=$miscbackone valign=middle align=left valign=middle>
<font face="$font" color=$fontcolormisc>
<input type=checkbox name="deletepost" value="yes">删除此回复?(只有坛主或版主才可以)
</font></td></tr>
<tr>
<td bgcolor=$miscbackone valign=middle colspan=2 align=center>
<input type=Submit value="发 表" name=Submit> &nbsp; <input type="reset" name="Clear" value="清 除">
</td></form></tr></table></tr></td></table>
~;

} # end edit form



###########################



sub processedit {

            $posttoget = $inpostno;
            $posttoget--;
            $postcountcheck = 0;

            $filetoopen = "$ikondir" . "forum$inforum/$intopic.thd";
           if (-e $filetoopen) {
               open(FILE, "$filetoopen") or &error("编辑&这个主题不存在!");
               @allthreads = <FILE>;
               close(FILE);
           }
 	   else { unlink ("$ikondir" . "forum$inforum/$intopic.pl"); &error("编辑&这个主题不存在!可能已经被删除!"); }
            
            ($postermembername, $topictitle, $postipaddress, $showemoticons, $showsignature ,$postdate, $post, $posticon) = split(/\|/, @allthreads[$posttoget]);



            &getmember("$inmembername");
            &moderator;

            &getforum("$inforum");
            
            if ($allowedentry{$inforum} eq "yes") { $allowed = "yes"; }

            if (($privateforum eq "yes") && ($allowed ne "yes")) {
                &error("发表&对不起,您不允许在此论坛发表!");
                }   

            $cleartoedit = "no";

            if (($membercode eq "ad") && ($inpassword eq $password)) { $cleartoedit = "yes"; }
            if (($inmembmod eq "yes") && ($inpassword eq $password)) { $cleartoedit = "yes"; }
            if (($inmembername eq $postermembername) && ($inpassword eq $password)) { $cleartoedit = "yes"; }


        unless ($cleartoedit eq "yes") { $cleartoedit eq "no"; }
        
        if ($cleartoedit eq "yes") {

   	    &error("编辑&老大,有你这么发言的吗!") if (($inpost =~ /\w{80,}/)||($inpost =~ /[(!)(~)(·)(#)(¥)(%)(…)(—)(*)(()())(+)(|)(})({)(])([)(“)(:)(;)(‘)(?)(〉)(《)]{40,}/)||($inpost =~ /[\!\~\`\@\#\$\%\^\&\*\(\)\_\+\|\\\=\-\]\[\{\}\'\;\:\"\/\.\,\<\>\?]{80,}/));
            
            $editpostdate = time;
            $editpostdate = $editpostdate + ($timezone*3600) + ($timedifferencevalue*3600);
            $editpostdate = &dateformat("$editpostdate");

            $inpost =~ s/\t//g;
            $inpost =~ s/\r//g;
            $inpost =~ s/  / /g;
            $inpost =~ s/\n\n/\<p\>/g;
            $inpost =~ s/\n/\<br\>/g;

            # Open the bad word filter
        
            $filetoopen = "$ikondir" . "data/badwords.cgi";
            open (FILE, "$filetoopen");
            $badwords = <FILE>;
            close (FILE);
            
            if ($badwords) {
            @pairs = split(/\&/,$badwords);
            foreach (@pairs) {
                ($bad, $good) = split(/=/,$_);
                chop $good;
                $inpost =~ s/$bad/$good/isg;
                }
             }
#            unless ($membercode eq "ad") {
             $inpost = qq~[这个贴子最后由$inmembername在 $editpostdate 编辑]<br><br>$inpost~;
#                }
                
            $filetoopen = "$ikondir" . "forum$inforum/$intopic.thd";
            open(FILE, ">$filetoopen");
            flock(FILE, 2) if ($OS_USED eq "Unix");
                foreach $postline (@allthreads) {
                chomp $postline;
                    if ($postcountcheck eq $posttoget) {
                        print FILE "$postermembername|$topictitle|$postipaddress|$inshowemoticons|$inshowsignature|$postdate|$inpost|$inposticon|\n";
                        }
                    else { print FILE "$postline\n"; }
                    $postcountcheck++;
                    }
            close(FILE);

            &mischeader("编辑贴子");
            
            $output .= qq~
            <table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center>
            <tr>    
            <td>
            <table cellpadding=6 cellspacing=1 border=0 width=100%>
            <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><a href="$threadprog?forum=$inforum&topic=$intopic">返回主题</a>
            <li><a href="$forumsprog?forum=$inforum">返回论坛</a>
            <li><a href="$forumsummaryprog">返回论坛首页</a>
            </ul>
            </tr>
            </td>
            </table></td></tr></table>
            ~;
            
            } # end if clear to edit
            
            else { &error("编辑贴子&您不是原作者,或者用户名、密码错误!"); }

} # end routine



⌨️ 快捷键说明

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