📄 search.cgi
字号:
#!/usr/bin/perl
#------------------------------------------------------#
# 本程序为Yuzi工作室提供 #
# Yuzi论坛3000 v3.20 免费版 #
#------------------------------------------------------#
require "setup.cgi";
######################
## 以下部分不需修改 ##
######################
$cgiurl ="list.cgi";
$list="$filepath/data/list.cgi";
unless(-f $list){
open(TMP,">$list");
close(TMP);
chmod(0666,$list);
}
##########
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} else {
$buffer = $ENV{'QUERY_STRING'};
}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;
$value =~ s/\t/--/g;
$value =~ s/>/>/g;
$value =~ s/</</g;
$FORM{$name} = $value;
}
&GetCookies;
if ($username eq ""){$username=$Cookies{username}};
if ($userpsd eq ""){$userpsd=$Cookies{password}};
##########
$filename="$people";
($sec,$min,$hour,$mday,$mon,$year)=localtime(time);
$mon=$mon+1;
$year=$year+1900;
$people=1;
open (FILE,"$filename") || die "Can't Open $filename: $!\n";
@LINES=<FILE>;
close(FILE);
$SIZE=@LINES;
open (FILE,">$filename") || die "Can't Open $filename: $!\n";
for ($i=0;$i<$SIZE;$i++)
{
$_=$LINES[$i];
($addr,$come_hour,$come_min,$come_sec,$host,$come_time,$olduser)=split(/,/,$_);
$flag=($hour-$come_hour)*3600+($min-$come_min)*60+($sec-$come_sec);
if ( $addr eq "$ENV{'REMOTE_ADDR'}" ) {
print FILE "$ENV{'REMOTE_ADDR'},$hour,$min,$sec,$ENV{'REMOTE_HOST'},$come_time,$username,$id\n";
$check=1;
}
elsif ($flag < 120 && $flag > 0) {
print FILE $_;
$people++;
}
}
if ($check == 0) {
print FILE "$ENV{'REMOTE_ADDR'},$hour,$min,$sec,$ENV{'REMOTE_HOST'},$hour:$min:$sec,$username,$id\n";
}
close (FILE);
$menu = $FORM{'menu'};
$add = $FORM{'add'};
$id = $FORM{'id'};
if($menu eq "add"){&add;exit;}
if($menu eq "del"){&del;exit;}
if($menu eq "look"){&look;exit;}
if($menu eq "index"){&index;exit;}
##########
open(ROOM,"$list");
@lines=<ROOM>;
close(ROOM);
&send_html;
print <<EOF;
<HTML><HEAD>
<LINK href="$imagurl/bbs.css" type=text/css rel=stylesheet>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<BODY text=#000000 vLink=#0099cc aLink=#0099cc link=#0099cc bgColor=#ffffff leftMargin=0 background="$imagurl/bg.gif" topMargin=0 rightMargin=0 marginwidth="0" marginheight="0">
<CENTER>
<FORM action=bbs.cgi method=post>
<input type="hidden" name="menu" value="findtitle">
<IMG src="$imagurl/bbtitle5.gif" border=0>
<br>
<ACRONYM title=编辑你的个人信息><a href="yhxiu.cgi"><IMG src="$imagurl/top_profile.gif" border=0></a></ACRONYM> <ACRONYM title=免费注册为新会员><a href="yhreg.cgi"><IMG src="$imagurl/top_register.gif" border=0></a></ACRONYM> <ACRONYM title=管理各个论坛的资料><a href="cjyh.cgi"><IMG src="$imagurl/top_preferences.gif" border=0></a></ACRONYM> <ACRONYM title=搜索各论坛贴子的内容><IMG src="$imagurl/search.gif" border=0></ACRONYM> <A href="$imagurl/help.htm"><ACRONYM title="常见问题解答"><IMG src="$imagurl/top_faq.gif" border=0></ACRONYM></A>
<BR>
<BR>
<TABLE cellSpacing=1 cellPadding=4 width="500" border=0>
<TR bgColor=#f7f7f7>
<TD align=right bgcolor="#98CCFF" width="183"><FONT face=宋体 size=2 color="#FFFFFF"><B>检索关键字:</B></FONT>
</TD>
<TD bgcolor="#CAE4FF" width="379"><INPUT maxLength=25 name=search> </TD></TR>
<TR bgColor=#ffffff>
<TD align=right bgcolor="#98CCFF" width="183"><FONT face=宋体 size=2 color="#FFFFFF"><B>搜索的论坛:</B></FONT>
</TD>
<TD bgcolor="#CAE4FF" width="379"><FONT face=宋体 size=2><SELECT name=id>
EOF
$chgcolor==0;
foreach $line (@lines){
$line=~ s/\n//g;
if($line ne ""){
($username1)=split(/\t/,$line);
unless(-f "$filepath/list/$username1.cgi"){
open(TMP,">$filepath/list/$username1.cgi");
close(TMP);
chmod(0666,"$filepath/list/$username1.cgi");
}
open(TITLES,"$filepath/list/$username1.cgi");
@a=<TITLES>;
close(TITLES);
foreach $m (@a){
$m=~ s/\n//g;
if($m ne ""){
($rname,$rpass,$rmail,$rhome,$rtitle,$yhq,$rtime,$htmlt,$htmlw,$jj,$fbzmc)=split(/\t/,$m);
}
$chgcolor=0;
print <<EOF;
<OPTION value=$username1>『$rtitle』
EOF
}
}
}
print <<EOF;
</OPTION></SELECT>
</FONT></TD></TR>
<TR bgColor=#f7f7f7>
<TD align=right bgcolor="#98CCFF" width="183"><FONT face=宋体 size=2 color="#FFFFFF"><B>搜索范围:</B></FONT> </TD>
<TD bgcolor="#CAE4FF" width="379"><SELECT name=SearchIn> <OPTION>所有贴子</OPTION></SELECT> </TD></TR>
<TR bgColor=#ffffff>
<TD align=right bgcolor="#98CCFF" width="183"><B><font face="宋体" size="2" color="#FFFFFF">按时间范围检索:</font></B> </TD>
<TD bgcolor="#CAE4FF" width="379"><SELECT> <OPTION>任何时间</OPTION></SELECT> </TD></TR>
</TABLE>
<P> <INPUT type=submit value=开始检索 name=Submit> <INPUT type=reset value=重新输入> </FORM>
<P> </CENTER>
</BODY></HTML>
EOF
exit;
########
sub add{
if($username eq ""){&errorview("您当前的身份是访客,无法添加论坛!");exit;}
open(PSD,">>$filepath/guest/3$username.cgi");
print PSD $add."\n";
close(PSD);
&send_html;
print <<EOF;
<HTML>
<head>
<META HTTP-EQUIV=Content-Type CONTENT=text/html; charset=gb2312>
<meta HTTP-EQUIV="REFRESH" CONTENT="2;URL=list.cgi?menu=show">
<LINK href="$imagurl/bbs.css" type=text/css rel=stylesheet>
</head>
您已经成功地将该论坛添加到您的私人珍藏,请稍候,系统将自动返回......
<BR><BR>
<A HREF="list.cgi?menu=show">如果系统没有反应,请点击这里返回!</A>
</html>
EOF
exit;
}
########
sub del{
open(TITLES5,"$filepath/guest/3$username.cgi");
@hastitles5=<TITLES5>;
close(TITLES5);
open(TITLES5,">$filepath/guest/3$username.cgi");
foreach $m5 (@hastitles5){
$m5=~ s/\n//g;
if($m5 ne ""){
($rthistime5)=split(/\t/,$m5);
if($rthistime5 ne $add){
print TITLES5 $m5."\n";
}
}
}
close(TITLES5);
&send_html;
print <<EOF;
<HTML>
<head>
<META HTTP-EQUIV=Content-Type CONTENT=text/html; charset=gb2312>
<meta HTTP-EQUIV="REFRESH" CONTENT="2;URL=list.cgi?menu=show">
<LINK href="$imagurl/bbs.css" type=text/css rel=stylesheet>
</head>
您已经成功地将该论坛从您的私人珍藏删除,请稍候,系统将自动返回.....
<BR><BR>
<A HREF="list.cgi?menu=show">如果系统没有反应,请点击这里返回!</A>
</html>
EOF
exit;
}
sub look{
&send_html;
print <<EOF;
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<BODY text=#000000 vLink=#0099cc aLink=#0099cc link=#0099cc bgColor=#ffffff leftMargin=0 background="$imagurl/bg.gif" topMargin=0 rightMargin=0 marginwidth="0" marginheight="0">
<SCRIPT language=JavaScript>
var i=0;
function check(theForm) {
if(theForm.username.value == "") {
alert("请输入您想要查询的网友名字!");
return false;
}
}
</SCRIPT>
<style type="text/css">
div { font-family: "宋体"; font-size: 9pt}
td { font-family: "宋体"; font-size: 9pt}
A {text-decoration: none; color: #003366; font-family: "宋体"; font-size: 9pt}
A:hover {text-decoration: underline; color: #FF0000; font-family: "宋体"; font-size: 9pt}
</style></head>
<body bgcolor="#FFFFFF">
<div align="center"><br><br><br><br><br><br><br>
<form method="post" action="yhreg.cgi">
<INPUT TYPE="HIDDEN" NAME="menu" VALUE="viewuser">
<table width="50%" border="0" bgcolor="#F0F8FF" bordercolor="#CCCCCC">
<tr>
<td>
<div align="center"><font color="#000000"><br>
请输入您想要查询的网友名字 </font>
<hr width="70%" size="1" align="center">
<p>
<input type="text" name="username">
<p>
</div>
</td>
</tr>
</table>
<br>
<br>
<INPUT border=0 src="$imagurl/sbutton-send2.gif" type=image onclick="return check(this.form)">
<A href="javascript:window.history.back()"><img src="$imagurl/sbutton-cal2.gif" border="0">
</a>
</form>
</div>
</body>
</html>
EOF
exit;
}
sub index{
opendir (MEMBERDIR2, "$filepath/list/$id");
@members2 = readdir(MEMBERDIR2);
closedir (MEMBERDIR2);
@b=reverse @members2;
foreach $m (@b){
if(length($m) eq 14 ){
$top="$top$m\n";
}
}
open(PSD,">$filepath/list/$id/bbs");
print PSD $top;
close(PSD);
chmod(0666,"$filepath/list/$id/bbs");
print "Location: bbs.cgi?id=$id\n\n";
exit;
}
######################### END OF SCRIPT #########################
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -