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


#!/usr/bin/perl 
#------------------------------------------------------# 
#         本程序为Yuzi工作室提供        # 
#        Yuzi论坛3000(BBS3000)v4.00      # 
#------------------------------------------------------# 
$cgipa=".";  # CGI程序文件的绝对路径 
###################### 
## 以下部分不需修改 ## 
###################### 
require "$cgipa/setup.cgi"; 
&GetCookies; 
$cgiurl= "rating.cgi"; 
if($Cookies{username} eq ""){ 
&okview("对不起,您目前的身份是访客,请先登陆!");exit; 
} 
open(TITLESyu,"$filepath/yhzl/$Cookies{username}.cgi"); 
$ayu=; 
close(TITLESyu); 
($rpass)=split(/\t/,$ayu); 
if($rpass ne $Cookies{password}){&okview("您的密码错误!");} 
########## 
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'}; 
if($menu eq "rating"){&rating;exit;} 
else{ 
if ($FORM{'selname'} eq ""){&okview("对不起,用户名不能为空!");} 
open (TMP,"$filepath/yhzl/$FORM{'selname'}.cgi"); 
$line=; 
close(TMP); 
($rdpassword,$rusername,$rdmail,$rdhome,$rlast,$rdqm,$rdsex,$rdwork,$rdcity,$rdlove,$rfy,$rhf,$tu,$jiao,$iewin,$QQ,$photo,$rating,$levelname,$level)=split(/\t/,$line); 
if($rating eq ""){$rating=0;} 
if ($rating > 9){$sel="减少威望";} 
elsif ($rating < -9){$sel="增加威望";}else{$sel="增加威望减少威望";} 
&css; 
print < 

$rusername的威望是:$rating

$sel

操作者:$Cookies{username} 
EOF exit; } ################ sub rating{ unless ( -e "$filepath/yhzl/$FORM{'selname'}.cgi"){&okview("社区不存在此用户的数据!");} unless ( -e "$filepath/list/$FORM{'id'}/$FORM{'slttitle'}"){&okview("社区不存在此贴子的数据!");} open (FILE, "$filepath/data/rank"); @rank1 = ; close(FILE); foreach $ranks1 (@rank1) { chomp($ranks1); if ($ranks1 eq $Cookies{username}){$rankss1="ok";} if ($ranks1 eq $FORM{'selname'}){$rankss2="ok";} } if($rankss2 eq ok){&okview("对不起,不能给管理人员加减威望!");} if($rankss1 ne ok && $Cookies{username} ne $admname){&okview("对不起,您没有此项操作的权限!");} open(PSD,"$filepath/yhzl/$FORM{'selname'}.cgi"); $line=; close(PSD); ($rdpassword,$rusername,$rdmail,$rdhome,$rlast,$rdqm,$rdsex,$rdwork,$rdcity,$rdlove,$rfy,$rhf,$tu,$jiao,$iewin,$QQ,$photo,$rating,$levelname,$level,$lastlytime,$lastlytopic,$realname,$birthday,$shengxiao,$blood,$constellation,$character,$belief,$marital,$education,$college)=split(/\t/,$line); if ($rating eq ""){$rating=0;} $oldrat=$rating; if ($FORM{'rat'} eq "add"){$rating=$rating+1;} elsif ($FORM{'rat'} eq "del"){$rating=$rating-1;} else {&okview("对不起,威望值输入不正确!");} if (($rating > 10)||($rating < -10)){&okview("威望值只能介于-10和10之间!");} open(PSD,">$filepath/yhzl/$FORM{'selname'}.cgi"); print PSD $rdpassword."\t".$rusername."\t".$rdmail."\t".$rdhome."\t".$rlast."\t".$rdqm."\t".$rdsex."\t".$rdwork."\t".$rdcity."\t".$rdlove."\t".$rfy."\t".$rhf."\t".$tu."\t".$jiao."\t$iewin\t".$QQ."\t".$photo."\t".$rating."\t".$levelname."\t".$level."\t".$lastlytime."\t"."$lastlytopic\t".$realname."\t".$birthday."\t".$shengxiao."\t".$blood."\t".$constellation."\t".$character."\t".$belief."\t".$marital."\t".$education."\t".$college; close(PSD); open(TEMP,"$filepath/data/rating"); @hastitless=; close(TEMP); if (length($FORM{'ttitle'}) > 20) {$FORM{'ttitle'} = substr($FORM{'ttitle'},0,20);$FORM{'ttitle'}.="...";} open(TMP,">$filepath/data/rating")||&okview("系统无法建立文件,请检查 $filepath/data 目录属性是否为“777”"); print TMP "$FORM{'selname'}\t$oldrat\t$rating\t$Cookies{username}\t$FORM{'ttitle'}\t$thistime\n"; for($i=0;$i<=18;$i++){$m=@hastitless[$i];print TMP "$m";} close(TMP); chmod(0666,"$filepath/data/rating"); print "Content-type: text/html\n\n"; print ""; exit; } ######################### END OF SCRIPT #########################