www.pudn.com > bbs3000afree.zip > favorite.cgi


#!/usr/bin/perl 
#------------------------------------------------------# 
#         本程序为Yuzi工作室提供        # 
#        Yuzi论坛3000(BBS3000)v4.00      # 
#------------------------------------------------------# 
$cgipa=".";  # CGI程序文件的绝对路径 
$favmax=20;  # 收藏的最大值,默认为20个 
$favpage=15; # 每页显示的数目,默认为15条 
###################### 
## 以下部分不需修改 ## 
###################### 
require "$cgipa/setup.cgi"; 
&GetCookies; 
$cgiurl= "favorite.cgi"; 
if($Cookies{username} eq ""){ 
print "Content-type: text/html\n\n";exit; 
} 
open(TITLESyu,"$filepath/yhzl/$Cookies{username}.cgi"); 
$ayu=; 
close(TITLESyu); 
($rpass)=split(/\t/,$ayu); 
if($rpass ne $Cookies{password}){&errorview("您的密码错误!");} 
########## 
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/\t/    /g; 
$value=~s/>/>/g; 
$value=~s//g; 
$FORM{$name} = $value; 
} 
$menu=$FORM{'menu'}; 
$weblist=$FORM{'weblist'}; 
$weburl=$FORM{'weburl'}; 
$webname=$FORM{'webname'}; 
$page=$FORM{'page'}; 
$id=$FORM{'id'}; 
$slttitle=$FORM{'slttitle'}; 
if($menu eq "fav_frame"){&fav_frame;exit;} 
elsif($menu eq "add"){&add;exit;} 
elsif($menu eq "del"){&del;exit;} 
elsif($menu eq "weblist"){&weblist;exit;} 
elsif($menu eq "webadd"){&webadd;exit;} 
elsif($menu eq "webdel"){&webdel;exit;} 
elsif($menu eq ""){ 
print "Content-type: text/html\n\n"; 
print <我的收藏 
 
EOF 
exit; 
} 
exit; 
################ 
sub fav_frame{ 
unless(-f "$filepath/favorites/2$Cookies{username}.cgi"){ 
open(TMP,">$filepath/favorites/2$Cookies{username}.cgi"); 
close(TMP); 
chmod(0666,"$filepath/favorites/2$Cookies{username}.cgi"); 
} 
open(PSD,"$filepath/favorites/2$Cookies{username}.cgi"); 
@lines=; 
close(PSD); 
$favnum=@lines; 
&css; 
print <我的收藏 
 

我的收藏
贴子收藏 网址收藏$Cookies{username} 您共有$favnum/$favmax张贴子收藏
文章标题 字[回] 作者 最后回复 点击 所属论坛 操作
EOF if($page eq ""){$page=1;} $ys1=($page-1)*$favpage; $ys2=$ys1+$favpage; if($ys2 >$favnum){$ys2=$favnum;} for($jj=$ys1;$jj<$ys2;$jj++) { if ($lines[$jj] ne "") { ($slttitle,$id,$bbsname)=split(/\t/,$lines[$jj]); open(TMP,"$filepath/list/$id/$slttitle"); $m=; close(TMP); ($rtitles,$rthistime,$rusername,$nr,$rfrom,$rhasreply,$emote,$lastname,$rlasttime,$re,$rhassee,$jing,$lock)=split(/\t/,$m); $nr=~s/<([^>]|\n)*>//g; $lnr=length($nr); if (length($rtitles) > 40) {$rtitles = substr($rtitles,0,40);$rtitles.="...";} if (length($nr) > 40) {$nr = substr($nr,0,40);$nr.="...";} $nr=~s/\'//g; if($jing eq "1"){$my="";} elsif($rusername eq $Cookies{username}){$my="";}else{$my=" ";} if($lastname ne "--"){$lastname="$lastname";} print "
$my 新窗口 $rtitles"; $ii=0; if($rhasreply>15){ print "[第 "; $j=$rhasreply;while($j>0){$j=$j-15;}$ii++; $j=$rhasreply;while($j>0){print ""; print "$ii ";$j=$j-15;$ii++;} print "页]"; $ii--;} if($rhasreply eq 0){$rhasreply=$lnr;}else{$sn=$rhasreply;$rhasreply="[$rhasreply]";} print <$rhasreply $rusername $lastname $rhassee $bbsname 删除
EOF } } $favnum=@lines; $webys=int($favnum/$favpage); $webyss=$favnum % $favpage; if ($webyss != 0){$webys++;} for($ii=1;$ii<=$webys;$ii++){ print "" if ($page != $ii); print "[$ii]"; } exit; } ############ sub add{ if($id eq ""){&errorview("不能把公告栏中的贴子加入收藏!");} if($slttitle eq ""){&errorview("系统不存在此贴子的数据!");} unless(-e "$filepath/list/$id"){&errorview("系统不存在此ID的论坛!");} unless(-e "$filepath/list/$id/$slttitle"){&errorview("此帖子已经被删除了!");} open (TMP,"$filepath/list/$id.cgi"); $line=; close(TMP); ($bzmc,$secret,$bzrmail,$outurl,$bbsname,$fbzmc2,$rtime,$htmlt,$htmlw,$jj,$fbzmc)=split(/\t/,$line); open(TITLES,"$filepath/favorites/2$Cookies{username}.cgi"); @hastitles=; close(TITLES); $TEMP="$slttitle\t$id\t$bbsname"; foreach $hastitles(@hastitles) { chomp($hastitles); if($TEMP eq $hastitles){&okview("该贴已经被你加入收藏了!");} } $favnum=@hastitles; if($favnum >= $favmax){&okview("您的贴子收藏不能超过$favmax个!");} open(PSD,">$filepath/favorites/2$Cookies{username}.cgi"); print PSD "$slttitle\t$id\t$bbsname\n"; foreach( @hastitles){ $_=~s/\n//isg; print PSD "$_\n"; } close(PSD); &okview("您已经成功地将该贴子添加到贴子收藏中!"); exit; } ############# sub del{ open(TITLES,"$filepath/favorites/2$Cookies{username}.cgi"); @hastitles=; close(TITLES); open(TITLES,">$filepath/favorites/2$Cookies{username}.cgi"); foreach $m (@hastitles){ $m=~s/\n//g; if($m ne ""){ ($slttitle,$id,$bbsname)=split(/\t/,$m); $TEMP="$FORM{'slttitle'}\t$FORM{'id'}"; $PSD="$slttitle\t$id"; if($PSD ne $TEMP){ print TITLES $m."\n"; }}} close(TITLES); print "Content-type: text/html\n\n"; print < 您已经成功地将该贴子从贴子收藏中删除,请稍候,系统将自动返回......

