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

📄 report.cgi

📁 一个linux论坛
💻 CGI
字号:
#!/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=5000;
$LBCGI::DISABLE_UPLOADS = 1;
$LBCGI::HEADERS_ONCE = 1;
require "data/boardinfo.cgi";
require "data/styles.cgi";
require "lbmail.lib.pl";
require "lb.lib.pl";
$|++;                        # Unbuffer the output

#################--- Begin the program ---###################

$thisprog = "report.cgi";

$query = new LBCGI;

&ipbanned; #封杀一些 ip

$inforum       = $query -> param('forum');
$intopic       = $query -> param('topic');

$action          = $query -> param('action');

$insubject       = $query -> param('subject');
$inemailmessage  = $query -> param('emailmessage');
$emailtopictitle = $query -> param('emailtopictitle');
$intouser        = $query -> param('touser');
$inmembername    = $query -> param('membername');
$inpassword      = $query -> param('password');
$inmsgtitle	 = $query -> param('subject');
$inmessage	 = $query -> param('emailmessage');
$inoriginalpost  = $query -> param('originalpost');
$inpost2 = "<BR><BR><b>贴子原始位置:</b> $boardurl/topic.cgi?forum=$inforum&topic=$intopic<br>";

$insubject           = &cleaninput($insubject);
$inemailmessage      = &cleaninput($inemailmessage);
$emailtopictitle     = &cleaninput($emailtopictitle);
$inforum             = &cleaninput($inforum);
$inoriginalpost      = &cleaninput($inoriginalpost);

$inmembername        = &cleaninput($inmembername);
$inpassword          = &cleaninput($inpassword);
$inpostno      	     = $query -> param('postno');

$inmessage2 = $inemailmessage.$inoriginalpost.$inpost2;

# new
$add_user2	= $query -> param('touser1');
# -- new

print header(-charset=>gb2312);
&error("打开文件&老大,别乱黑我的程序呀!") if (($intopic) && ($intopic !~ /^[0-9]+$/));
&error("打开文件&老大,别乱黑我的程序呀!") if (($inforum) && ($inforum !~ /^[0-9]+$/));

if (-e "${lbdir}data/style${inforum}.cgi") { require "${lbdir}data/style${inforum}.cgi"; }
if (! $inmembername) { $inmembername = cookie("amembernamecookie"); }
if (! $inpassword)   { $inpassword   = cookie("apasswordcookie"); }
$inmembername =~ s/[\a\f\n\e\0\r\t\`\~\!\@\#\$\%\^\&\*\(\)\+\=\\\{\}\;\'\:\"\,\.\/\<\>\?]//isg;
$inpassword =~ s/[\a\f\n\e\0\r\t\|\@\;\#\{\}\$]//isg;

if ($inmembername eq "" || $inmembername eq "客人" ) {
        $inmembername = "客人";
        }
        else {
#			&getmember("$inmembername");
		        &getmembernolock("$inmembername");
			&error("普通错误&此用户根本不存在!") if ($userregistered eq "no");
            }

&title;

    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>~};

$output .= qq~
<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth align=center>
    <tr>
        <td width=30% rowspan=2>$forumgraphic</td>
        <td valign=middle align=left><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> 报告有问题的贴子
        </td>
    </tr>
</table>
<p>
<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center>
    <tr>
        <td>
        <table cellpadding=6 cellspacing=1 border=0 width=100%>
        ~;

if ($action eq "send") {

}

else {

   $filetoopen = "$lbdir" . "forum$inforum/foruminfo.cgi";
   $filetoopen = &stripMETA($filetoopen);
   open(FILE, "$filetoopen");
   $forums = <FILE>;
   close(FILE);
   ($forumid, $category, $categoryplace, $forumname, $forumdescription, $forummoderator ,$htmlstate ,$idmbcodestate ,$privateforum, $startnewthreads ,$lastposter ,$lastposttime, $threads, $posts, $forumgraphic, $ratings, $misc,$forumpass,$hiddenforum,$indexforum,$teamlogo,$teamurl, $fgwidth, $fgheight, $miscadd3, $miscadd4, $miscad5) = split(/\t/,$forums);

    $filetoopen = "$lbdir" . "boarddata/list$inforum.cgi";
    $filetoopen = &stripMETA($filetoopen);
    open(FILE, "$filetoopen");
    @allthreads = <FILE>;
    close(FILE);

$filetoopen = "$lbdir" . "forum$inforum/$intopic.thd.cgi";
    $filetoopen = &stripMETA($filetoopen);
    open(FILE, "$filetoopen");
    flock(FILE, 2);
    $threads = <FILE>;
    close(FILE);
    chomp $threads;
($membername, $topictitle, $postipaddress, $showemoticons, $showsignature ,$postdate, $post, $posticon) = split(/\t/, $threads);
$topictitle =~ s/^*#!&*//;
    $post =~ s/\<p\>/\n\n/g;
    $post =~ s/\<br\>/\n/g;

    $postdate = $postdate + ($timedifferencevalue*3600) + ($timezone*3600);
    $postdate = &dateformat("$postdate");

 $rawpost = $post;

    $temppost = qq~原始贴子由 $membername 在 $postdate 发布,内容如下:\[br\]$rawpost~;


### print form
if ($forummoderator eq "") {
&error("发送报告&本版块没有设置版主!"); }
else {
$recipient = $forummoderator }

@recipientname = split(",",$recipient);

$toto = qq~<select name="touser">~;
foreach (@recipientname) {
    $toto .= qq~<option value="$_">$_</option>~;
}
$toto .= qq~</select>~;
#&getforum("$inforum");
&getoneforum("$inforum");

 &error("发送报告&你就是版主,搞什么飞机?") if (($membercode eq "ad")||($membercode eq 'smo')||($inmembmod eq "yes"));

    $topictitle = &cleanarea("$topictitle");

    $output .= qq~
    <form action="$thisprog" method=post>
    <input type=hidden name="action" value="send">
    <input type=hidden name="forum" value="$inforum">
    <input type=hidden name="topic" value="$intopic">
	<tr>
    		<td bgcolor=$miscbacktwo valign=middle colspan=2 align=center>
			<font color=$fontcolormisc><b>向管理员报告有问题的贴子</b></font>
		</td>
	</tr>
  	<tr>
                <td bgcolor=$miscbackone valign=middle>
			<font color=$fontcolormisc><b>用户名</b></font>
		</td>
                <td bgcolor=$miscbackone valign=middle>
		<input type=text name="membername" value="$inmembername"> &nbsp; <font color=$fontcolormisc><span onclick="javascript:location.href='register.cgi?forum=$inforum'" style="cursor:hand">您没有注册?</span></font>
		</td>
	</tr>
	<tr>
                <td bgcolor=$miscbackone valign=middle><font color=$fontcolormisc><b>密码</b></font>
		</td>
                <td bgcolor=$miscbackone valign=middle><input type=password name="password" value="$inpassword"> &nbsp; <font color=$fontcolormisc><a href="profile.cgi?action=lostpass" style="cursor:help">忘记密码?</a></font>
                <input type=hidden size=40 name="subject" value="报告有问题的贴子: $topictitle">
		</td>
	</tr>
	<tr>
                <td bgcolor=$miscbackone valign=middle><font color=$fontcolormisc><b>报告发送给哪个版主</b></font>
		</td>
                <td bgcolor=$miscbackone valign=middle>$toto
		</td>
	</tr>
	<tr>
    		<td bgcolor=$miscbackone>
		<font color=$fontcolormisc><b>报告原因:</b><br>垃圾贴、广告贴、非法贴等。。。<BR>非必要情况下不要使用这项功能!
		</td>
    		<td bgcolor=$miscbackone><textarea name="emailmessage" cols="55" rows="6">
管理员,您好,由于如下原因,我向你报告这有问题的贴子:



</textarea><input type=hidden name="originalpost" value="$temppost"></td>
	</tr>
	<tr>
    		<td colspan=2 bgcolor=$miscbackone align=center><input type=hidden name="emailtopictitle" value="$topictitle"><input type=submit value="发送报告" name="Submit"></form></table></td></tr></table>
    ~;


} # end routine.

if ($action eq "send") {


#	&getmember("$inmembername");

	if ($userregistered eq "no") { &error("发送报告&你还没注册呢!"); }
	elsif ($inpassword ne $password) { &error("发送报告&你的密码有问题!"); }
	elsif ($inmembername eq "") { &login("$thisprog?action=reply&touser=$intouser"); }

	# Check for blanks

	if ($inmsgtitle eq "") { $blanks = "yes"; }
	if ($inmessage eq "")  { $blanks = "yes"; }
	if ($intouser eq "")   { $blanks = "yes"; }

	if ($blanks eq "yes") { &error("发送报告&请完整填写表单,不要遗漏!"); }

		    $memberfilename = $intouser;
		    $memberfilename =~ s/ /\_/g;
		    $memberfilename =~ tr/A-Z/a-z/;
		    $currenttime = time;

#	            &getmember("$memberfilename");
		    &getmembernolock("$memberfilename");
        	    if ($userregistered eq "no") {&error("发送报告&这个版主有问题,请更换一个发送报告!");}


		    $filetoopen = "$lbdir". "$msgdir/in/$memberfilename" . "_msg.cgi";
		    open (FILE, "$filetoopen");
		    @inboxmessages = <FILE>;
		    close (FILE);

		    open (FILE, ">$filetoopen");
	    	    flock (FILE, 2) if ($OS_USED eq "Unix");
		    print FILE "*#!&*$inmembername\tno\t$currenttime\t$inmsgtitle\t$inmessage2\n";
		    foreach $line (@inboxmessages) {
			chomp $line;
			print FILE "$line\n";
			}
		    close (FILE);

	        $relocurl = "topic.cgi?forum=$inforum&topic=$intopic";

            $output .= qq~
            <tr>
                <td bgcolor=$miscbacktwo align=center><font color=$fontcolormisc><b>谢谢,$inmembername!已经成功将报告发送给版主了</b></td>
            </tr>

            <tr>
            <td bgcolor=$miscbackone><font color=$fontcolormisc>
            如果浏览器没有自动返回,请点击下面的链接!
            <ul>
            <li><a href="topic.cgi?forum=$inforum&topic=$intopic">返回主题</a>
            <li><a href="forums.cgi?forum=$inforum">返回论坛</a>
            <li><a href="leoboard.cgi">返回论坛首页</a>
            </ul>
            </tr>
            </td>
            </table></td></tr></table>
            <meta http-equiv="refresh" content="3; url=$relocurl">
            ~;


    } # end action




&output(
-Title   => $boardname,
-ToPrint => $output,
-Version => $versionnumber
);

⌨️ 快捷键说明

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