如果系统没有反应,请点击这里返回! EOF exit; } ################ sub weblist{ unless(-f "$filepath/favorites/3$Cookies{username}.cgi"){ open(TMP,">$filepath/favorites/3$Cookies{username}.cgi"); close(TMP); chmod(0666,"$filepath/favorites/3$Cookies{username}.cgi"); } open(PSD,"$filepath/favorites/3$Cookies{username}.cgi"); @lines=; close(PSD); $favnum=@lines; &css; print <我的收藏
我的收藏
贴子收藏 网址收藏$Cookies{username} 您共有$favnum/$favmax个网址收藏
网站名称 网站介绍 加入时间 操作
EOF if($page eq ""){$page=1;} $ys1=($page-1)*$favpage; $ys2=$ys1+$favpage; if($ys2 >$favnum){$ys2=$favnum;} for($jj=$ys1;$jj<$ys2;$jj++) { if ($lines[$jj] ne "") { ($webname,$weburl,$webinfo,$addtime)=split(/\t/,$lines[$jj]); $fav = "
  $webname $webinfo $addtime 删除
"; print $fav; } } $favnum=@lines; $webys=int($favnum/$favpage); $webyss=$favnum % $favpage; if ($webyss != 0){$webys++;} for($ii=1;$ii<=$webys;$ii++){ print "" if ($page != $ii); print "[$ii]"; } print <
网站名称: 网站地址:
网站介绍:
EOF exit; } ############ sub webadd{ if (($FORM{'webname'} eq "")||($FORM{'weburl'} eq "")||($FORM{'weburl'} eq "http://")){&errorview("网站名称和网站地址不能为空!");} if ($FORM{'webinfo'} eq ""){&errorview("网站介绍不能为空!");} if(length($FORM{'webinfo'}) > 100 ){&errorview("网站介绍不能大于50个汉字!");} open(TITLES,"$filepath/favorites/3$Cookies{username}.cgi"); @hastitles=; close(TITLES); $TEMP="$FORM{'webname'}\t$FORM{'weburl'}"; foreach $ms (@hastitles) { ($webname,$weburl)=split(/\t/,$ms); if($webname eq $FORM{'webname'}){&errorview("该网站已经被您加入收藏了!");} } $favnum=@hastitles; if($favnum >= $favmax){&errorview("您的收藏不能超过$favmax个!");} open(TITLES,">$filepath/favorites/3$Cookies{username}.cgi"); print TITLES $FORM{'webname'}."\t".$FORM{'weburl'}."\t".$FORM{'webinfo'}."\t".$thistime."\n"; foreach $m (@hastitles) { chomp($m); ($webname,$weburl)=split(/\t/,$m); if($webname ne $FORM{'webname'}){ print TITLES $m."\n"; }} close(TITLES); print "Content-type: text/html\n\n"; print < 您已经成功地将$FORM{'webname'}添加到网址收藏中,请稍候,系统将自动返回......

如果系统没有反应,请点击这里返回! EOF exit; } ############### sub webdel{ open(TITLES,"$filepath/favorites/3$Cookies{username}.cgi"); @hastitles=; close(TITLES); open(TITLES,">$filepath/favorites/3$Cookies{username}.cgi"); foreach $m (@hastitles){ $m=~s/\n//g; if($m ne ""){ ($webname)=split(/\t/,$m); if($webname ne $FORM{'webname'}){ print TITLES $m."\n"; }}} close(TITLES); print "Content-type: text/html\n\n"; print < 您已经成功地将$FORM{'webname'}从网址收藏中删除,请稍候,系统将自动返回......

如果系统没有反应,请点击这里返回! EOF exit; } ######################### END OF SCRIPT #########################